aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/auto/auto.pro2
-rw-r--r--tests/auto/declarative/declarative.pro26
-rw-r--r--tests/auto/declarative/examples/examples.pro1
-rw-r--r--tests/auto/declarative/examples/tst_examples.cpp42
-rw-r--r--tests/auto/declarative/geometry/geometry.pro11
-rw-r--r--tests/auto/declarative/geometry/tst_geometry.cpp181
-rw-r--r--tests/auto/declarative/moduleqt47/moduleqt47.pro1
-rw-r--r--tests/auto/declarative/node/nodes.pro11
-rw-r--r--tests/auto/declarative/node/tst_nodestest.cpp354
-rw-r--r--tests/auto/declarative/parserstress/parserstress.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeanchors/tst_qdeclarativeanchors.cpp1
-rw-r--r--tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeapplication/qdeclarativeapplication.pro1
-rw-r--r--tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro1
-rw-r--r--tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp1
-rw-r--r--tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro1
-rw-r--r--tests/auto/declarative/qdeclarativecontext/qdeclarativecontext.pro1
-rw-r--r--tests/auto/declarative/qdeclarativedebug/qdeclarativedebug.pro1
-rw-r--r--tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp70
-rw-r--r--tests/auto/declarative/qdeclarativedebugclient/qdeclarativedebugclient.pro1
-rw-r--r--tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativedebughelper/qdeclarativedebughelper.pro1
-rw-r--r--tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro1
-rw-r--r--tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativedom/data/MyComponent.qml4
-rw-r--r--tests/auto/declarative/qdeclarativedom/data/MyItem.qml4
-rw-r--r--tests/auto/declarative/qdeclarativedom/data/import/Bar.qml2
-rw-r--r--tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml2
-rw-r--r--tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir2
-rw-r--r--tests/auto/declarative/qdeclarativedom/data/top.qml6
-rw-r--r--tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro16
-rw-r--r--tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp1326
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/Scope6Nested.qml7
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.1.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.2.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.3.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.4.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlots.qml27
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/SpecialRectangleOne.qml9
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/SpecialRectangleTwo.qml9
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importFive.js3
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importFour.js9
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importOne.js13
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importPragmaLibrary.js9
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importThree.js9
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importTwo.js10
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importWithNoImports.js11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImport.qml14
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImportPragmaLibrary.qml20
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImportScoping.qml11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testModuleImport.js8
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testScriptImport.js11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failFive.qml11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failFour.qml7
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failOne.qml7
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failThree.qml8
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failTwo.qml7
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importOne.js7
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importPragmaLibrary.js11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importWithImports.js13
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testImportPragmaLibrary.qml8
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testModuleImport.js8
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testScriptImport.js11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/moduleApi.qml23
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/moduleApiCaching.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/moduleApiMajorVersionFail.qml10
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/moduleApiMinorVersionFail.qml10
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/moduleApiWriting.qml27
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/realToInt.qml11
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/ScarceResourceSignalComponent.qml9
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopy.qml15
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyFromJs.qml15
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImport.js24
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImport.qml18
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportFail.js18
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportFail.qml8
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportNoBinding.js14
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportNoBinding.qml12
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyNoBinding.qml14
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceDestroyedCopy.qml14
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceFunction.qml23
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceFunctionFail.qml23
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceSignal.qml29
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTest.js48
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTest.qml14
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTestMultiple.qml16
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTestPreserve.qml15
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scope.5.qml27
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/data/scope.6.qml10
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp44
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/testtypes.h54
-rw-r--r--tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp457
-rw-r--r--tests/auto/declarative/qdeclarativeengine/qdeclarativeengine.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeerror/qdeclarativeerror.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro1
-rw-r--r--tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro1
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/data/resetFiltering.qml5
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/data/resetfiltering/innerdir/test2.txt1
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/data/resetfiltering/test.txt1
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro1
-rw-r--r--tests/auto/declarative/qdeclarativefolderlistmodel/tst_qdeclarativefolderlistmodel.cpp36
-rw-r--r--tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro1
-rw-r--r--tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp10
-rw-r--r--tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro1
-rw-r--r--tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp12
-rw-r--r--tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp19
-rw-r--r--tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp4
-rw-r--r--tests/auto/declarative/qdeclarativeinfo/data/NestedComponent.qml23
-rw-r--r--tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeinfo/tst_qdeclarativeinfo.cpp24
-rw-r--r--tests/auto/declarative/qdeclarativeinstruction/qdeclarativeinstruction.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp531
-rw-r--r--tests/auto/declarative/qdeclarativeitem/data/keynavigationtest_implicit.qml68
-rw-r--r--tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp127
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/propertyInit.1.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/propertyInit.2.qml6
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/wrongType.17.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/data/wrongType.17.qml5
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro1
-rw-r--r--tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp37
-rw-r--r--tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro1
-rw-r--r--tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro1
-rw-r--r--tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp13
-rw-r--r--tests/auto/declarative/qdeclarativelistreference/qdeclarativelistreference.pro1
-rw-r--r--tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro1
-rw-r--r--tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp25
-rw-r--r--tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemetatype/qdeclarativemetatype.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/implicitQmldir.errors.txt1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/qmldir2
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/temptest.qml14
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/Test.qml5
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/implicitQmldir.2.errors.txt3
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/qmldir3
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/temptest2.qml8
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/plugin.2.1.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/plugin.2.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/pluginMixed.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/pluginVersion.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/pluginWithQmlFile.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp51
-rw-r--r--tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/data/preventContextMenu.qml22
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro1
-rw-r--r--tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp63
-rw-r--r--tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeparticles/tst_qdeclarativeparticles.cpp8
-rw-r--r--tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro1
-rw-r--r--tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp3
-rw-r--r--tests/auto/declarative/qdeclarativepincharea/qdeclarativepincharea.pro1
-rw-r--r--tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro1
-rw-r--r--tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp9
-rw-r--r--tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro1
-rw-r--r--tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp14
-rw-r--r--tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro1
-rw-r--r--tests/auto/declarative/qdeclarativepropertymap/qdeclarativepropertymap.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp8
-rw-r--r--tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro1
-rw-r--r--tests/auto/declarative/qdeclarativescriptdebugging/qdeclarativescriptdebugging.pro1
-rw-r--r--tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro1
-rw-r--r--tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp4
-rw-r--r--tests/auto/declarative/qdeclarativespringanimation/qdeclarativespringanimation.pro1
-rw-r--r--tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro3
-rw-r--r--tests/auto/declarative/qdeclarativesqldatabase/tst_qdeclarativesqldatabase.cpp18
-rw-r--r--tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro1
-rw-r--r--tests/auto/declarative/qdeclarativestyledtext/qdeclarativestyledtext.pro1
-rw-r--r--tests/auto/declarative/qdeclarativesystempalette/qdeclarativesystempalette.pro1
-rw-r--r--tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro1
-rw-r--r--tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp110
-rw-r--r--tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro1
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro1
-rw-r--r--tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp8
-rw-r--r--tests/auto/declarative/qdeclarativetimer/qdeclarativetimer.pro1
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/conditionalExpr.qml6
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/doubleBoolJump.qml18
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/fetchException.qml6
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/logicalOr.2.qml6
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/logicalOr.qml6
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/nestedObjectAccess.qml5
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/nullQObject.qml7
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/qrealToIntRounding.qml10
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/subscriptionsInConditionalExpressions.qml11
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/unaryMinus.qml18
-rw-r--r--tests/auto/declarative/qdeclarativev4/data/unnecessaryReeval.qml7
-rw-r--r--tests/auto/declarative/qdeclarativev4/qdeclarativev4.pro19
-rw-r--r--tests/auto/declarative/qdeclarativev4/testtypes.cpp49
-rw-r--r--tests/auto/declarative/qdeclarativev4/testtypes.h83
-rw-r--r--tests/auto/declarative/qdeclarativev4/tst_qdeclarativev4.cpp244
-rw-r--r--tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeview/tst_qdeclarativeview.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro1
-rw-r--r--tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro1
-rw-r--r--tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro1
-rw-r--r--tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro1
-rw-r--r--tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp2
-rw-r--r--tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro1
-rw-r--r--tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp5
-rw-r--r--tests/auto/declarative/qmetaobjectbuilder/qmetaobjectbuilder.pro1
-rw-r--r--tests/auto/declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp22
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/basic1.qml30
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/basic2.qml34
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/basic3.qml32
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/basic4.qml36
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic1.0.pngbin948 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic1.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic2.0.pngbin948 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic3.0.pngbin948 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic3.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic4.0.pngbin948 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/basic4.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.0.pngbin680 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.1.pngbin680 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.2.pngbin704 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.3.pngbin695 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.4.pngbin680 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.5.pngbin710 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.6.pngbin705 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/enforcerange.qml2119
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.pngbin976 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.1.pngbin976 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.2.pngbin986 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.3.pngbin977 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.4.pngbin977 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.5.pngbin977 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.6.pngbin990 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.7.pngbin976 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml2203
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.0.pngbin1525 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.1.pngbin1647 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.2.pngbin1584 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.3.pngbin1648 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.4.pngbin1613 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.5.pngbin1663 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.6.pngbin1666 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.7.pngbin1579 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.8.pngbin1579 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/data/listview.qml2227
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/enforcerange.qml31
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/itemlist.qml40
-rw-r--r--tests/auto/declarative/qmlvisual/ListView/listview.qml86
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.pngbin766 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.1.pngbin797 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.2.pngbin794 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.3.pngbin822 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.4.pngbin801 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.5.pngbin803 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.6.pngbin774 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml1767
-rw-r--r--tests/auto/declarative/qmlvisual/Package_Views/packageviews.qml82
-rw-r--r--tests/auto/declarative/qmlvisual/TEST_GUIDELINES7
-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/bindinganimation.qml36
-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.pngbin832 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.1.pngbin830 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.2.pngbin829 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.3.pngbin830 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.4.pngbin830 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.5.pngbin832 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml1055
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/colorAnimation-visual.qml41
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.pngbin622 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.pngbin627 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.pngbin626 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.3.pngbin625 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml951
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.0.pngbin622 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.1.pngbin627 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.2.pngbin626 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.3.pngbin625 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.qml951
-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.pngbin1267 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/data/easing.1.pngbin1648 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/data/easing.2.pngbin1617 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/data/easing.3.pngbin1267 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml863
-rw-r--r--tests/auto/declarative/qmlvisual/animation/easing/easing.qml194
-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.pngbin502 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.1.pngbin508 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.2.pngbin507 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.3.pngbin508 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.4.pngbin508 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.5.pngbin507 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.6.pngbin508 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml1471
-rw-r--r--tests/auto/declarative/qmlvisual/animation/loop/loop.qml24
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.0.pngbin379 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.qml243
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parallelAnimation/parallelAnimation-visual.qml52
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.0.pngbin1635 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.1.pngbin1619 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.2.pngbin1586 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.3.pngbin1635 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.4.pngbin1653 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml1223
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation-visual.qml68
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.pngbin2011 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.1.pngbin2047 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.2.pngbin2058 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.3.pngbin2052 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml1023
-rw-r--r--tests/auto/declarative/qmlvisual/animation/parentAnimation2/parentAnimation2.qml64
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.0.pngbin3224 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.1.pngbin3226 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.2.pngbin3229 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.3.pngbin3224 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.4.pngbin3226 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.5.pngbin3229 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.6.pngbin3229 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml1619
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.0.pngbin3211 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.1.pngbin3214 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.2.pngbin3209 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.3.pngbin3211 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.4.pngbin3214 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.5.pngbin3214 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml36
-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.0.pngbin336 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.1.pngbin335 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.2.pngbin344 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.3.pngbin336 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.qml815
-rw-r--r--tests/auto/declarative/qmlvisual/animation/propertyAction/propertyAction-visual.qml40
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.pngbin1131 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.1.pngbin1135 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.2.pngbin1141 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.3.pngbin1147 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.4.pngbin1132 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml1107
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug10586/qtbug10586.qml23
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.0.pngbin1281 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.1.pngbin1265 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.qml447
-rw-r--r--tests/auto/declarative/qmlvisual/animation/qtbug13398/qtbug13398.qml68
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.1.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.2.pngbin642 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.3.pngbin647 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.4.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.5.pngbin646 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.6.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.7.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.8.pngbin647 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.9.pngbin642 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml2471
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchor/reanchor.qml69
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.0.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.1.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.10.pngbin647 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.11.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.12.pngbin636 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.2.pngbin636 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.3.pngbin647 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.4.pngbin641 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.5.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.6.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.7.pngbin636 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.8.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.9.pngbin637 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.qml1499
-rw-r--r--tests/auto/declarative/qmlvisual/animation/reanchorRTL/reanchor.qml69
-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.0.pngbin334 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.1.pngbin335 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.2.pngbin335 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.qml515
-rw-r--r--tests/auto/declarative/qmlvisual/animation/scriptAction/scriptAction-visual.qml40
-rw-r--r--tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.pngbin16855 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/fillmode/data/fillmode.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/fillmode/face.pngbin1011 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/fillmode/fillmode.qml21
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.0.pngbin1974 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.1.pngbin1968 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.2.pngbin1968 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.3.pngbin1974 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test.qml923
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test2.0.pngbin439 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test2.1.pngbin439 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test2.qml323
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.0.pngbin487 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.1.pngbin509 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.2.pngbin491 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.3.pngbin499 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.4.pngbin487 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/data/test3.qml1327
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/test.qml81
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/test2.qml38
-rw-r--r--tests/auto/declarative/qmlvisual/focusscope/test3.qml52
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated-smooth.qml66
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated.qml58
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/borders.qml18
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/MyBorderImage.qml38
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/bw.pngbin1357 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-round.sci7
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-stretch.sci5
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors.pngbin713 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/qmldir1
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.pngbin4686 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.1.pngbin25454 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml319
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.pngbin4686 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.1.pngbin9642 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml343
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.0.pngbin28741 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.0.pngbin1439 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.1.pngbin1424 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.2.pngbin1428 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.3.pngbin1396 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.4.pngbin1454 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.qml1575
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.pngbin1436 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.pngbin1426 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.pngbin1429 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.pngbin1395 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.pngbin1454 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml1575
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.0.pngbin1710 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.1.pngbin1710 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.2.pngbin1727 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.3.pngbin1727 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.4.pngbin1727 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.5.pngbin1731 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.qml2159
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.pngbin1070 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.pngbin1064 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.pngbin1079 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.pngbin1079 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.pngbin1057 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.pngbin1080 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.pngbin1030 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.pngbin1070 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.pngbin1055 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml3647
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-horizontal.qml37
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-nested.qml50
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-vertical.qml90
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.pngbin942 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.1.pngbin1111 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.2.pngbin1152 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.3.pngbin976 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.4.pngbin1096 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.5.pngbin1154 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.6.pngbin984 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml1623
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.0.pngbin1649 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.qml207
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/test-flipable.qml79
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeflipable/test_flipable_resize.qml62
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.pngbin1318 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.1.pngbin1318 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.10.pngbin1318 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.2.pngbin1332 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.3.pngbin1331 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.4.pngbin1321 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.5.pngbin1325 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.6.pngbin1321 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.7.pngbin1341 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.8.pngbin1341 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.9.pngbin1359 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml2859
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.pngbin1325 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.1.pngbin1325 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.10.pngbin1313 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.2.pngbin1337 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.3.pngbin1360 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.4.pngbin1406 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.5.pngbin1337 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.6.pngbin1340 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.7.pngbin1327 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.8.pngbin1353 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.9.pngbin1325 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml2479
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview.qml51
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml62
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.0.pngbin1578 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.1.pngbin1578 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.2.pngbin1585 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.3.pngbin1568 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.4.pngbin1578 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.5.pngbin1583 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.6.pngbin1581 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.7.pngbin1582 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.8.pngbin1581 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.qml5207
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.0.pngbin1701 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.1.pngbin1701 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.10.pngbin1701 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.11.pngbin1721 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.12.pngbin1705 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.13.pngbin1705 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.14.pngbin1701 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.2.pngbin1701 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.3.pngbin1704 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.4.pngbin1704 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.5.pngbin1705 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.6.pngbin1705 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.7.pngbin1701 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.8.pngbin1701 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.9.pngbin1705 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.qml5127
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.0.pngbin486 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.1.pngbin486 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.10.pngbin494 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.11.pngbin494 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.12.pngbin494 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.13.pngbin494 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.14.pngbin494 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.15.pngbin494 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.2.pngbin489 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.3.pngbin489 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.4.pngbin489 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.5.pngbin496 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.6.pngbin496 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.7.pngbin496 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.8.pngbin496 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.9.pngbin494 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.qml5867
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.0.pngbin471 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.1.pngbin474 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.10.pngbin479 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.11.pngbin479 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.12.pngbin479 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.13.pngbin479 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.14.pngbin479 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.15.pngbin479 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.16.pngbin1454 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.17.pngbin1454 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.18.pngbin1454 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.19.pngbin1454 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.2.pngbin474 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.20.pngbin1454 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.21.pngbin1454 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.22.pngbin1454 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.3.pngbin474 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.4.pngbin481 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.5.pngbin481 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.6.pngbin481 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.7.pngbin481 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.8.pngbin479 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.9.pngbin479 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.pngbin1360 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.pngbin1367 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.pngbin1367 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.pngbin1372 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.pngbin1382 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.pngbin1379 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.pngbin1390 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.pngbin1379 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.pngbin1380 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.pngbin1379 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml5039
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/drag.qml26
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-flickable.qml52
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-visual.qml135
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml62
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.pngbin1055 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.1.pngbin10086 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.2.pngbin14829 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.3.pngbin14095 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml775
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml56
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativeparticles/star.pngbin262 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.pngbin1114 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.pngbin1119 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.pngbin1102 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.pngbin1092 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.pngbin1140 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.pngbin1140 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml1855
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.pngbin1169 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.pngbin1172 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.pngbin1201 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.pngbin1164 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.pngbin1227 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.5.pngbin1184 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.pngbin1189 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml2567
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview-2.qml70
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml70
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.pngbin263 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.1.pngbin280 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.2.pngbin270 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.3.pngbin280 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.4.pngbin280 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.5.pngbin283 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.6.pngbin281 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml1603
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.pngbin1199 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.qml135
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/dynamic.qml70
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativepositioners/usingRepeater.qml16
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.pngbin1513 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.1.pngbin1537 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.2.pngbin1537 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.3.pngbin1537 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml795
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml128
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/clock.qml64
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/background.pngbin46895 -> 0 bytes
-rwxr-xr-xtests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/center.pngbin765 -> 0 bytes
-rwxr-xr-xtests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/clock.pngbin20653 -> 0 bytes
-rwxr-xr-xtests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/hour.pngbin625 -> 0 bytes
-rwxr-xr-xtests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/minute.pngbin625 -> 0 bytes
-rwxr-xr-xtests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/second.pngbin303 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.0.pngbin941 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.1.pngbin975 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.2.pngbin1235 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.3.pngbin1225 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.4.pngbin1247 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.5.pngbin1243 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.6.pngbin1234 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.7.pngbin1242 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.qml1763
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.0.pngbin950 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.1.pngbin983 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.2.pngbin1243 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.3.pngbin1235 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.4.pngbin1253 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.5.pngbin1249 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.6.pngbin1241 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.7.pngbin1251 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.qml1763
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.0.pngbin16333 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.1.pngbin16437 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.2.pngbin16543 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.qml615
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.pngbin941 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.1.pngbin975 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.2.pngbin1235 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.3.pngbin1225 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.4.pngbin1247 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.5.pngbin1243 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.6.pngbin1234 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.7.pngbin1242 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.qml1763
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativespringanimation/follow.qml79
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/justify.0.pngbin7233 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/justify.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.pngbin2388 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.qml247
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.pngbin762 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.qml247
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data/multilineAlign.0.pngbin1895 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/data/multilineAlign.qml247
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/justify.qml22
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/align/multilineAlign.qml25
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.0.pngbin1392 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.qml131
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.pngbin1313 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml131
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data/parentanchor.qml131
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/parentanchor.qml15
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/QTBUG-14469.qml23
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.0.pngbin210 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.1.pngbin270 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.qml475
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.0.pngbin210 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.qml475
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data/QTBUG-14469.0.pngbin422 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data/QTBUG-14469.qml475
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.pngbin1640 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.pngbin625 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.qml447
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.0.pngbin303 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.1.pngbin303 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.qml447
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data/qtbug_14865.0.pngbin1400 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/data/qtbug_14865.qml447
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.pngbin491 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.1.pngbin491 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml279
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.pngbin1240 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.pngbin1106 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.pngbin999 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.pngbin864 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.4.pngbin703 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml991
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.pngbin791 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.1.pngbin854 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml303
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.0.pngbin581 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.1.pngbin483 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml279
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.pngbin1189 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.1.pngbin1068 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.2.pngbin948 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.3.pngbin819 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.4.pngbin682 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.qml991
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.pngbin903 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.1.pngbin814 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.2.pngbin809 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.3.pngbin527 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.4.pngbin526 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.5.pngbin399 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml1323
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide.qml32
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide2.qml13
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/elide/multilength.qml20
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/BorderedText.qml9
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.pngbin14238 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.pngbin3481 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.pngbin53503 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.pngbin9321 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.0.pngbin10663 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.0.pngbin13140 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.0.pngbin1503 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.0.pngbin6368 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.0.pngbin9297 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.0.pngbin10626 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.0.pngbin77181 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext2.0.pngbin2778 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext3.0.pngbin53503 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext3.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.0.pngbin103375 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext2.0.pngbin10671 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml101
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext2.qml23
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext3.qml62
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml47
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext2.qml43
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines.0.pngbin343 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap.0.pngbin465 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap_elide.0.pngbin469 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap_elide.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap.0.pngbin557 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap_elide.0.pngbin537 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap_elide.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines.0.pngbin343 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap.0.pngbin465 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap_elide.0.pngbin469 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap_elide.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap.0.pngbin557 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap_elide.0.pngbin537 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap_elide.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines.qml13
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines_wrap.qml14
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines_wrap_elide.qml15
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/wrap.qml14
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/wrap_elide.qml15
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetext/qtbug_14865.qml18
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml76
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/cursorDelegate.qml36
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.pngbin1177 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.pngbin1254 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.pngbin1199 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.pngbin1198 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.pngbin1195 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.pngbin1197 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.6.pngbin3145 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.7.pngbin3146 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.8.pngbin3144 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.9.pngbin3135 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml1499
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/justify.0.pngbin7233 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/justify.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.pngbin737 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.pngbin740 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.pngbin746 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.pngbin739 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.4.pngbin737 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml1371
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.pngbin5123 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.pngbin5500 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.pngbin8641 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.pngbin8641 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.12.pngbin2037 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.pngbin6163 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.pngbin6785 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.pngbin6943 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.pngbin7043 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.pngbin7428 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.pngbin6860 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.pngbin8659 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.pngbin8641 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.qml4687
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.pngbin11626 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.pngbin11869 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.pngbin12264 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.pngbin12607 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.pngbin13243 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.pngbin13260 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.pngbin13260 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.7.pngbin4238 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.qml2467
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.0.pngbin1173 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.1.pngbin1249 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.2.pngbin1331 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.3.pngbin1212 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.4.pngbin1208 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.5.pngbin1213 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.6.pngbin3145 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.7.pngbin3146 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.8.pngbin3144 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.9.pngbin3135 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.qml1499
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.0.pngbin609 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.1.pngbin677 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.qml191
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.pngbin688 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.pngbin693 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.pngbin695 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.pngbin694 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.4.pngbin688 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.qml1371
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.0.pngbin1357 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.1.pngbin1371 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.pngbin2020 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.pngbin2020 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.pngbin2020 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.2.pngbin1451 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.3.pngbin1565 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.4.pngbin1691 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.5.pngbin1763 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.6.pngbin1779 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.pngbin1836 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.8.pngbin1825 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.pngbin2008 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml4687
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.pngbin3481 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.pngbin3606 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.pngbin3676 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.pngbin3754 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.pngbin3828 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.pngbin3927 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.pngbin3930 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.7.pngbin3943 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml2467
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.0.pngbin3171 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.1.pngbin3603 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.2.pngbin3152 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.3.pngbin3147 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.4.pngbin3145 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.5.pngbin3147 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.6.pngbin3145 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.7.pngbin3146 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.8.pngbin3144 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.9.pngbin3135 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.qml1499
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.0.pngbin850 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.1.pngbin859 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.2.pngbin1049 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.3.pngbin1051 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.4.pngbin698 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.5.pngbin698 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.6.pngbin1063 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.qml3551
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.0.pngbin609 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.1.pngbin677 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.qml191
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.0.pngbin4802 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.1.pngbin4804 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.2.pngbin4801 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.3.pngbin4791 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.qml1371
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.0.pngbin4006 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.1.pngbin4293 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.10.pngbin6074 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.11.pngbin6074 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.2.pngbin4683 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.3.pngbin5114 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.4.pngbin5270 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.5.pngbin5401 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.6.pngbin5591 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.7.pngbin5261 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.8.pngbin6072 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.9.pngbin6074 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.qml4687
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.0.pngbin1110 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.1.pngbin1110 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.2.pngbin1110 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.3.pngbin1110 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.4.pngbin1110 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.5.pngbin1110 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.6.pngbin1110 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.qml2467
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/flickableEdit.qml20
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/justify.qml22
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/linkActivated.qml15
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/qt-669.qml19
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/usingMultilineEdit.qml14
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml35
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml69
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/cursorDelegate.qml37
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.pngbin1177 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.pngbin1148 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.pngbin1312 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.pngbin1256 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.pngbin1197 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.pngbin1197 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.6.pngbin801 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.7.pngbin802 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.8.pngbin802 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml1551
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.pngbin703 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.pngbin1360 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.pngbin2031 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.3.pngbin539 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.qml1043
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.0.pngbin3987 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.qml107
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.0.pngbin1254 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.1.pngbin1328 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.10.pngbin1345 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.11.pngbin1433 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.2.pngbin1328 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.3.pngbin1328 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.4.pngbin1316 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.5.pngbin1318 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.6.pngbin1321 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.7.pngbin1316 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.8.pngbin1362 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.9.pngbin1423 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.qml4335
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.0.pngbin1173 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.1.pngbin1143 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.2.pngbin1312 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.3.pngbin1250 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.4.pngbin1193 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.5.pngbin1193 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.qml1551
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.pngbin358 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.1.pngbin446 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.2.pngbin553 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.3.pngbin622 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml1043
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.pngbin3685 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml107
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.0.pngbin573 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.1.pngbin573 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.2.pngbin573 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.3.pngbin647 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.4.pngbin647 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.5.pngbin625 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.qml1039
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.0.pngbin1265 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.1.pngbin1337 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.10.pngbin1389 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.pngbin1455 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.2.pngbin1337 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.3.pngbin1279 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.4.pngbin1368 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.5.pngbin1367 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.6.pngbin1377 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.7.pngbin1368 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.8.pngbin1384 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.9.pngbin1471 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml4335
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.qml1551
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.qml1043
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.0.pngbin850 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.1.pngbin1037 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.2.pngbin1042 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.3.pngbin850 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.4.pngbin850 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.5.pngbin632 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.6.pngbin830 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.7.pngbin849 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.qml3279
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.qml107
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/echoMode.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/flickableInput.qml21
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/hAlign.qml41
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/qtbug-15818.qml13
-rw-r--r--tests/auto/declarative/qmlvisual/qdeclarativetextinput/usingLineEdit.qml10
-rw-r--r--tests/auto/declarative/qmlvisual/qmlvisual.pro35
-rw-r--r--tests/auto/declarative/qmlvisual/rect/GradientRect.qml25
-rw-r--r--tests/auto/declarative/qmlvisual/rect/MyRect.qml21
-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/GradientRect.0.pngbin248 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/GradientRect.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/MyRect.0.pngbin135 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/MyRect.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.pngbin15366 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/rect/data/rect-painting.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/rect/rect-painting.qml55
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/basic1.qml31
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/basic2.qml35
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/basic3.qml33
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/basic4.qml37
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic1.0.pngbin707 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic1.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic2.0.pngbin707 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic2.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic3.0.pngbin707 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic3.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic4.0.pngbin707 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/repeater/data/basic4.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml356
-rw-r--r--tests/auto/declarative/qmlvisual/selftest_noimages/selftest_noimages.qml9
-rw-r--r--tests/auto/declarative/qmlvisual/shared/DejaVuSansMono.ttfbin237788 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/shared/README7
-rw-r--r--tests/auto/declarative/qmlvisual/shared/TestText.qml8
-rw-r--r--tests/auto/declarative/qmlvisual/shared/TestTextEdit.qml14
-rw-r--r--tests/auto/declarative/qmlvisual/shared/TestTextInput.qml14
-rw-r--r--tests/auto/declarative/qmlvisual/shared/qmldir3
-rw-r--r--tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp418
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/autosize.qml62
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.0.pngbin10185 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.1.pngbin10185 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.2.pngbin10185 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.3.pngbin10185 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.4.pngbin10185 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.0.pngbin10185 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.1.pngbin10185 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.2.pngbin10185 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.3.pngbin10185 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.4.pngbin10185 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.qml115
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.0.pngbin2812 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.1.pngbin2812 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.10.pngbin2829 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.2.pngbin3466 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.3.pngbin2812 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.4.pngbin2829 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.5.pngbin2829 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.6.pngbin2768 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.7.pngbin2829 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.8.pngbin2829 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.9.pngbin2829 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.qml6083
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/flickweb.qml35
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/qtlogo.pngbin2738 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/flickable/test.html3
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.0.pngbin7999 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.1.pngbin8020 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.2.pngbin8143 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.3.pngbin8158 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.4.pngbin8284 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.5.pngbin8284 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.6.pngbin8284 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.7.pngbin8284 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.8.pngbin8284 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.qml3759
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.0.pngbin7991 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.1.pngbin7991 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.2.pngbin7643 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.3.pngbin7733 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.4.pngbin8116 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.qml2643
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/evaluateJavaScript.qml33
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/test-objects.html12
-rw-r--r--tests/auto/declarative/qmlvisual/webview/javascript/windowObjects.qml28
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.0.pngbin3774 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.qml395
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.0.pngbin32180 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.qml339
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.0.pngbin6609 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.1.pngbin6609 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.qml595
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.0.pngbin12132 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.qml351
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/fontFamily.qml18
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/fontSize.qml72
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/noAutoLoadImages.qml22
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/qtlogo.pngbin2738 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/setFontFamily.qml12
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/tarzeau_ocr_a.ttfbin24544 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/test-img.html6
-rw-r--r--tests/auto/declarative/qmlvisual/webview/settings/test.html9
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/pageWidth.qml227
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.0.pngbin7589 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.qml415
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.0.pngbin6275 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.1.pngbin3553 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.2.pngbin5838 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.3.pngbin8005 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.4.pngbin6087 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.qml1319
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.0.pngbin5589 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.1.pngbin6848 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.qml655
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.0.pngbin735 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.1.pngbin735 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.2.pngbin735 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.3.pngbin735 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.qml2115
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/pageWidth.qml11
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/qtlogo.pngbin2738 -> 0 bytes
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/renderControl.html7
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/renderControl.qml22
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/resolution.html6
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/resolution.qml19
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.html7
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.qml17
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/zooming.html6
-rw-r--r--tests/auto/declarative/qmlvisual/webview/zooming/zooming.qml19
-rw-r--r--tests/auto/declarative/qpacketprotocol/qpacketprotocol.pro1
-rw-r--r--tests/auto/declarative/qperformancetimer/qperformancetimer.pro1
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/colors.gifbin0 -> 505 bytes
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/colors.qml5
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/hearts.gifbin0 -> 6524 bytes
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/hearts.qml6
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/qmldir1
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/qtbug-16520.qml17
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/stickman.gifbin0 -> 164923 bytes
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/stickman.qml5
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/stickmanerror1.qml6
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/stickmanpause.qml7
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/stickmanscaled.qml7
-rw-r--r--tests/auto/declarative/qsganimatedimage/data/stickmanstopped.qml6
-rw-r--r--tests/auto/declarative/qsganimatedimage/qsganimatedimage.pro18
-rw-r--r--tests/auto/declarative/qsganimatedimage/tst_qsganimatedimage.cpp379
-rw-r--r--tests/auto/declarative/qsgborderimage/data/colors-round-remote.sci7
-rw-r--r--tests/auto/declarative/qsgborderimage/data/colors-round.sci7
-rw-r--r--tests/auto/declarative/qsgborderimage/data/colors.pngbin0 -> 1655 bytes
-rw-r--r--tests/auto/declarative/qsgborderimage/data/heart200.pngbin0 -> 7943 bytes
-rw-r--r--tests/auto/declarative/qsgborderimage/data/invalid.sci7
-rw-r--r--tests/auto/declarative/qsgborderimage/data/mirror.qml8
-rw-r--r--tests/auto/declarative/qsgborderimage/qsgborderimage.pro19
-rw-r--r--tests/auto/declarative/qsgborderimage/tst_qsgborderimage.cpp377
-rw-r--r--tests/auto/declarative/qsgcanvas/qsgcanvas.pro8
-rw-r--r--tests/auto/declarative/qsgcanvas/tst_qsgcanvas.cpp437
-rw-r--r--tests/auto/declarative/qsgflickable/data/disabledcontent.qml8
-rw-r--r--tests/auto/declarative/qsgflickable/data/flickable01.qml4
-rw-r--r--tests/auto/declarative/qsgflickable/data/flickable02.qml14
-rw-r--r--tests/auto/declarative/qsgflickable/data/flickable03.qml14
-rw-r--r--tests/auto/declarative/qsgflickable/data/flickable04.qml22
-rw-r--r--tests/auto/declarative/qsgflickable/data/flickableqgraphicswidget.qml7
-rw-r--r--tests/auto/declarative/qsgflickable/data/nestedPressDelay.qml33
-rw-r--r--tests/auto/declarative/qsgflickable/data/resize.qml27
-rw-r--r--tests/auto/declarative/qsgflickable/data/wheel.qml25
-rw-r--r--tests/auto/declarative/qsgflickable/qsgflickable.pro18
-rw-r--r--tests/auto/declarative/qsgflickable/tst_qsgflickable.cpp466
-rw-r--r--tests/auto/declarative/qsgflipable/data/crash.qml9
-rw-r--r--tests/auto/declarative/qsgflipable/data/flipable-abort.qml10
-rw-r--r--tests/auto/declarative/qsgflipable/data/test-flipable.qml9
-rw-r--r--tests/auto/declarative/qsgflipable/qsgflipable.pro18
-rw-r--r--tests/auto/declarative/qsgflipable/tst_qsgflipable.cpp158
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/canvasFocus.qml22
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/chain.qml28
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/forceActiveFocus.qml26
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/forcefocus.qml81
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/qtBug13380.qml24
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/signalEmission.qml33
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/test.qml77
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/test2.qml39
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/test3.qml52
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/test4.qml76
-rw-r--r--tests/auto/declarative/qsgfocusscope/data/test5.qml84
-rw-r--r--tests/auto/declarative/qsgfocusscope/qsgfocusscope.pro14
-rw-r--r--tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp703
-rw-r--r--tests/auto/declarative/qsggridview/data/attachedSignals.qml27
-rw-r--r--tests/auto/declarative/qsggridview/data/displaygrid.qml39
-rw-r--r--tests/auto/declarative/qsggridview/data/footer.qml40
-rw-r--r--tests/auto/declarative/qsggridview/data/gridview-enforcerange.qml58
-rw-r--r--tests/auto/declarative/qsggridview/data/gridview-initCurrent.qml52
-rw-r--r--tests/auto/declarative/qsggridview/data/gridview-noCurrent.qml52
-rw-r--r--tests/auto/declarative/qsggridview/data/gridview1.qml66
-rw-r--r--tests/auto/declarative/qsggridview/data/gridview2.qml26
-rw-r--r--tests/auto/declarative/qsggridview/data/gridview3.qml6
-rw-r--r--tests/auto/declarative/qsggridview/data/header.qml40
-rw-r--r--tests/auto/declarative/qsggridview/data/manual-highlight.qml48
-rw-r--r--tests/auto/declarative/qsggridview/data/mirroring.qml43
-rw-r--r--tests/auto/declarative/qsggridview/data/propertychangestest.qml69
-rw-r--r--tests/auto/declarative/qsggridview/data/setindex.qml29
-rw-r--r--tests/auto/declarative/qsggridview/qsggridview.pro19
-rw-r--r--tests/auto/declarative/qsggridview/tst_qsggridview.cpp2187
-rw-r--r--tests/auto/declarative/qsgimage/data/aspectratio.qml6
-rw-r--r--tests/auto/declarative/qsgimage/data/big.jpegbin0 -> 1700081 bytes
-rw-r--r--tests/auto/declarative/qsgimage/data/big256.pngbin0 -> 3566 bytes
-rw-r--r--tests/auto/declarative/qsgimage/data/colors.pngbin0 -> 1655 bytes
-rw-r--r--tests/auto/declarative/qsgimage/data/colors1.pngbin0 -> 1655 bytes
-rw-r--r--tests/auto/declarative/qsgimage/data/green.pngbin0 -> 314 bytes
-rw-r--r--tests/auto/declarative/qsgimage/data/heart-win32.pngbin0 -> 12621 bytes
-rw-r--r--tests/auto/declarative/qsgimage/data/heart.pngbin0 -> 12577 bytes
-rw-r--r--tests/auto/declarative/qsgimage/data/heart.svg55
-rw-r--r--tests/auto/declarative/qsgimage/data/heart200-win32.pngbin0 -> 8062 bytes
-rw-r--r--tests/auto/declarative/qsgimage/data/heart200.pngbin0 -> 8063 bytes
-rw-r--r--tests/auto/declarative/qsgimage/data/htiling.qml11
-rw-r--r--tests/auto/declarative/qsgimage/data/mirror.qml11
-rw-r--r--tests/auto/declarative/qsgimage/data/nullpixmap.qml6
-rw-r--r--tests/auto/declarative/qsgimage/data/qtbug_16389.qml30
-rw-r--r--tests/auto/declarative/qsgimage/data/rect.pngbin0 -> 171 bytes
-rw-r--r--tests/auto/declarative/qsgimage/data/vtiling.qml11
-rw-r--r--tests/auto/declarative/qsgimage/qsgimage.pro18
-rw-r--r--tests/auto/declarative/qsgimage/tst_qsgimage.cpp693
-rw-r--r--tests/auto/declarative/qsgitem/qsgitem.pro8
-rw-r--r--tests/auto/declarative/qsgitem/tst_qsgitem.cpp812
-rw-r--r--tests/auto/declarative/qsgitem2/data/childrenProperty.qml14
-rw-r--r--tests/auto/declarative/qsgitem2/data/childrenRect.qml27
-rw-r--r--tests/auto/declarative/qsgitem2/data/childrenRectBug.qml23
-rw-r--r--tests/auto/declarative/qsgitem2/data/childrenRectBug2.qml53
-rw-r--r--tests/auto/declarative/qsgitem2/data/childrenRectBug3.qml15
-rw-r--r--tests/auto/declarative/qsgitem2/data/implicitsize.qml19
-rw-r--r--tests/auto/declarative/qsgitem2/data/keynavigationtest.qml87
-rw-r--r--tests/auto/declarative/qsgitem2/data/keynavigationtest_implicit.qml68
-rw-r--r--tests/auto/declarative/qsgitem2/data/keyspriority.qml9
-rw-r--r--tests/auto/declarative/qsgitem2/data/keystest.qml24
-rw-r--r--tests/auto/declarative/qsgitem2/data/layoutmirroring.qml54
-rw-r--r--tests/auto/declarative/qsgitem2/data/mapCoordinates.qml43
-rw-r--r--tests/auto/declarative/qsgitem2/data/mouseFocus.qml20
-rw-r--r--tests/auto/declarative/qsgitem2/data/propertychanges.qml10
-rw-r--r--tests/auto/declarative/qsgitem2/data/qtbug_16871.qml5
-rw-r--r--tests/auto/declarative/qsgitem2/data/resourcesProperty.qml21
-rw-r--r--tests/auto/declarative/qsgitem2/data/transformCrash.qml13
-rw-r--r--tests/auto/declarative/qsgitem2/qsgitem.pro19
-rw-r--r--tests/auto/declarative/qsgitem2/tst_qsgitem.cpp1322
-rw-r--r--tests/auto/declarative/qsglistview/data/attachedSignals.qml24
-rw-r--r--tests/auto/declarative/qsglistview/data/displaylist.qml50
-rw-r--r--tests/auto/declarative/qsglistview/data/footer.qml38
-rw-r--r--tests/auto/declarative/qsglistview/data/header.qml38
-rw-r--r--tests/auto/declarative/qsglistview/data/header1.qml33
-rw-r--r--tests/auto/declarative/qsglistview/data/headerfooter.qml26
-rw-r--r--tests/auto/declarative/qsglistview/data/itemlist.qml43
-rw-r--r--tests/auto/declarative/qsglistview/data/listview-enforcerange.qml55
-rw-r--r--tests/auto/declarative/qsglistview/data/listview-initCurrent.qml51
-rw-r--r--tests/auto/declarative/qsglistview/data/listview-noCurrent.qml50
-rw-r--r--tests/auto/declarative/qsglistview/data/listview-sections.qml64
-rw-r--r--tests/auto/declarative/qsglistview/data/listview-sections_delegate.qml69
-rw-r--r--tests/auto/declarative/qsglistview/data/listviewtest.qml133
-rw-r--r--tests/auto/declarative/qsglistview/data/manual-highlight.qml47
-rw-r--r--tests/auto/declarative/qsglistview/data/propertychangestest.qml71
-rw-r--r--tests/auto/declarative/qsglistview/data/qtbug14821.qml31
-rw-r--r--tests/auto/declarative/qsglistview/data/qtbug16037.qml37
-rw-r--r--tests/auto/declarative/qsglistview/data/rightToLeft.qml42
-rw-r--r--tests/auto/declarative/qsglistview/data/sizelessthan1.qml26
-rw-r--r--tests/auto/declarative/qsglistview/data/strictlyenforcerange.qml29
-rw-r--r--tests/auto/declarative/qsglistview/incrementalmodel.cpp89
-rw-r--r--tests/auto/declarative/qsglistview/incrementalmodel.h68
-rw-r--r--tests/auto/declarative/qsglistview/qsglistview.pro19
-rw-r--r--tests/auto/declarative/qsglistview/tst_qsglistview.cpp2725
-rw-r--r--tests/auto/declarative/qsgloader/data/AnchoredLoader.qml14
-rw-r--r--tests/auto/declarative/qsgloader/data/BlueRect.qml8
-rw-r--r--tests/auto/declarative/qsgloader/data/CreationContextLoader.qml15
-rw-r--r--tests/auto/declarative/qsgloader/data/GraphicsWidget250x250.qml5
-rw-r--r--tests/auto/declarative/qsgloader/data/GreenRect.qml7
-rw-r--r--tests/auto/declarative/qsgloader/data/NoResize.qml8
-rw-r--r--tests/auto/declarative/qsgloader/data/NoResizeGraphicsWidget.qml9
-rw-r--r--tests/auto/declarative/qsgloader/data/QTBUG_16928.qml23
-rw-r--r--tests/auto/declarative/qsgloader/data/QTBUG_17114.qml18
-rw-r--r--tests/auto/declarative/qsgloader/data/Rect120x60.qml6
-rw-r--r--tests/auto/declarative/qsgloader/data/SetSourceComponent.qml9
-rw-r--r--tests/auto/declarative/qsgloader/data/SizeGraphicsWidgetToLoader.qml7
-rw-r--r--tests/auto/declarative/qsgloader/data/SizeLoaderToGraphicsWidget.qml5
-rw-r--r--tests/auto/declarative/qsgloader/data/SizeToItem.qml5
-rw-r--r--tests/auto/declarative/qsgloader/data/SizeToLoader.qml6
-rw-r--r--tests/auto/declarative/qsgloader/data/VmeError.qml7
-rw-r--r--tests/auto/declarative/qsgloader/data/crash.qml14
-rw-r--r--tests/auto/declarative/qsgloader/data/creationContext.qml8
-rw-r--r--tests/auto/declarative/qsgloader/data/differentorigin.qml3
-rw-r--r--tests/auto/declarative/qsgloader/data/implicitSize.qml28
-rw-r--r--tests/auto/declarative/qsgloader/data/nonItem.qml5
-rw-r--r--tests/auto/declarative/qsgloader/data/qmldir1
-rw-r--r--tests/auto/declarative/qsgloader/data/sameorigin-load.qml3
-rw-r--r--tests/auto/declarative/qsgloader/data/sameorigin.qml3
-rw-r--r--tests/auto/declarative/qsgloader/data/vmeErrors.qml6
-rw-r--r--tests/auto/declarative/qsgloader/qsgloader.pro20
-rw-r--r--tests/auto/declarative/qsgloader/tst_qsgloader.cpp559
-rw-r--r--tests/auto/declarative/qsgmousearea/data/clickThrough.qml23
-rw-r--r--tests/auto/declarative/qsgmousearea/data/clickThrough2.qml32
-rw-r--r--tests/auto/declarative/qsgmousearea/data/clickandhold.qml13
-rw-r--r--tests/auto/declarative/qsgmousearea/data/clicktwice.qml16
-rw-r--r--tests/auto/declarative/qsgmousearea/data/doubleclick.qml16
-rw-r--r--tests/auto/declarative/qsgmousearea/data/dragging.qml28
-rw-r--r--tests/auto/declarative/qsgmousearea/data/dragproperties.qml28
-rw-r--r--tests/auto/declarative/qsgmousearea/data/dragreset.qml28
-rw-r--r--tests/auto/declarative/qsgmousearea/data/hoverPosition.qml17
-rw-r--r--tests/auto/declarative/qsgmousearea/data/pressedOrdering.qml28
-rw-r--r--tests/auto/declarative/qsgmousearea/data/preventstealing.qml24
-rw-r--r--tests/auto/declarative/qsgmousearea/data/rejectEvent.qml28
-rw-r--r--tests/auto/declarative/qsgmousearea/data/updateMousePosOnClick.qml20
-rw-r--r--tests/auto/declarative/qsgmousearea/data/updateMousePosOnResize.qml38
-rw-r--r--tests/auto/declarative/qsgmousearea/qsgmousearea.pro18
-rw-r--r--tests/auto/declarative/qsgmousearea/tst_qsgmousearea.cpp720
-rw-r--r--tests/auto/declarative/qsgpathview/data/closedPath.qml24
-rw-r--r--tests/auto/declarative/qsgpathview/data/datamodel.qml38
-rw-r--r--tests/auto/declarative/qsgpathview/data/displaypath.qml59
-rw-r--r--tests/auto/declarative/qsgpathview/data/dragpath.qml19
-rw-r--r--tests/auto/declarative/qsgpathview/data/emptymodel.qml5
-rw-r--r--tests/auto/declarative/qsgpathview/data/openPath.qml10
-rw-r--r--tests/auto/declarative/qsgpathview/data/pathUpdate.qml18
-rw-r--r--tests/auto/declarative/qsgpathview/data/pathUpdateOnStartChanged.qml38
-rw-r--r--tests/auto/declarative/qsgpathview/data/pathtest.qml14
-rw-r--r--tests/auto/declarative/qsgpathview/data/pathview0.qml84
-rw-r--r--tests/auto/declarative/qsgpathview/data/pathview1.qml4
-rw-r--r--tests/auto/declarative/qsgpathview/data/pathview2.qml57
-rw-r--r--tests/auto/declarative/qsgpathview/data/pathview3.qml59
-rw-r--r--tests/auto/declarative/qsgpathview/data/pathview_package.qml88
-rw-r--r--tests/auto/declarative/qsgpathview/data/propertychanges.qml116
-rw-r--r--tests/auto/declarative/qsgpathview/data/treemodel.qml19
-rw-r--r--tests/auto/declarative/qsgpathview/data/undefinedpath.qml17
-rw-r--r--tests/auto/declarative/qsgpathview/data/vdm.qml28
-rw-r--r--tests/auto/declarative/qsgpathview/qsgpathview.pro18
-rw-r--r--tests/auto/declarative/qsgpathview/tst_qsgpathview.cpp1077
-rw-r--r--tests/auto/declarative/qsgpincharea/data/pinchproperties.qml46
-rw-r--r--tests/auto/declarative/qsgpincharea/qsgpincharea.pro17
-rw-r--r--tests/auto/declarative/qsgpincharea/tst_qsgpincharea.cpp324
-rw-r--r--tests/auto/declarative/qsgpositioners/data/flow-testimplicitsize.qml19
-rw-r--r--tests/auto/declarative/qsgpositioners/data/flowtest-toptobottom.qml44
-rw-r--r--tests/auto/declarative/qsgpositioners/data/flowtest.qml43
-rw-r--r--tests/auto/declarative/qsgpositioners/data/grid-animated.qml64
-rw-r--r--tests/auto/declarative/qsgpositioners/data/grid-spacing.qml41
-rw-r--r--tests/auto/declarative/qsgpositioners/data/grid-toptobottom.qml41
-rw-r--r--tests/auto/declarative/qsgpositioners/data/gridtest.qml42
-rw-r--r--tests/auto/declarative/qsgpositioners/data/gridzerocolumns.qml40
-rw-r--r--tests/auto/declarative/qsgpositioners/data/horizontal-animated.qml44
-rw-r--r--tests/auto/declarative/qsgpositioners/data/horizontal-spacing.qml31
-rw-r--r--tests/auto/declarative/qsgpositioners/data/horizontal.qml29
-rw-r--r--tests/auto/declarative/qsgpositioners/data/propertychangestest.qml39
-rw-r--r--tests/auto/declarative/qsgpositioners/data/repeatertest.qml38
-rw-r--r--tests/auto/declarative/qsgpositioners/data/vertical-animated.qml41
-rw-r--r--tests/auto/declarative/qsgpositioners/data/vertical-spacing.qml28
-rw-r--r--tests/auto/declarative/qsgpositioners/data/vertical.qml27
-rw-r--r--tests/auto/declarative/qsgpositioners/qsgpositioners.pro18
-rw-r--r--tests/auto/declarative/qsgpositioners/tst_qsgpositioners.cpp1268
-rw-r--r--tests/auto/declarative/qsgrepeater/data/intmodel.qml29
-rw-r--r--tests/auto/declarative/qsgrepeater/data/itemlist.qml68
-rw-r--r--tests/auto/declarative/qsgrepeater/data/modelChanged.qml26
-rw-r--r--tests/auto/declarative/qsgrepeater/data/objlist.qml21
-rw-r--r--tests/auto/declarative/qsgrepeater/data/properties.qml11
-rw-r--r--tests/auto/declarative/qsgrepeater/data/repeater1.qml28
-rw-r--r--tests/auto/declarative/qsgrepeater/data/repeater2.qml36
-rw-r--r--tests/auto/declarative/qsgrepeater/qsgrepeater.pro16
-rw-r--r--tests/auto/declarative/qsgrepeater/tst_qsgrepeater.cpp697
-rw-r--r--tests/auto/declarative/qsgtext/data/alignments.qml41
-rw-r--r--tests/auto/declarative/qsgtext/data/alignments_cb.pngbin0 -> 496 bytes
-rw-r--r--tests/auto/declarative/qsgtext/data/alignments_cc.pngbin0 -> 556 bytes
-rw-r--r--tests/auto/declarative/qsgtext/data/alignments_ct.pngbin0 -> 533 bytes
-rw-r--r--tests/auto/declarative/qsgtext/data/alignments_lb.pngbin0 -> 496 bytes
-rw-r--r--tests/auto/declarative/qsgtext/data/alignments_lc.pngbin0 -> 535 bytes
-rw-r--r--tests/auto/declarative/qsgtext/data/alignments_lt.pngbin0 -> 514 bytes
-rw-r--r--tests/auto/declarative/qsgtext/data/alignments_rb.pngbin0 -> 505 bytes
-rw-r--r--tests/auto/declarative/qsgtext/data/alignments_rc.pngbin0 -> 559 bytes
-rw-r--r--tests/auto/declarative/qsgtext/data/alignments_rt.pngbin0 -> 539 bytes
-rw-r--r--tests/auto/declarative/qsgtext/data/embeddedImagesLocal.qml5
-rw-r--r--tests/auto/declarative/qsgtext/data/embeddedImagesLocalError.qml5
-rw-r--r--tests/auto/declarative/qsgtext/data/embeddedImagesRemote.qml5
-rw-r--r--tests/auto/declarative/qsgtext/data/embeddedImagesRemoteError.qml5
-rw-r--r--tests/auto/declarative/qsgtext/data/horizontalAlignment_RightToLeft.qml23
-rw-r--r--tests/auto/declarative/qsgtext/data/http/exists.png (renamed from tests/auto/declarative/qmlvisual/animation/pauseAnimation/pics/qtlogo.png)bin2738 -> 2738 bytes
-rw-r--r--tests/auto/declarative/qsgtext/data/lineCount.qml15
-rw-r--r--tests/auto/declarative/qsgtext/data/lineHeight.qml15
-rw-r--r--tests/auto/declarative/qsgtext/data/qtbug_14734.qml10
-rw-r--r--tests/auto/declarative/qsgtext/data/rotated.qml18
-rw-r--r--tests/auto/declarative/qsgtext/qsgtext.pro24
-rw-r--r--tests/auto/declarative/qsgtext/tst_qsgtext.cpp1392
-rw-r--r--tests/auto/declarative/qsgtextedit/data/CursorRect.qml8
-rw-r--r--tests/auto/declarative/qsgtextedit/data/alignments.qml41
-rw-r--r--tests/auto/declarative/qsgtextedit/data/alignments_cb.pngbin0 -> 496 bytes
-rw-r--r--tests/auto/declarative/qsgtextedit/data/alignments_cc.pngbin0 -> 556 bytes
-rw-r--r--tests/auto/declarative/qsgtextedit/data/alignments_ct.pngbin0 -> 533 bytes
-rw-r--r--tests/auto/declarative/qsgtextedit/data/alignments_lb.pngbin0 -> 496 bytes
-rw-r--r--tests/auto/declarative/qsgtextedit/data/alignments_lc.pngbin0 -> 535 bytes
-rw-r--r--tests/auto/declarative/qsgtextedit/data/alignments_lt.pngbin0 -> 514 bytes
-rw-r--r--tests/auto/declarative/qsgtextedit/data/alignments_rb.pngbin0 -> 505 bytes
-rw-r--r--tests/auto/declarative/qsgtextedit/data/alignments_rc.pngbin0 -> 559 bytes
-rw-r--r--tests/auto/declarative/qsgtextedit/data/alignments_rt.pngbin0 -> 539 bytes
-rw-r--r--tests/auto/declarative/qsgtextedit/data/cursorTest.qml8
-rw-r--r--tests/auto/declarative/qsgtextedit/data/cursorVisible.qml6
-rw-r--r--tests/auto/declarative/qsgtextedit/data/geometrySignals.qml12
-rw-r--r--tests/auto/declarative/qsgtextedit/data/horizontalAlignment_RightToLeft.qml23
-rw-r--r--tests/auto/declarative/qsgtextedit/data/http/ErrItem.qml7
-rw-r--r--tests/auto/declarative/qsgtextedit/data/http/NormItem.qml6
-rw-r--r--tests/auto/declarative/qsgtextedit/data/http/cursorHttpTest.qml22
-rw-r--r--tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestFail1.qml18
-rw-r--r--tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestFail2.qml18
-rw-r--r--tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestPass.qml18
-rw-r--r--tests/auto/declarative/qsgtextedit/data/http/qmldir4
-rw-r--r--tests/auto/declarative/qsgtextedit/data/httpfail/FailItem.qml5
-rw-r--r--tests/auto/declarative/qsgtextedit/data/httpslow/WaitItem.qml5
-rw-r--r--tests/auto/declarative/qsgtextedit/data/inputContext.qml7
-rw-r--r--tests/auto/declarative/qsgtextedit/data/inputMethodEvent.qml5
-rw-r--r--tests/auto/declarative/qsgtextedit/data/inputmethodhints.qml6
-rw-r--r--tests/auto/declarative/qsgtextedit/data/mouseselection_default.qml7
-rw-r--r--tests/auto/declarative/qsgtextedit/data/mouseselection_false.qml7
-rw-r--r--tests/auto/declarative/qsgtextedit/data/mouseselection_false_words.qml7
-rw-r--r--tests/auto/declarative/qsgtextedit/data/mouseselection_true.qml7
-rw-r--r--tests/auto/declarative/qsgtextedit/data/mouseselection_true_words.qml7
-rw-r--r--tests/auto/declarative/qsgtextedit/data/mouseselectionmode_characters.qml8
-rw-r--r--tests/auto/declarative/qsgtextedit/data/mouseselectionmode_default.qml7
-rw-r--r--tests/auto/declarative/qsgtextedit/data/mouseselectionmode_words.qml8
-rw-r--r--tests/auto/declarative/qsgtextedit/data/navigation.qml24
-rw-r--r--tests/auto/declarative/qsgtextedit/data/openInputPanel.qml6
-rw-r--r--tests/auto/declarative/qsgtextedit/data/positionAt.qml9
-rw-r--r--tests/auto/declarative/qsgtextedit/data/readOnly.qml12
-rw-r--r--tests/auto/declarative/qsgtextedit/qsgtextedit.pro17
-rw-r--r--tests/auto/declarative/qsgtextedit/tst_qsgtextedit.cpp2417
-rw-r--r--tests/auto/declarative/qsgtextinput/data/cursorTest.qml8
-rw-r--r--tests/auto/declarative/qsgtextinput/data/cursorVisible.qml6
-rw-r--r--tests/auto/declarative/qsgtextinput/data/echoMode.qml11
-rw-r--r--tests/auto/declarative/qsgtextinput/data/geometrySignals.qml12
-rw-r--r--tests/auto/declarative/qsgtextinput/data/halign_center.pngbin0 -> 293 bytes
-rw-r--r--tests/auto/declarative/qsgtextinput/data/halign_left.pngbin0 -> 291 bytes
-rw-r--r--tests/auto/declarative/qsgtextinput/data/halign_right.pngbin0 -> 292 bytes
-rw-r--r--tests/auto/declarative/qsgtextinput/data/horizontalAlignment.qml22
-rw-r--r--tests/auto/declarative/qsgtextinput/data/horizontalAlignment_RightToLeft.qml23
-rw-r--r--tests/auto/declarative/qsgtextinput/data/inputContext.qml8
-rw-r--r--tests/auto/declarative/qsgtextinput/data/inputMethodEvent.qml5
-rw-r--r--tests/auto/declarative/qsgtextinput/data/inputmethods.qml7
-rw-r--r--tests/auto/declarative/qsgtextinput/data/masks.qml7
-rw-r--r--tests/auto/declarative/qsgtextinput/data/maxLength.qml7
-rw-r--r--tests/auto/declarative/qsgtextinput/data/mouseselection_true.qml7
-rw-r--r--tests/auto/declarative/qsgtextinput/data/mouseselectionmode_characters.qml8
-rw-r--r--tests/auto/declarative/qsgtextinput/data/mouseselectionmode_default.qml7
-rw-r--r--tests/auto/declarative/qsgtextinput/data/mouseselectionmode_words.qml8
-rw-r--r--tests/auto/declarative/qsgtextinput/data/navigation.qml24
-rw-r--r--tests/auto/declarative/qsgtextinput/data/openInputPanel.qml6
-rw-r--r--tests/auto/declarative/qsgtextinput/data/positionAt.qml8
-rw-r--r--tests/auto/declarative/qsgtextinput/data/preeditAutoScroll.qml7
-rw-r--r--tests/auto/declarative/qsgtextinput/data/readOnly.qml12
-rw-r--r--tests/auto/declarative/qsgtextinput/data/validators.qml22
-rw-r--r--tests/auto/declarative/qsgtextinput/qsgtextinput.pro17
-rw-r--r--tests/auto/declarative/qsgtextinput/tst_qsgtextinput.cpp2491
-rw-r--r--tests/auto/declarative/qsgvisualdatamodel/data/datalist.qml18
-rw-r--r--tests/auto/declarative/qsgvisualdatamodel/data/modelproperties.qml19
-rw-r--r--tests/auto/declarative/qsgvisualdatamodel/data/modelproperties2.qml19
-rw-r--r--tests/auto/declarative/qsgvisualdatamodel/data/objectlist.qml19
-rw-r--r--tests/auto/declarative/qsgvisualdatamodel/data/singlerole1.qml10
-rw-r--r--tests/auto/declarative/qsgvisualdatamodel/data/singlerole2.qml10
-rw-r--r--tests/auto/declarative/qsgvisualdatamodel/data/visualdatamodel.qml11
-rw-r--r--tests/auto/declarative/qsgvisualdatamodel/qsgvisualdatamodel.pro18
-rw-r--r--tests/auto/declarative/qsgvisualdatamodel/tst_qsgvisualdatamodel.cpp549
-rw-r--r--tests/auto/qmltest/borderimage/InvalidSciFile.qml48
-rw-r--r--tests/auto/qmltest/borderimage/colors-round.sci7
-rw-r--r--tests/auto/qmltest/borderimage/colors.pngbin0 -> 1655 bytes
-rw-r--r--tests/auto/qmltest/borderimage/invalid.sci7
-rw-r--r--tests/auto/qmltest/borderimage/tst_borderimage.qml247
-rw-r--r--tests/auto/qmltest/buttonclick/Button.qml74
-rw-r--r--tests/auto/qmltest/buttonclick/tst_buttonclick.qml66
-rw-r--r--tests/auto/qmltest/createbenchmark/item.qml75
-rw-r--r--tests/auto/qmltest/createbenchmark/tst_createbenchmark.qml55
-rw-r--r--tests/auto/qmltest/events/tst_events.qml86
-rw-r--r--tests/auto/qmltest/qdeclarativebinding/tst_binding.qml75
-rw-r--r--tests/auto/qmltest/qdeclarativebinding/tst_binding2.qml70
-rw-r--r--tests/auto/qmltest/qmltest.pro13
-rw-r--r--tests/auto/qmltest/selftests/tst_compare.qml1391
-rw-r--r--tests/auto/qmltest/selftests/tst_compare_quickobjects.qml81
-rw-r--r--tests/auto/qmltest/selftests/tst_selftests.qml307
-rw-r--r--tests/auto/qmltest/tst_qmltest.cpp43
-rw-r--r--tests/benchmarks/declarative/binding/data/creation.txt9
-rw-r--r--tests/benchmarks/declarative/binding/data/objectproperty.txt1
-rw-r--r--tests/benchmarks/declarative/binding/tst_binding.cpp28
-rw-r--r--tests/benchmarks/declarative/compilation/tst_compilation.cpp74
-rw-r--r--tests/benchmarks/declarative/declarative.pro1
-rw-r--r--tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicFour.qml78
-rw-r--r--tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicOne.qml56
-rw-r--r--tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicThree.qml61
-rw-r--r--tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicTwo.qml68
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/Mlbsi.qml49
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/Mldsi.qml49
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/Mlsi.qml49
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/ModuleBm.qml49
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/Msbsi.qml49
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/Msdsi.qml49
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/Mssi.qml49
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/PragmaBm.qml55
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/PragmaModuleBm.qml51
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/Slsi.qml49
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/Sssi.qml49
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi.js133
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi1.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi10.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi11.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi12.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi13.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi14.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi15.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi2.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi3.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi4.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi5.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi6.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi7.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi8.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlbsi9.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi.js105
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi1.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi10.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi11.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi12.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi13.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi14.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi15.js104
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi2.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi3.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi4.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi5.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi6.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi7.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi8.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mldsi9.js107
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mlsi.js138
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/moduleBm.js109
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi.js79
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi1.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi10.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi11.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi12.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi13.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi14.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi15.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi2.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi3.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi4.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi5.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi6.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi7.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi8.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msbsi9.js53
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi.js51
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi1.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi10.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi11.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi12.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi13.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi14.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi15.js49
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi2.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi3.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi4.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi5.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi6.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi7.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi8.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/msdsi9.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/mssi.js84
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/pragmaBmOne.js50
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/pragmaBmTwo.js50
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/pragmaLib.js119
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/pragmaModuleBm.js57
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/slsi.js108
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsImports/sssi.js52
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsTargets/JsOne.qml61
-rw-r--r--tests/benchmarks/declarative/holistic/data/jsTargets/JsTwo.qml118
-rw-r--r--tests/benchmarks/declarative/holistic/data/largeTargets/gridview-example.qml91
-rw-r--r--tests/benchmarks/declarative/holistic/data/largeTargets/layoutdirection.qml151
-rw-r--r--tests/benchmarks/declarative/holistic/data/largeTargets/mousearea-example.qml112
-rw-r--r--tests/benchmarks/declarative/holistic/data/resolutionTargets/ResolveOne.qml111
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/CppToJs.qml52
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/CppToQml.qml48
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppEight.qml54
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppEleven.qml57
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppFive.qml54
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppFour.qml55
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppNine.qml56
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppOne.qml55
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppSeven.qml54
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppSix.qml54
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppTen.qml56
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppThree.qml55
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppTwo.qml55
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/ScarceOne.qml57
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/ScarceTwo.qml52
-rw-r--r--tests/benchmarks/declarative/holistic/data/scopeSwitching/cppToJs.js49
-rw-r--r--tests/benchmarks/declarative/holistic/data/smallTargets/SmallFour.qml49
-rw-r--r--tests/benchmarks/declarative/holistic/data/smallTargets/SmallOne.qml51
-rw-r--r--tests/benchmarks/declarative/holistic/data/smallTargets/SmallThree.qml51
-rw-r--r--tests/benchmarks/declarative/holistic/data/smallTargets/SmallTwo.qml51
-rw-r--r--tests/benchmarks/declarative/holistic/holistic.pro19
-rw-r--r--tests/benchmarks/declarative/holistic/testtypes.cpp98
-rw-r--r--tests/benchmarks/declarative/holistic/testtypes.h355
-rw-r--r--tests/benchmarks/declarative/holistic/tst_holistic.cpp612
-rw-r--r--tests/benchmarks/declarative/script/data/enums.qml51
-rw-r--r--tests/benchmarks/declarative/script/data/namespacedEnums.qml52
-rw-r--r--tests/benchmarks/declarative/script/data/script.js1
-rw-r--r--tests/benchmarks/declarative/script/data/script2.js2
-rw-r--r--tests/benchmarks/declarative/script/data/scriptCall.qml54
-rw-r--r--tests/benchmarks/declarative/script/tst_script.cpp107
1592 files changed, 44407 insertions, 168426 deletions
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
index 1edeaaa956..2543261eeb 100644
--- a/tests/auto/auto.pro
+++ b/tests/auto/auto.pro
@@ -2,4 +2,6 @@ TEMPLATE=subdirs
SUBDIRS=\
declarative \
+contains(QT_CONFIG, qmltest): SUBDIRS += qmltest
+
!cross_compile: SUBDIRS += host.pro
diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro
index 98e15e8b0e..20fa8548fd 100644
--- a/tests/auto/declarative/declarative.pro
+++ b/tests/auto/declarative/declarative.pro
@@ -23,7 +23,6 @@ SUBDIRS += \
qdeclarativeview \
qdeclarativeviewer \
qdeclarativexmlhttprequest \
- qmlvisual \
moduleqt47
contains(QT_CONFIG, private_tests) {
@@ -39,7 +38,6 @@ contains(QT_CONFIG, private_tests) {
qdeclarativedebug \
qdeclarativedebugclient \
qdeclarativedebugservice \
- qdeclarativedom \
qdeclarativeecmascript \
qdeclarativeflickable \
qdeclarativeflipable \
@@ -75,7 +73,29 @@ contains(QT_CONFIG, private_tests) {
qdeclarativevisualdatamodel \
qdeclarativeworkerscript \
qdeclarativexmllistmodel \
- qpacketprotocol
+ qpacketprotocol \
+ qdeclarativev4 \
+ qsganimatedimage \
+ qsgborderimage \
+ qsgcanvas \
+ qsgflickable \
+ qsgflipable \
+ qsgfocusscope \
+ qsggridview \
+ qsgimage \
+ qsgitem \
+ qsglistview \
+ qsgloader \
+ qsgmousearea \
+ qsgpathview \
+ qsgpincharea \
+ qsgpositioners \
+ qsgrepeater \
+ qsgtext \
+ qsgtextedit \
+ qsgtextinput \
+ qsgvisualdatamodel
+
}
# Tests which should run in Pulse
diff --git a/tests/auto/declarative/examples/examples.pro b/tests/auto/declarative/examples/examples.pro
index fa632f031b..5b02c36ae9 100644
--- a/tests/auto/declarative/examples/examples.pro
+++ b/tests/auto/declarative/examples/examples.pro
@@ -18,3 +18,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/examples/tst_examples.cpp b/tests/auto/declarative/examples/tst_examples.cpp
index b696716c27..c3e13bddd1 100644
--- a/tests/auto/declarative/examples/tst_examples.cpp
+++ b/tests/auto/declarative/examples/tst_examples.cpp
@@ -45,6 +45,7 @@
#include <QDebug>
#include "qmlruntime.h"
#include <QDeclarativeView>
+#include <QSGView>
#include <QDeclarativeError>
#ifdef Q_OS_SYMBIAN
@@ -61,10 +62,11 @@ public:
private slots:
void examples_data();
void examples();
+ void sgexamples_data();
+ void sgexamples();
void namingConvention();
private:
- QString qmlruntime;
QStringList excludedDirs;
void namingConvention(const QDir &);
@@ -73,24 +75,15 @@ private:
tst_examples::tst_examples()
{
- QString binaries = QLibraryInfo::location(QLibraryInfo::BinariesPath);
-
-#if defined(Q_WS_MAC)
- qmlruntime = QDir(binaries).absoluteFilePath("qml.app/Contents/MacOS/qml");
-#elif defined(Q_WS_WIN)
- qmlruntime = QDir(binaries).absoluteFilePath("qml.exe");
-#else
- qmlruntime = QDir(binaries).absoluteFilePath("qml");
-#endif
-
-
// Add directories you want excluded here
excludedDirs << "doc/src/snippets/declarative/visualdatamodel_rootindex";
excludedDirs << "doc/src/snippets/declarative/qtbinding";
+ excludedDirs << "doc/src/snippets/declarative/imports";
#ifdef QT_NO_WEBKIT
excludedDirs << "examples/declarative/modelviews/webview";
excludedDirs << "demos/declarative/webbrowser";
+ excludedDirs << "doc/src/snippets/declarative/webview";
#endif
#ifdef QT_NO_XMLPATTERNS
@@ -225,6 +218,31 @@ void tst_examples::examples()
QTest::qWaitForWindowShown(&viewer);
}
+void tst_examples::sgexamples_data()
+{
+ examples_data();
+}
+
+void tst_examples::sgexamples()
+{
+ qputenv("QMLSCENE_IMPORT_NAME", "quick1");
+ QFETCH(QString, file);
+
+ QSGView view;
+
+ QtMsgHandler old = qInstallMsgHandler(silentErrorsMsgHandler);
+ view.setSource(file);
+ qInstallMsgHandler(old);
+
+ if (view.status() == QSGView::Error)
+ qWarning() << view.errors();
+
+ QCOMPARE(view.status(), QSGView::Ready);
+ view.show();
+
+ QTest::qWaitForWindowShown(&view);
+}
+
QTEST_MAIN(tst_examples)
#include "tst_examples.moc"
diff --git a/tests/auto/declarative/geometry/geometry.pro b/tests/auto/declarative/geometry/geometry.pro
new file mode 100644
index 0000000000..71d226d503
--- /dev/null
+++ b/tests/auto/declarative/geometry/geometry.pro
@@ -0,0 +1,11 @@
+load(qttest_p4)
+QT += opengl declarative
+
+TARGET = tst_geometry
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_geometry.cpp
+
+CONFIG+=parallel_test
+
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/geometry/tst_geometry.cpp b/tests/auto/declarative/geometry/tst_geometry.cpp
new file mode 100644
index 0000000000..4df7800cb9
--- /dev/null
+++ b/tests/auto/declarative/geometry/tst_geometry.cpp
@@ -0,0 +1,181 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt scene graph research project.
+**
+** $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 <QtCore/QString>
+#include <QtTest/QtTest>
+
+#include <qsggeometry.h>
+
+class GeometryTest : public QObject
+{
+ Q_OBJECT
+
+public:
+
+private Q_SLOTS:
+ void testPoint2D();
+ void testTexturedPoint2D();
+ void testCustomGeometry();
+
+private:
+};
+
+void GeometryTest::testPoint2D()
+{
+ QSGGeometry geometry(QSGGeometry::defaultAttributes_Point2D(), 4, 0);
+
+ QCOMPARE(geometry.attributeCount(), 1);
+ QCOMPARE(geometry.stride(), (int) sizeof(float) * 2);
+ QCOMPARE(geometry.vertexCount(), 4);
+ QCOMPARE(geometry.indexCount(), 0);
+ QVERIFY(geometry.indexData() == 0);
+
+ QSGGeometry::updateRectGeometry(&geometry, QRectF(1, 2, 3, 4));
+
+ QSGGeometry::Point2D *pts = geometry.vertexDataAsPoint2D();
+ QVERIFY(pts != 0);
+
+ QCOMPARE(pts[0].x, (float) 1);
+ QCOMPARE(pts[0].y, (float) 2);
+ QCOMPARE(pts[3].x, (float) 4);
+ QCOMPARE(pts[3].y, (float) 6);
+
+ // Verify that resize gives me enough allocated data without crashing...
+ geometry.allocate(100, 100);
+ pts = geometry.vertexDataAsPoint2D();
+ quint16 *is = geometry.indexDataAsUShort();
+ for (int i=0; i<100; ++i) {
+ pts[i].x = i;
+ pts[i].y = i + 100;
+ is[i] = i;
+ }
+ QVERIFY(true);
+}
+
+
+void GeometryTest::testTexturedPoint2D()
+{
+ QSGGeometry geometry(QSGGeometry::defaultAttributes_TexturedPoint2D(), 4, 0);
+
+ QCOMPARE(geometry.attributeCount(), 2);
+ QCOMPARE(geometry.stride(), (int) sizeof(float) * 4);
+ QCOMPARE(geometry.vertexCount(), 4);
+ QCOMPARE(geometry.indexCount(), 0);
+ QVERIFY(geometry.indexData() == 0);
+
+ QSGGeometry::updateTexturedRectGeometry(&geometry, QRectF(1, 2, 3, 4), QRectF(5, 6, 7, 8));
+
+ QSGGeometry::TexturedPoint2D *pts = geometry.vertexDataAsTexturedPoint2D();
+ QVERIFY(pts != 0);
+
+ QCOMPARE(pts[0].x, (float) 1);
+ QCOMPARE(pts[0].y, (float) 2);
+ QCOMPARE(pts[0].tx, (float) 5);
+ QCOMPARE(pts[0].ty, (float) 6);
+
+ QCOMPARE(pts[3].x, (float) 4);
+ QCOMPARE(pts[3].y, (float) 6);
+ QCOMPARE(pts[3].tx, (float) 12);
+ QCOMPARE(pts[3].ty, (float) 14);
+
+ // Verify that resize gives me enough allocated data without crashing...
+ geometry.allocate(100, 100);
+ pts = geometry.vertexDataAsTexturedPoint2D();
+ quint16 *is = geometry.indexDataAsUShort();
+ for (int i=0; i<100; ++i) {
+ pts[i].x = i;
+ pts[i].y = i + 100;
+ pts[i].tx = i + 200;
+ pts[i].ty = i + 300;
+ is[i] = i;
+ }
+ QVERIFY(true);
+}
+
+void GeometryTest::testCustomGeometry()
+{
+ struct V {
+ float x, y;
+ unsigned char r, g, b, a;
+ float v1, v2, v3, v4;
+ };
+
+ static QSGGeometry::Attribute attributes[] = {
+ { 0, 2, GL_FLOAT },
+ { 1, 4, GL_UNSIGNED_BYTE },
+ { 2, 4, GL_FLOAT },
+ };
+ static QSGGeometry::AttributeSet set = { 4, 6 * sizeof(float) + 4 * sizeof(unsigned char), attributes };
+
+ QSGGeometry geometry(set, 1000, 4000);
+
+ // Verify that space has been allocated.
+ quint16 *ii = geometry.indexDataAsUShort();
+ for (int i=0; i<geometry.indexCount(); ++i) {
+ ii[i] = i;
+ }
+
+ V *v = (V *) geometry.vertexData();
+ for (int i=0; i<geometry.vertexCount(); ++i) {
+ v[i].x = 0;
+ v[i].y = 1;
+ v[i].r = 2;
+ v[i].g = 3;
+ v[i].b = 4;
+ v[i].a = 5;
+ v[i].v1 = 6;
+ v[i].v2 = 7;
+ v[i].v3 = 8;
+ v[i].v4 = 9;
+ }
+
+ // Verify the data's integrity
+ for (int i=0; i<4000; ++i)
+ QCOMPARE(ii[i], (quint16) i);
+ for (int i=0; i<1000; ++i)
+ QVERIFY(v[i].v1 == 6);
+
+}
+
+
+QTEST_MAIN(GeometryTest);
+
+#include "tst_geometry.moc"
diff --git a/tests/auto/declarative/moduleqt47/moduleqt47.pro b/tests/auto/declarative/moduleqt47/moduleqt47.pro
index ff773e8f86..8c196d8097 100644
--- a/tests/auto/declarative/moduleqt47/moduleqt47.pro
+++ b/tests/auto/declarative/moduleqt47/moduleqt47.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/node/nodes.pro b/tests/auto/declarative/node/nodes.pro
new file mode 100644
index 0000000000..19d3b09a43
--- /dev/null
+++ b/tests/auto/declarative/node/nodes.pro
@@ -0,0 +1,11 @@
+load(qttest_p4)
+QT += opengl declarative
+
+TARGET = tst_nodestest
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_nodestest.cpp
+
+CONFIG+=parallel_test
+
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/node/tst_nodestest.cpp b/tests/auto/declarative/node/tst_nodestest.cpp
new file mode 100644
index 0000000000..a1b0a6ac91
--- /dev/null
+++ b/tests/auto/declarative/node/tst_nodestest.cpp
@@ -0,0 +1,354 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Qt scene graph research project.
+**
+** $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 <QtCore/QString>
+#include <QtTest/QtTest>
+
+#include <qsgnode.h>
+#include <private/qsgrenderer_p.h>
+#include <private/qsgnodeupdater_p.h>
+
+#include <qsgsimplerectnode.h>
+
+class NodesTest : public QObject
+{
+ Q_OBJECT
+
+public:
+ NodesTest();
+
+private Q_SLOTS:
+ void initTestCase();
+ void cleanupTestCase() {
+ delete widget;
+ }
+
+ // Root nodes
+ void propegate();
+ void propegateWithMultipleRoots();
+ void simulatedEffect_data();
+ void simulatedEffect();
+
+ // Opacity nodes
+ void basicOpacityNode();
+ void opacityPropegation();
+
+ // QSGNodeUpdater
+ void isBlockedCheck();
+
+private:
+ QGLWidget *widget;
+
+ QSGNodeUpdater updater;
+};
+
+void NodesTest::initTestCase()
+{
+ widget = new QGLWidget();
+ widget->resize(100, 30);
+ widget->show();
+}
+
+class DummyRenderer : public QSGRenderer
+{
+public:
+ DummyRenderer(QSGRootNode *root)
+ : QSGRenderer(QSGContext::createDefaultContext())
+ , changedNode(0)
+ , changedFlags(0)
+ , renderCount(0)
+ {
+ setRootNode(root);
+ }
+
+ void render() {
+ ++renderCount;
+ renderingOrder = ++globalRendereringOrder;
+ }
+
+ void nodeChanged(QSGNode *node, QSGNode::DirtyFlags flags) {
+ changedNode = node;
+ changedFlags = flags;
+ QSGRenderer::nodeChanged(node, flags);
+ }
+
+ QSGNode *changedNode;
+ QSGNode::DirtyFlags changedFlags;
+
+ int renderCount;
+ int renderingOrder;
+ static int globalRendereringOrder;
+};
+
+int DummyRenderer::globalRendereringOrder;
+
+NodesTest::NodesTest()
+{
+}
+
+
+void NodesTest::propegate()
+{
+ QSGRootNode root;
+ QSGNode child; child.setFlag(QSGNode::OwnedByParent, false);
+ root.appendChildNode(&child);
+
+ DummyRenderer renderer(&root);
+
+ child.markDirty(QSGNode::DirtyGeometry);
+
+ QCOMPARE(&child, renderer.changedNode);
+ QCOMPARE((int) renderer.changedFlags, (int) QSGNode::DirtyGeometry);
+}
+
+
+void NodesTest::propegateWithMultipleRoots()
+{
+ QSGRootNode root1;
+ QSGNode child2; child2.setFlag(QSGNode::OwnedByParent, false);
+ QSGRootNode root3; root3.setFlag(QSGNode::OwnedByParent, false);
+ QSGNode child4; child4.setFlag(QSGNode::OwnedByParent, false);
+
+ root1.appendChildNode(&child2);
+ child2.appendChildNode(&root3);
+ root3.appendChildNode(&child4);
+
+ DummyRenderer ren1(&root1);
+ DummyRenderer ren2(&root3);
+
+ child4.markDirty(QSGNode::DirtyGeometry);
+
+ QCOMPARE(ren1.changedNode, &child4);
+ QCOMPARE(ren2.changedNode, &child4);
+
+ QCOMPARE((int) ren1.changedFlags, (int) QSGNode::DirtyGeometry);
+ QCOMPARE((int) ren2.changedFlags, (int) QSGNode::DirtyGeometry);
+}
+
+
+
+class SimulatedEffectRenderer : public DummyRenderer
+{
+public:
+ SimulatedEffectRenderer(QSGRootNode *root, QSGBasicGeometryNode *c)
+ : DummyRenderer(root)
+ {
+ child = c;
+ }
+
+ void render() {
+ matrix = child->matrix() ? *child->matrix() : QMatrix4x4();
+ DummyRenderer::render();
+ }
+
+ QSGBasicGeometryNode *child;
+ QMatrix4x4 matrix;
+};
+
+
+class PseudoEffectNode : public QSGNode {
+public:
+ PseudoEffectNode(QSGRenderer *r)
+ : renderer(r)
+ {
+ setFlag(UsePreprocess);
+ }
+
+ void preprocess() {
+
+ if (renderer->rootNode()->parent()) {
+ // Mark the root dirty to build a clean state from the root and down
+ renderer->rootNode()->markDirty(QSGNode::DirtyAll);
+ }
+
+ renderer->renderScene();
+
+ if (renderer->rootNode()->parent()) {
+ // Mark the parent of the root dirty to force the root and down to be updated.
+ renderer->rootNode()->parent()->markDirty(QSGNode::DirtyAll);
+ }
+ }
+
+ QSGRenderer *renderer;
+};
+
+void NodesTest::simulatedEffect_data()
+{
+ QTest::addColumn<bool>("connected");
+
+ QTest::newRow("connected") << true;
+ QTest::newRow("disconnected") << false;
+}
+
+void NodesTest::simulatedEffect()
+{
+ QFETCH(bool, connected);
+
+ QSGRootNode root;
+ QSGRootNode source;
+ QSGTransformNode xform;
+ QSGSimpleRectNode geometry;
+ geometry.setRect(QRectF(0, 0, 1, 1));
+ geometry.setColor(Qt::red);
+
+ root.setFlag(QSGNode::OwnedByParent, false);
+ source.setFlag(QSGNode::OwnedByParent, false);
+ xform.setFlag(QSGNode::OwnedByParent, false);
+ geometry.setFlag(QSGNode::OwnedByParent, false);
+
+ SimulatedEffectRenderer rootRenderer(&root, &geometry);
+ SimulatedEffectRenderer sourceRenderer(&source, &geometry);
+
+ PseudoEffectNode effect(&sourceRenderer);
+
+ /*
+ root Source is redirected into effect using the SimulatedEffectRenderer
+ / \
+ xform effect
+ |
+ source
+ |
+ geometry
+ */
+
+ root.appendChildNode(&xform);
+ root.appendChildNode(&effect);
+ if (connected)
+ xform.appendChildNode(&source);
+ source.appendChildNode(&geometry);
+ QMatrix4x4 m; m.translate(1, 2, 3);
+ xform.setMatrix(m);
+
+ // Clear all dirty states...
+ updater.updateStates(&root);
+
+ rootRenderer.renderScene();
+
+ // compare that we got one render call to each
+ QCOMPARE(rootRenderer.renderCount, 1);
+ QCOMPARE(sourceRenderer.renderCount, 1);
+ QVERIFY(sourceRenderer.renderingOrder < rootRenderer.renderingOrder);
+ if (connected) // geometry is not rendered in this case, so skip it...
+ QCOMPARE(rootRenderer.matrix, xform.matrix());
+ QCOMPARE(sourceRenderer.matrix, QMatrix4x4());
+}
+
+void NodesTest::basicOpacityNode()
+{
+ QSGOpacityNode n;
+ QCOMPARE(n.opacity(), 1.);
+
+ n.setOpacity(0.5);
+ QCOMPARE(n.opacity(), 0.5);
+
+ n.setOpacity(-1);
+ QCOMPARE(n.opacity(), 0.);
+
+ n.setOpacity(2);
+ QCOMPARE(n.opacity(), 1.);
+}
+
+void NodesTest::opacityPropegation()
+{
+ QSGRootNode root;
+ QSGOpacityNode *a = new QSGOpacityNode;
+ QSGOpacityNode *b = new QSGOpacityNode;
+ QSGOpacityNode *c = new QSGOpacityNode;
+
+ QSGSimpleRectNode *geometry = new QSGSimpleRectNode;
+ geometry->setRect(0, 0, 100, 100);
+
+ root.appendChildNode(a);
+ a->appendChildNode(b);
+ b->appendChildNode(c);
+ c->appendChildNode(geometry);
+
+ a->setOpacity(0.9);
+ b->setOpacity(0.8);
+ c->setOpacity(0.7);
+
+ updater.updateStates(&root);
+
+ QCOMPARE(a->combinedOpacity(), 0.9);
+ QCOMPARE(b->combinedOpacity(), 0.9 * 0.8);
+ QCOMPARE(c->combinedOpacity(), 0.9 * 0.8 * 0.7);
+ QCOMPARE(geometry->inheritedOpacity(), 0.9 * 0.8 * 0.7);
+
+ b->setOpacity(0.1);
+ updater.updateStates(&root);
+
+ QCOMPARE(a->combinedOpacity(), 0.9);
+ QCOMPARE(b->combinedOpacity(), 0.9 * 0.1);
+ QCOMPARE(c->combinedOpacity(), 0.9 * 0.1 * 0.7);
+ QCOMPARE(geometry->inheritedOpacity(), 0.9 * 0.1 * 0.7);
+
+ b->setOpacity(0);
+ updater.updateStates(&root);
+
+ QVERIFY(b->isSubtreeBlocked());
+
+ // Verify that geometry did not get updated as it is in a blocked
+ // subtree
+ QCOMPARE(c->combinedOpacity(), 0.9 * 0.1 * 0.7);
+ QCOMPARE(geometry->inheritedOpacity(), 0.9 * 0.1 * 0.7);
+}
+
+void NodesTest::isBlockedCheck()
+{
+ QSGRootNode root;
+ QSGOpacityNode *opacity = new QSGOpacityNode();
+ QSGNode *node = new QSGNode();
+
+ root.appendChildNode(opacity);
+ opacity->appendChildNode(node);
+
+ QSGNodeUpdater updater;
+
+ opacity->setOpacity(0);
+ QVERIFY(updater.isNodeBlocked(node, &root));
+
+ opacity->setOpacity(1);
+ QVERIFY(!updater.isNodeBlocked(node, &root));
+}
+
+QTEST_MAIN(NodesTest);
+
+#include "tst_nodestest.moc"
diff --git a/tests/auto/declarative/parserstress/parserstress.pro b/tests/auto/declarative/parserstress/parserstress.pro
index cbc5e18181..4497767a8c 100644
--- a/tests/auto/declarative/parserstress/parserstress.pro
+++ b/tests/auto/declarative/parserstress/parserstress.pro
@@ -19,3 +19,4 @@ SOURCES += tst_parserstress.cpp
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro b/tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro
index f09e8d9fe2..ba2287d97c 100644
--- a/tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro
+++ b/tests/auto/declarative/qdeclarativeanchors/qdeclarativeanchors.pro
@@ -13,3 +13,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeanchors/tst_qdeclarativeanchors.cpp b/tests/auto/declarative/qdeclarativeanchors/tst_qdeclarativeanchors.cpp
index 3a626bf3cb..388e115f00 100644
--- a/tests/auto/declarative/qdeclarativeanchors/tst_qdeclarativeanchors.cpp
+++ b/tests/auto/declarative/qdeclarativeanchors/tst_qdeclarativeanchors.cpp
@@ -382,6 +382,7 @@ void tst_qdeclarativeanchors::loops()
}
{
+ QSKIP("This causes a lockup due to Bearer management stuff", SkipSingle);
QUrl source(QUrl::fromLocalFile(SRCDIR "/data/loop2.qml"));
QString expect = source.toString() + ":8:3: QML Image: Possible anchor loop detected on horizontal anchor.";
diff --git a/tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro b/tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro
index 3d040a67ab..d44a902d07 100644
--- a/tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro
+++ b/tests/auto/declarative/qdeclarativeanimatedimage/qdeclarativeanimatedimage.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro b/tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro
index d00d51a6e0..b37714165c 100644
--- a/tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro
+++ b/tests/auto/declarative/qdeclarativeanimations/qdeclarativeanimations.pro
@@ -13,3 +13,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeapplication/qdeclarativeapplication.pro b/tests/auto/declarative/qdeclarativeapplication/qdeclarativeapplication.pro
index 91e546822c..4776e0aa1e 100644
--- a/tests/auto/declarative/qdeclarativeapplication/qdeclarativeapplication.pro
+++ b/tests/auto/declarative/qdeclarativeapplication/qdeclarativeapplication.pro
@@ -3,3 +3,4 @@ contains(QT_CONFIG,declarative): QT += declarative gui
macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativeapplication.cpp
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro b/tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro
index 74168273fd..0861ab6286 100644
--- a/tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro
+++ b/tests/auto/declarative/qdeclarativebehaviors/qdeclarativebehaviors.pro
@@ -13,3 +13,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro b/tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro
index fe12635657..b2e5d2dc3e 100644
--- a/tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro
+++ b/tests/auto/declarative/qdeclarativebinding/qdeclarativebinding.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro b/tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro
index a7463e894a..aeb8a5dfcd 100644
--- a/tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro
+++ b/tests/auto/declarative/qdeclarativeborderimage/qdeclarativeborderimage.pro
@@ -15,3 +15,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp b/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp
index e35beba7c2..444781801c 100644
--- a/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp
+++ b/tests/auto/declarative/qdeclarativeborderimage/tst_qdeclarativeborderimage.cpp
@@ -249,6 +249,7 @@ void tst_qdeclarativeborderimage::mirror()
p_screenshot.fillRect(QRect(0, 0, width, height), Qt::white);
scene.render(&p_screenshot, QRect(0, 0, width, height), QRect(0, 0, width, height));
+ QEXPECT_FAIL("", "QTBUG-19538", Continue);
QCOMPARE(screenshot, expected);
delete obj;
diff --git a/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro b/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
index 4124f94692..7109f2da65 100644
--- a/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
+++ b/tests/auto/declarative/qdeclarativecomponent/qdeclarativecomponent.pro
@@ -11,3 +11,4 @@ SOURCES += tst_qdeclarativecomponent.cpp
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro b/tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro
index 6f9550d34f..56bf59f851 100644
--- a/tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro
+++ b/tests/auto/declarative/qdeclarativeconnection/qdeclarativeconnection.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativecontext/qdeclarativecontext.pro b/tests/auto/declarative/qdeclarativecontext/qdeclarativecontext.pro
index 74bb78c6ed..54a8269e17 100644
--- a/tests/auto/declarative/qdeclarativecontext/qdeclarativecontext.pro
+++ b/tests/auto/declarative/qdeclarativecontext/qdeclarativecontext.pro
@@ -9,3 +9,4 @@ macx:CONFIG -= app_bundle
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativedebug/qdeclarativedebug.pro b/tests/auto/declarative/qdeclarativedebug/qdeclarativedebug.pro
index 1214fcf8fb..430224e1e8 100644
--- a/tests/auto/declarative/qdeclarativedebug/qdeclarativedebug.pro
+++ b/tests/auto/declarative/qdeclarativedebug/qdeclarativedebug.pro
@@ -8,3 +8,4 @@ SOURCES += tst_qdeclarativedebug.cpp \
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp b/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp
index dad7251120..8871e45f4f 100644
--- a/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp
+++ b/tests/auto/declarative/qdeclarativedebug/tst_qdeclarativedebug.cpp
@@ -80,7 +80,7 @@ private:
void recursiveCompareObjects(const QDeclarativeDebugObjectReference &a, const QDeclarativeDebugObjectReference &b) const;
void recursiveCompareContexts(const QDeclarativeDebugContextReference &a, const QDeclarativeDebugContextReference &b) const;
void compareProperties(const QDeclarativeDebugPropertyReference &a, const QDeclarativeDebugPropertyReference &b) const;
-
+
QDeclarativeDebugConnection *m_conn;
QDeclarativeEngineDebug *m_dbg;
QDeclarativeEngine *m_engine;
@@ -134,7 +134,7 @@ QDeclarativeDebugObjectReference tst_QDeclarativeDebug::findRootObject(int conte
{
QDeclarativeDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this);
waitForQuery(q_engines);
-
+
if (q_engines->engines().count() == 0)
return QDeclarativeDebugObjectReference();
QDeclarativeDebugRootContextQuery *q_context = m_dbg->queryRootContexts(q_engines->engines()[0].debugId(), this);
@@ -368,7 +368,7 @@ void tst_QDeclarativeDebug::initTestCase()
for (int i=0; i<qml.count(); i++) {
QDeclarativeComponent component(m_engine);
component.setData(qml[i], QUrl::fromLocalFile(""));
- Q_ASSERT(component.isReady()); // fails if bad syntax
+ QVERIFY(component.isReady()); // fails if bad syntax
m_components << qobject_cast<QDeclarativeItem*>(component.create());
}
m_rootItem = qobject_cast<QDeclarativeItem*>(m_components.first());
@@ -382,7 +382,7 @@ void tst_QDeclarativeDebug::initTestCase()
QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Connection established");
bool ok = m_conn->waitForConnected();
- Q_ASSERT(ok);
+ QVERIFY(ok);
QTRY_VERIFY(QDeclarativeDebugService::hasDebuggingClient());
m_dbg = new QDeclarativeEngineDebug(m_conn, this);
QTRY_VERIFY(m_dbg->status() == QDeclarativeEngineDebug::Enabled);
@@ -439,7 +439,7 @@ void tst_QDeclarativeDebug::watch_property()
QDeclarativeDebugPropertyReference prop = findProperty(obj.properties(), "width");
QDeclarativeDebugPropertyWatch *watch;
-
+
QDeclarativeEngineDebug *unconnected = new QDeclarativeEngineDebug(0);
watch = unconnected->addWatch(prop, this);
QCOMPARE(watch->state(), QDeclarativeDebugWatch::Dead);
@@ -450,7 +450,7 @@ void tst_QDeclarativeDebug::watch_property()
QVERIFY(QDeclarativeDebugTest::waitForSignal(watch, SIGNAL(stateChanged(QDeclarativeDebugWatch::State))));
QCOMPARE(watch->state(), QDeclarativeDebugWatch::Inactive);
delete watch;
-
+
watch = m_dbg->addWatch(prop, this);
QCOMPARE(watch->state(), QDeclarativeDebugWatch::Waiting);
QCOMPARE(watch->objectDebugId(), obj.debugId());
@@ -482,12 +482,12 @@ void tst_QDeclarativeDebug::watch_object()
{
QDeclarativeDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this);
waitForQuery(q_engines);
-
- Q_ASSERT(q_engines->engines().count() > 0);
+
+ QVERIFY(q_engines->engines().count() > 0);
QDeclarativeDebugRootContextQuery *q_context = m_dbg->queryRootContexts(q_engines->engines()[0].debugId(), this);
waitForQuery(q_context);
- Q_ASSERT(q_context->rootContext().objects().count() > 0);
+ QVERIFY(q_context->rootContext().objects().count() > 0);
QDeclarativeDebugObjectQuery *q_obj = m_dbg->queryObject(q_context->rootContext().objects()[0], this);
waitForQuery(q_obj);
@@ -504,7 +504,7 @@ void tst_QDeclarativeDebug::watch_object()
QCOMPARE(watch->state(), QDeclarativeDebugWatch::Dead);
delete watch;
delete unconnected;
-
+
watch = m_dbg->addWatch(QDeclarativeDebugObjectReference(), this);
QVERIFY(QDeclarativeDebugTest::waitForSignal(watch, SIGNAL(stateChanged(QDeclarativeDebugWatch::State))));
QCOMPARE(watch->state(), QDeclarativeDebugWatch::Inactive);
@@ -558,7 +558,7 @@ void tst_QDeclarativeDebug::watch_expression()
QFETCH(int, incrementCount);
int origWidth = m_rootItem->property("width").toInt();
-
+
QDeclarativeDebugObjectReference obj = findRootObject();
QDeclarativeDebugObjectExpressionWatch *watch;
@@ -568,12 +568,12 @@ void tst_QDeclarativeDebug::watch_expression()
QCOMPARE(watch->state(), QDeclarativeDebugWatch::Dead);
delete watch;
delete unconnected;
-
+
watch = m_dbg->addWatch(QDeclarativeDebugObjectReference(), expr, this);
QVERIFY(QDeclarativeDebugTest::waitForSignal(watch, SIGNAL(stateChanged(QDeclarativeDebugWatch::State))));
QCOMPARE(watch->state(), QDeclarativeDebugWatch::Inactive);
delete watch;
-
+
watch = m_dbg->addWatch(obj, expr, this);
QCOMPARE(watch->state(), QDeclarativeDebugWatch::Waiting);
QCOMPARE(watch->objectDebugId(), obj.debugId());
@@ -603,7 +603,7 @@ void tst_QDeclarativeDebug::watch_expression()
delete watch;
// restore original value and verify spy doesn't get a signal since watch has been removed
- m_rootItem->setProperty("width", origWidth);
+ m_rootItem->setProperty("width", origWidth);
QTest::qWait(100);
QCOMPARE(spy.count(), expectedSpyCount);
@@ -664,7 +664,13 @@ void tst_QDeclarativeDebug::queryAvailableEngines()
QCOMPARE(e.name(), m_engine->objectName());
}
+ // Make query invalid by deleting client
+ q_engines = m_dbg->queryAvailableEngines(this);
+ QCOMPARE(q_engines->state(), QDeclarativeDebugQuery::Waiting);
+ delete m_dbg;
+ QCOMPARE(q_engines->state(), QDeclarativeDebugQuery::Error);
delete q_engines;
+ m_dbg = new QDeclarativeEngineDebug(m_conn, this);
}
void tst_QDeclarativeDebug::queryRootContexts()
@@ -672,9 +678,10 @@ void tst_QDeclarativeDebug::queryRootContexts()
QDeclarativeDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this);
waitForQuery(q_engines);
int engineId = q_engines->engines()[0].debugId();
+ delete q_engines;
QDeclarativeDebugRootContextQuery *q_context;
-
+
QDeclarativeEngineDebug *unconnected = new QDeclarativeEngineDebug(0);
q_context = unconnected->queryRootContexts(engineId, this);
QCOMPARE(q_context->state(), QDeclarativeDebugQuery::Error);
@@ -703,8 +710,13 @@ void tst_QDeclarativeDebug::queryRootContexts()
QVERIFY(context.contexts()[0].debugId() >= 0);
QCOMPARE(context.contexts()[0].name(), QString("tst_QDeclarativeDebug_childContext"));
- delete q_engines;
+ // Make query invalid by deleting client
+ q_context = m_dbg->queryRootContexts(engineId, this);
+ QCOMPARE(q_context->state(), QDeclarativeDebugQuery::Waiting);
+ delete m_dbg;
+ QCOMPARE(q_context->state(), QDeclarativeDebugQuery::Error);
delete q_context;
+ m_dbg = new QDeclarativeEngineDebug(m_conn, this);
}
void tst_QDeclarativeDebug::queryObject()
@@ -713,7 +725,7 @@ void tst_QDeclarativeDebug::queryObject()
QDeclarativeDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this);
waitForQuery(q_engines);
-
+
QDeclarativeDebugRootContextQuery *q_context = m_dbg->queryRootContexts(q_engines->engines()[0].debugId(), this);
waitForQuery(q_context);
QDeclarativeDebugObjectReference rootObject = q_context->rootContext().objects()[0];
@@ -736,7 +748,14 @@ void tst_QDeclarativeDebug::queryObject()
delete q_engines;
delete q_context;
+
+ // Make query invalid by deleting client
+ q_obj = recursive ? m_dbg->queryObjectRecursive(rootObject, this) : m_dbg->queryObject(rootObject, this);
+ QCOMPARE(q_obj->state(), QDeclarativeDebugQuery::Waiting);
+ delete m_dbg;
+ QCOMPARE(q_obj->state(), QDeclarativeDebugQuery::Error);
delete q_obj;
+ m_dbg = new QDeclarativeEngineDebug(m_conn, this);
// check source as defined in main()
QDeclarativeDebugFileReference source = obj.source();
@@ -787,7 +806,7 @@ void tst_QDeclarativeDebug::queryExpressionResult()
QDeclarativeDebugEnginesQuery *q_engines = m_dbg->queryAvailableEngines(this);
waitForQuery(q_engines); // check immediate deletion is ok
-
+
QDeclarativeDebugRootContextQuery *q_context = m_dbg->queryRootContexts(q_engines->engines()[0].debugId(), this);
waitForQuery(q_context);
int objectId = q_context->rootContext().objects()[0].debugId();
@@ -799,7 +818,7 @@ void tst_QDeclarativeDebug::queryExpressionResult()
QCOMPARE(q_expr->state(), QDeclarativeDebugQuery::Error);
delete q_expr;
delete unconnected;
-
+
q_expr = m_dbg->queryExpressionResult(objectId, expr, this);
delete q_expr;
@@ -811,7 +830,14 @@ void tst_QDeclarativeDebug::queryExpressionResult()
delete q_engines;
delete q_context;
+
+ // Make query invalid by deleting client
+ q_expr = m_dbg->queryExpressionResult(objectId, expr, this);
+ QCOMPARE(q_expr->state(), QDeclarativeDebugQuery::Waiting);
+ delete m_dbg;
+ QCOMPARE(q_expr->state(), QDeclarativeDebugQuery::Error);
delete q_expr;
+ m_dbg = new QDeclarativeEngineDebug(m_conn, this);
}
void tst_QDeclarativeDebug::queryExpressionResult_data()
@@ -938,7 +964,7 @@ void tst_QDeclarativeDebug::tst_QDeclarativeDebugPropertyReference()
QDeclarativeDebugObjectQuery *query = m_dbg->queryObject(rootObject, this);
waitForQuery(query);
QDeclarativeDebugObjectReference obj = query->object();
- delete query;
+ delete query;
QDeclarativeDebugPropertyReference ref = findProperty(obj.properties(), "scale");
QVERIFY(ref.objectDebugId() > 0);
@@ -947,7 +973,7 @@ void tst_QDeclarativeDebug::tst_QDeclarativeDebugPropertyReference()
QVERIFY(!ref.valueTypeName().isEmpty());
QVERIFY(!ref.binding().isEmpty());
QVERIFY(ref.hasNotifySignal());
-
+
QDeclarativeDebugPropertyReference copy(ref);
QDeclarativeDebugPropertyReference copyAssign;
copyAssign = ref;
@@ -1001,7 +1027,7 @@ void tst_QDeclarativeDebug::setBindingForObject()
// set handler
//
rootObject = findRootObject();
- QCOMPARE(rootObject.children().size(), 3);
+ QCOMPARE(rootObject.children().size(), 5); // Rectangle, Text, MouseArea, Component.onCompleted, NonScriptPropertyElement
QDeclarativeDebugObjectReference mouseAreaObject = rootObject.children().at(2);
QDeclarativeDebugObjectQuery *q_obj = m_dbg->queryObjectRecursive(mouseAreaObject, this);
waitForQuery(q_obj);
diff --git a/tests/auto/declarative/qdeclarativedebugclient/qdeclarativedebugclient.pro b/tests/auto/declarative/qdeclarativedebugclient/qdeclarativedebugclient.pro
index a3afd990a7..880255b6b2 100644
--- a/tests/auto/declarative/qdeclarativedebugclient/qdeclarativedebugclient.pro
+++ b/tests/auto/declarative/qdeclarativedebugclient/qdeclarativedebugclient.pro
@@ -5,3 +5,4 @@ macx:CONFIG -= app_bundle
HEADERS += ../shared/debugutil_p.h
SOURCES += tst_qdeclarativedebugclient.cpp \
../shared/debugutil.cpp
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp b/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp
index 2a28a45892..d41cfa3d4d 100644
--- a/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp
+++ b/tests/auto/declarative/qdeclarativedebugclient/tst_qdeclarativedebugclient.cpp
@@ -88,7 +88,7 @@ void tst_QDeclarativeDebugClient::initTestCase()
QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Connection established");
bool ok = m_conn->waitForConnected();
- Q_ASSERT(ok);
+ QVERIFY(ok);
QTRY_VERIFY(QDeclarativeDebugService::hasDebuggingClient());
QTRY_COMPARE(client.status(), QDeclarativeDebugClient::Enabled);
diff --git a/tests/auto/declarative/qdeclarativedebughelper/qdeclarativedebughelper.pro b/tests/auto/declarative/qdeclarativedebughelper/qdeclarativedebughelper.pro
index c52c652425..e9e8e73319 100644
--- a/tests/auto/declarative/qdeclarativedebughelper/qdeclarativedebughelper.pro
+++ b/tests/auto/declarative/qdeclarativedebughelper/qdeclarativedebughelper.pro
@@ -3,3 +3,4 @@ contains(QT_CONFIG,declarative): QT += network declarative script
macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativedebughelper.cpp
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro b/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro
index a62e148def..55ddeb28a3 100644
--- a/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro
+++ b/tests/auto/declarative/qdeclarativedebugservice/qdeclarativedebugservice.pro
@@ -8,3 +8,4 @@ SOURCES += tst_qdeclarativedebugservice.cpp \
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp b/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp
index 4bbb27d895..3fa8bba682 100644
--- a/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp
+++ b/tests/auto/declarative/qdeclarativedebugservice/tst_qdeclarativedebugservice.cpp
@@ -87,7 +87,7 @@ void tst_QDeclarativeDebugService::initTestCase()
QTest::ignoreMessage(QtWarningMsg, "QDeclarativeDebugServer: Connection established");
bool ok = m_conn->waitForConnected();
- Q_ASSERT(ok);
+ QVERIFY(ok);
QTRY_VERIFY(QDeclarativeDebugService::hasDebuggingClient());
}
diff --git a/tests/auto/declarative/qdeclarativedom/data/MyComponent.qml b/tests/auto/declarative/qdeclarativedom/data/MyComponent.qml
deleted file mode 100644
index f6760b6a9f..0000000000
--- a/tests/auto/declarative/qdeclarativedom/data/MyComponent.qml
+++ /dev/null
@@ -1,4 +0,0 @@
-import QtQuick 1.0
-
-Item {
-}
diff --git a/tests/auto/declarative/qdeclarativedom/data/MyItem.qml b/tests/auto/declarative/qdeclarativedom/data/MyItem.qml
deleted file mode 100644
index f6760b6a9f..0000000000
--- a/tests/auto/declarative/qdeclarativedom/data/MyItem.qml
+++ /dev/null
@@ -1,4 +0,0 @@
-import QtQuick 1.0
-
-Item {
-}
diff --git a/tests/auto/declarative/qdeclarativedom/data/import/Bar.qml b/tests/auto/declarative/qdeclarativedom/data/import/Bar.qml
deleted file mode 100644
index 86a7176896..0000000000
--- a/tests/auto/declarative/qdeclarativedom/data/import/Bar.qml
+++ /dev/null
@@ -1,2 +0,0 @@
-import QtQuick 1.0
-
diff --git a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml b/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml
deleted file mode 100644
index 86a7176896..0000000000
--- a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/Foo.qml
+++ /dev/null
@@ -1,2 +0,0 @@
-import QtQuick 1.0
-
diff --git a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir b/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir
deleted file mode 100644
index 98d6b7431d..0000000000
--- a/tests/auto/declarative/qdeclarativedom/data/importlib/sublib/qmldir
+++ /dev/null
@@ -1,2 +0,0 @@
-Foo 1.1 Foo.qml
-Foo 1.0 Foo.qml
diff --git a/tests/auto/declarative/qdeclarativedom/data/top.qml b/tests/auto/declarative/qdeclarativedom/data/top.qml
deleted file mode 100644
index 56ea9dfaad..0000000000
--- a/tests/auto/declarative/qdeclarativedom/data/top.qml
+++ /dev/null
@@ -1,6 +0,0 @@
-import QtQuick 1.0
-
-MyComponent {
- width: 100
- height: 100
-}
diff --git a/tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro b/tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro
deleted file mode 100644
index 8ac69aac67..0000000000
--- a/tests/auto/declarative/qdeclarativedom/qdeclarativedom.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-load(qttest_p4)
-contains(QT_CONFIG,declarative): QT += declarative
-macx:CONFIG -= app_bundle
-
-SOURCES += tst_qdeclarativedom.cpp
-
-symbian: {
- importFiles.files = data
- importFiles.path = .
- DEPLOYMENT += importFiles
-} else {
- DEFINES += SRCDIR=\\\"$$PWD\\\"
-}
-
-CONFIG += parallel_test
-
diff --git a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp b/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp
deleted file mode 100644
index 13bffcd1a1..0000000000
--- a/tests/auto/declarative/qdeclarativedom/tst_qdeclarativedom.cpp
+++ /dev/null
@@ -1,1326 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 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$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <qtest.h>
-#include <QtDeclarative/qdeclarativeengine.h>
-#include <QtDeclarative/qdeclarativecomponent.h>
-#include <QtDeclarative/private/qdeclarativedom_p.h>
-
-#include <QtCore/QDebug>
-#include <QtCore/QFile>
-
-#ifdef Q_OS_SYMBIAN
-// In Symbian OS test data is located in applications private dir
-#define SRCDIR "."
-#endif
-
-class tst_qdeclarativedom : public QObject
-{
- Q_OBJECT
-public:
- tst_qdeclarativedom() {}
-
-private slots:
- void loadSimple();
- void loadProperties();
- void loadGroupedProperties();
- void loadChildObject();
- void loadComposite();
- void loadImports();
- void loadErrors();
- void loadSyntaxErrors();
- void loadRemoteErrors();
- void loadDynamicProperty();
- void loadComponent();
-
- void testValueSource();
- void testValueInterceptor();
-
- void object_dynamicProperty();
- void object_property();
- void object_url();
-
- void copy();
- void position();
-private:
- QDeclarativeEngine engine;
-};
-
-
-void tst_qdeclarativedom::loadSimple()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {}";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
- QVERIFY(document.errors().isEmpty());
-
- QDeclarativeDomObject rootObject = document.rootObject();
- QVERIFY(rootObject.isValid());
- QVERIFY(!rootObject.isComponent());
- QVERIFY(!rootObject.isCustomType());
- QVERIFY(rootObject.objectType() == "QtQuick/Item");
- QVERIFY(rootObject.objectTypeMajorVersion() == 1);
- QVERIFY(rootObject.objectTypeMinorVersion() == 0);
-}
-
-// Test regular properties
-void tst_qdeclarativedom::loadProperties()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "Item { id : item; x : 300; visible : true }";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootObject = document.rootObject();
- QVERIFY(rootObject.isValid());
- QVERIFY(rootObject.objectId() == "item");
- QCOMPARE(rootObject.properties().size(), 3);
-
- QDeclarativeDomProperty xProperty = rootObject.property("x");
- QVERIFY(xProperty.propertyName() == "x");
- QCOMPARE(xProperty.propertyNameParts().count(), 1);
- QVERIFY(xProperty.propertyNameParts().at(0) == "x");
- QCOMPARE(xProperty.position(), 37);
- QCOMPARE(xProperty.length(), 1);
- QVERIFY(xProperty.value().isLiteral());
- QVERIFY(xProperty.value().toLiteral().literal() == "300");
-
- QDeclarativeDomProperty visibleProperty = rootObject.property("visible");
- QVERIFY(visibleProperty.propertyName() == "visible");
- QCOMPARE(visibleProperty.propertyNameParts().count(), 1);
- QVERIFY(visibleProperty.propertyNameParts().at(0) == "visible");
- QCOMPARE(visibleProperty.position(), 46);
- QCOMPARE(visibleProperty.length(), 7);
- QVERIFY(visibleProperty.value().isLiteral());
- QVERIFY(visibleProperty.value().toLiteral().literal() == "true");
-}
-
-// Test grouped properties
-void tst_qdeclarativedom::loadGroupedProperties()
-{
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "Item { anchors.left: parent.left; anchors.right: parent.right }";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootItem = document.rootObject();
- QVERIFY(rootItem.isValid());
- QVERIFY(rootItem.properties().size() == 2);
-
- // Order is not deterministic
- QDeclarativeDomProperty p0 = rootItem.properties().at(0);
- QDeclarativeDomProperty p1 = rootItem.properties().at(1);
- QDeclarativeDomProperty leftProperty;
- QDeclarativeDomProperty rightProperty;
- if (p0.propertyName() == "anchors.left") {
- leftProperty = p0;
- rightProperty = p1;
- } else {
- leftProperty = p1;
- rightProperty = p0;
- }
-
- QVERIFY(leftProperty.propertyName() == "anchors.left");
- QCOMPARE(leftProperty.propertyNameParts().count(), 2);
- QVERIFY(leftProperty.propertyNameParts().at(0) == "anchors");
- QVERIFY(leftProperty.propertyNameParts().at(1) == "left");
- QCOMPARE(leftProperty.position(), 26);
- QCOMPARE(leftProperty.length(), 12);
- QVERIFY(leftProperty.value().isBinding());
- QVERIFY(leftProperty.value().toBinding().binding() == "parent.left");
-
- QVERIFY(rightProperty.propertyName() == "anchors.right");
- QCOMPARE(rightProperty.propertyNameParts().count(), 2);
- QVERIFY(rightProperty.propertyNameParts().at(0) == "anchors");
- QVERIFY(rightProperty.propertyNameParts().at(1) == "right");
- QCOMPARE(rightProperty.position(), 53);
- QCOMPARE(rightProperty.length(), 13);
- QVERIFY(rightProperty.value().isBinding());
- QVERIFY(rightProperty.value().toBinding().binding() == "parent.right");
- }
-
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "Item { \n"
- " anchors {\n"
- " left: parent.left\n"
- " right: parent.right\n"
- " }\n"
- "}";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootItem = document.rootObject();
- QVERIFY(rootItem.isValid());
- QVERIFY(rootItem.properties().size() == 2);
-
- // Order is not deterministic
- QDeclarativeDomProperty p0 = rootItem.properties().at(0);
- QDeclarativeDomProperty p1 = rootItem.properties().at(1);
- QDeclarativeDomProperty leftProperty;
- QDeclarativeDomProperty rightProperty;
- if (p0.propertyName() == "anchors.left") {
- leftProperty = p0;
- rightProperty = p1;
- } else {
- leftProperty = p1;
- rightProperty = p0;
- }
-
- QVERIFY(leftProperty.propertyName() == "anchors.left");
- QCOMPARE(leftProperty.propertyNameParts().count(), 2);
- QVERIFY(leftProperty.propertyNameParts().at(0) == "anchors");
- QVERIFY(leftProperty.propertyNameParts().at(1) == "left");
- QCOMPARE(leftProperty.position(), 49);
- QCOMPARE(leftProperty.length(), 4);
- QVERIFY(leftProperty.value().isBinding());
- QVERIFY(leftProperty.value().toBinding().binding() == "parent.left");
-
- QVERIFY(rightProperty.propertyName() == "anchors.right");
- QCOMPARE(rightProperty.propertyNameParts().count(), 2);
- QVERIFY(rightProperty.propertyNameParts().at(0) == "anchors");
- QVERIFY(rightProperty.propertyNameParts().at(1) == "right");
- QCOMPARE(rightProperty.position(), 75);
- QCOMPARE(rightProperty.length(), 5);
- QVERIFY(rightProperty.value().isBinding());
- QVERIFY(rightProperty.value().toBinding().binding() == "parent.right");
- }
-
-}
-
-void tst_qdeclarativedom::loadChildObject()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "Item { Item {} }";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootItem = document.rootObject();
- QVERIFY(rootItem.isValid());
- QVERIFY(rootItem.properties().size() == 1);
-
- QDeclarativeDomProperty listProperty = rootItem.properties().at(0);
- QVERIFY(listProperty.isDefaultProperty());
- QVERIFY(listProperty.value().isList());
-
- QDeclarativeDomList list = listProperty.value().toList();
- QVERIFY(list.values().size() == 1);
-
- QDeclarativeDomObject childItem = list.values().first().toObject();
- QVERIFY(childItem.isValid());
- QVERIFY(childItem.objectType() == "QtQuick/Item");
-}
-
-void tst_qdeclarativedom::loadComposite()
-{
- QFile file(SRCDIR "/data/top.qml");
- QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text));
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, file.readAll(), QUrl::fromLocalFile(file.fileName())));
- QVERIFY(document.errors().isEmpty());
-
- QDeclarativeDomObject rootItem = document.rootObject();
- QVERIFY(rootItem.isValid());
- QCOMPARE(rootItem.objectType(), QByteArray("MyComponent"));
- QCOMPARE(rootItem.properties().size(), 2);
-
- QDeclarativeDomProperty widthProperty = rootItem.property("width");
- QVERIFY(widthProperty.value().isLiteral());
-
- QDeclarativeDomProperty heightProperty = rootItem.property("height");
- QVERIFY(heightProperty.value().isLiteral());
-}
-
-void tst_qdeclarativedom::testValueSource()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "Rectangle { SpringAnimation on height { spring: 1.4; damping: .15; to: Math.min(Math.max(-130, value*2.2 - 130), 133); }}";
-
- QDeclarativeEngine freshEngine;
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&freshEngine, qml));
-
- QDeclarativeDomObject rootItem = document.rootObject();
- QVERIFY(rootItem.isValid());
- QDeclarativeDomProperty heightProperty = rootItem.properties().at(0);
- QVERIFY(heightProperty.propertyName() == "height");
- QVERIFY(heightProperty.value().isValueSource());
-
- const QDeclarativeDomValueValueSource valueSource = heightProperty.value().toValueSource();
- QDeclarativeDomObject valueSourceObject = valueSource.object();
- QVERIFY(valueSourceObject.isValid());
-
- QVERIFY(valueSourceObject.objectType() == "QtQuick/SpringAnimation");
-
- const QDeclarativeDomValue springValue = valueSourceObject.property("spring").value();
- QVERIFY(!springValue.isInvalid());
- QVERIFY(springValue.isLiteral());
- QVERIFY(springValue.toLiteral().literal() == "1.4");
-
- const QDeclarativeDomValue sourceValue = valueSourceObject.property("to").value();
- QVERIFY(!sourceValue.isInvalid());
- QVERIFY(sourceValue.isBinding());
- QVERIFY(sourceValue.toBinding().binding() == "Math.min(Math.max(-130, value*2.2 - 130), 133)");
-}
-
-void tst_qdeclarativedom::testValueInterceptor()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "Rectangle { Behavior on height { NumberAnimation { duration: 100 } } }";
-
- QDeclarativeEngine freshEngine;
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&freshEngine, qml));
-
- QDeclarativeDomObject rootItem = document.rootObject();
- QVERIFY(rootItem.isValid());
- QDeclarativeDomProperty heightProperty = rootItem.properties().at(0);
- QVERIFY(heightProperty.propertyName() == "height");
- QVERIFY(heightProperty.value().isValueInterceptor());
-
- const QDeclarativeDomValueValueInterceptor valueInterceptor = heightProperty.value().toValueInterceptor();
- QDeclarativeDomObject valueInterceptorObject = valueInterceptor.object();
- QVERIFY(valueInterceptorObject.isValid());
-
- QVERIFY(valueInterceptorObject.objectType() == "QtQuick/Behavior");
-
- const QDeclarativeDomValue animationValue = valueInterceptorObject.property("animation").value();
- QVERIFY(!animationValue.isInvalid());
- QVERIFY(animationValue.isObject());
-}
-
-// Test QDeclarativeDomDocument::imports()
-void tst_qdeclarativedom::loadImports()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "import importlib.sublib 1.1\n"
- "import importlib.sublib 1.0 as NewFoo\n"
- "import 'import'\n"
- "import 'import' as X\n"
- "Item {}";
-
- QDeclarativeEngine engine;
- engine.addImportPath(SRCDIR "/data");
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml, QUrl::fromLocalFile(SRCDIR "/data/dummy.qml")));
-
- QCOMPARE(document.imports().size(), 5);
-
- QDeclarativeDomImport import = document.imports().at(0);
- QCOMPARE(import.type(), QDeclarativeDomImport::Library);
- QCOMPARE(import.uri(), QLatin1String("QtQuick"));
- QCOMPARE(import.qualifier(), QString());
- QCOMPARE(import.version(), QLatin1String("1.0"));
-
- import = document.imports().at(1);
- QCOMPARE(import.type(), QDeclarativeDomImport::Library);
- QCOMPARE(import.uri(), QLatin1String("importlib.sublib"));
- QCOMPARE(import.qualifier(), QString());
- QCOMPARE(import.version(), QLatin1String("1.1"));
-
- import = document.imports().at(2);
- QCOMPARE(import.type(), QDeclarativeDomImport::Library);
- QCOMPARE(import.uri(), QLatin1String("importlib.sublib"));
- QCOMPARE(import.qualifier(), QLatin1String("NewFoo"));
- QCOMPARE(import.version(), QLatin1String("1.0"));
-
- import = document.imports().at(3);
- QCOMPARE(import.type(), QDeclarativeDomImport::File);
- QCOMPARE(import.uri(), QLatin1String("import"));
- QCOMPARE(import.qualifier(), QLatin1String(""));
- QCOMPARE(import.version(), QLatin1String(""));
-
- import = document.imports().at(4);
- QCOMPARE(import.type(), QDeclarativeDomImport::File);
- QCOMPARE(import.uri(), QLatin1String("import"));
- QCOMPARE(import.qualifier(), QLatin1String("X"));
- QCOMPARE(import.version(), QLatin1String(""));
-}
-
-// Test loading a file with errors
-void tst_qdeclarativedom::loadErrors()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {\n"
- " foo: 12\n"
- "}";
-
- QDeclarativeDomDocument document;
- QVERIFY(false == document.load(&engine, qml));
-
- QCOMPARE(document.errors().count(), 1);
- QDeclarativeError error = document.errors().first();
-
- QCOMPARE(error.url(), QUrl());
- QCOMPARE(error.line(), 3);
- QCOMPARE(error.column(), 3);
- QCOMPARE(error.description(), QString("Cannot assign to non-existent property \"foo\""));
-}
-
-// Test loading a file with syntax errors
-void tst_qdeclarativedom::loadSyntaxErrors()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "asdf";
-
- QDeclarativeDomDocument document;
- QVERIFY(false == document.load(&engine, qml));
-
- QCOMPARE(document.errors().count(), 1);
- QDeclarativeError error = document.errors().first();
-
- QCOMPARE(error.url(), QUrl());
- QCOMPARE(error.line(), 2);
- QCOMPARE(error.column(), 1);
- QCOMPARE(error.description(), QString("Syntax error"));
-}
-
-// Test attempting to load a file with remote references
-void tst_qdeclarativedom::loadRemoteErrors()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "import \"http://localhost/exampleQmlScript.js\" as Script\n"
- "Item {\n"
- "}";
- QDeclarativeDomDocument document;
- QVERIFY(false == document.load(&engine, qml));
-
- QCOMPARE(document.errors().count(), 1);
- QDeclarativeError error = document.errors().first();
-
- QCOMPARE(error.url(), QUrl());
- QCOMPARE(error.line(), -1);
- QCOMPARE(error.column(), -1);
- QCOMPARE(error.description(), QString("QDeclarativeDomDocument supports local types only"));
-}
-
-// Test dynamic property declarations
-void tst_qdeclarativedom::loadDynamicProperty()
-{
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {\n"
- " property int a\n"
- " property bool b\n"
- " property double c\n"
- " property real d\n"
- " property string e\n"
- " property url f\n"
- " property color g\n"
- " property date h\n"
- " property variant i\n"
- " property QtObject j\n"
- "}";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootObject = document.rootObject();
- QVERIFY(rootObject.isValid());
-
- QCOMPARE(rootObject.dynamicProperties().count(), 10);
-
-#define DP_TEST(index, name, type, test_position, test_length, propTypeName) \
- { \
- QDeclarativeDomDynamicProperty d = rootObject.dynamicProperties().at(index); \
- QVERIFY(d.isValid()); \
- QVERIFY(d.propertyName() == # name ); \
- QVERIFY(d.propertyType() == type); \
- QVERIFY(d.propertyTypeName() == propTypeName); \
- QVERIFY(d.isDefaultProperty() == false); \
- QVERIFY(d.defaultValue().isValid() == false); \
- QCOMPARE(d.position(), test_position); \
- QCOMPARE(d.length(), test_length); \
- } \
-
- DP_TEST(0, a, QVariant::Int, 30, 14, "int");
- DP_TEST(1, b, QVariant::Bool, 49, 15, "bool");
- DP_TEST(2, c, QMetaType::QReal, 69, 17, "double");
- DP_TEST(3, d, QMetaType::QReal, 91, 15, "real");
- DP_TEST(4, e, QVariant::String, 111, 17, "string");
- DP_TEST(5, f, QVariant::Url, 133, 14, "url");
- DP_TEST(6, g, QVariant::Color, 152, 16, "color");
- DP_TEST(7, h, QVariant::DateTime, 173, 15, "date");
- DP_TEST(8, i, qMetaTypeId<QVariant>(), 193, 18, "variant");
- DP_TEST(9, j, -1, 216, 19, "QtObject");
- }
-
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {\n"
- " id: item\n"
- " property int a: 12\n"
- " property int b: a + 6\n"
- " default property QtObject c\n"
- " property alias d: item.a\n"
- "}\n";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootObject = document.rootObject();
- QVERIFY(rootObject.isValid());
-
- QCOMPARE(rootObject.dynamicProperties().count(), 4);
-
- {
- QDeclarativeDomDynamicProperty d = rootObject.dynamicProperties().at(0);
- QVERIFY(d.isDefaultProperty() == false);
- QVERIFY(d.isAlias() == false);
- QVERIFY(d.defaultValue().isValid());
- QVERIFY(d.defaultValue().propertyName() == "a");
- QVERIFY(d.defaultValue().value().isLiteral());
- }
-
- {
- QDeclarativeDomDynamicProperty d = rootObject.dynamicProperties().at(1);
- QVERIFY(d.isDefaultProperty() == false);
- QVERIFY(d.isAlias() == false);
- QVERIFY(d.defaultValue().isValid());
- QVERIFY(d.defaultValue().propertyName() == "b");
- QVERIFY(d.defaultValue().value().isBinding());
- }
-
- {
- QDeclarativeDomDynamicProperty d = rootObject.dynamicProperties().at(2);
- QVERIFY(d.isDefaultProperty() == true);
- QVERIFY(d.isAlias() == false);
- QVERIFY(d.defaultValue().isValid() == false);
- }
-
- {
- QDeclarativeDomDynamicProperty d = rootObject.dynamicProperties().at(3);
- QVERIFY(d.isDefaultProperty() == false);
- QVERIFY(d.isAlias() == true);
- }
- }
-}
-
-// Test inline components
-void tst_qdeclarativedom::loadComponent()
-{
- // Explicit component
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {\n"
- " Component {\n"
- " id: myComponent\n"
- " Item {}\n"
- " }\n"
- "}";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootItem = document.rootObject();
- QVERIFY(rootItem.isValid());
- QVERIFY(rootItem.properties().size() == 1);
-
- QDeclarativeDomProperty listProperty = rootItem.properties().at(0);
- QVERIFY(listProperty.isDefaultProperty());
- QVERIFY(listProperty.value().isList());
-
- QDeclarativeDomList list = listProperty.value().toList();
- QVERIFY(list.values().size() == 1);
-
- QDeclarativeDomObject componentObject = list.values().first().toObject();
- QVERIFY(componentObject.isValid());
- QVERIFY(componentObject.objectClassName() == "Component");
- QVERIFY(componentObject.isComponent());
-
- QDeclarativeDomComponent component = componentObject.toComponent();
- QVERIFY(component.isValid());
- QVERIFY(component.objectType() == "QtQuick/Component");
- QVERIFY(component.objectTypeMajorVersion() == 1);
- QVERIFY(component.objectTypeMinorVersion() == 0);
- QVERIFY(component.objectClassName() == "Component");
- QVERIFY(component.objectId() == "myComponent");
- QVERIFY(component.properties().isEmpty());
- QVERIFY(component.dynamicProperties().isEmpty());
- QVERIFY(component.isCustomType() == false);
- QVERIFY(component.customTypeData() == "");
- QVERIFY(component.isComponent());
- QCOMPARE(component.position(), 30);
- QCOMPARE(component.length(), 57);
-
- QVERIFY(component.componentRoot().isValid());
- QVERIFY(component.componentRoot().objectClassName() == "Item");
- }
-
- // Implicit component
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "ListView {\n"
- " delegate: Item {}\n"
- "}";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootItem = document.rootObject();
- QVERIFY(rootItem.isValid());
- QVERIFY(rootItem.properties().size() == 1);
-
- QDeclarativeDomProperty delegate = rootItem.property("delegate");
-
- QDeclarativeDomObject componentObject = delegate.value().toObject();
- QVERIFY(componentObject.isValid());
- QVERIFY(componentObject.objectClassName() == "Component");
- QVERIFY(componentObject.isComponent());
-
- QDeclarativeDomComponent component = componentObject.toComponent();
- QVERIFY(component.isValid());
- QVERIFY(component.objectType() == "QtQuick/Component");
- QVERIFY(component.objectClassName() == "Component");
- QVERIFY(component.objectId() == "");
- QVERIFY(component.properties().isEmpty());
- QVERIFY(component.dynamicProperties().isEmpty());
- QVERIFY(component.isCustomType() == false);
- QVERIFY(component.customTypeData() == "");
- QVERIFY(component.isComponent());
- QCOMPARE(component.position(), 44);
- QCOMPARE(component.length(), 7);
-
- QVERIFY(component.componentRoot().isValid());
- QVERIFY(component.componentRoot().objectClassName() == "Item");
- }
-}
-
-// Test QDeclarativeDomObject::dynamicProperty() method
-void tst_qdeclarativedom::object_dynamicProperty()
-{
- // Invalid object
- {
- QDeclarativeDomObject object;
- QVERIFY(object.dynamicProperty("").isValid() == false);
- QVERIFY(object.dynamicProperty("foo").isValid() == false);
- }
-
-
- // Valid object, no dynamic properties
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {}";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootObject = document.rootObject();
- QVERIFY(rootObject.isValid());
-
- QVERIFY(rootObject.dynamicProperty("").isValid() == false);
- QVERIFY(rootObject.dynamicProperty("foo").isValid() == false);
- }
-
- // Valid object, dynamic properties
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {\n"
- " property int a\n"
- "}";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootObject = document.rootObject();
- QVERIFY(rootObject.isValid());
-
- QVERIFY(rootObject.dynamicProperty("").isValid() == false);
- QVERIFY(rootObject.dynamicProperty("foo").isValid() == false);
-
- QDeclarativeDomDynamicProperty p = rootObject.dynamicProperty("a");
- QVERIFY(p.isValid());
- QVERIFY(p.propertyName() == "a");
- QVERIFY(p.propertyType() == QVariant::Int);
- QVERIFY(p.propertyTypeName() == "int");
- QVERIFY(p.isDefaultProperty() == false);
- QCOMPARE(p.position(), 30);
- QCOMPARE(p.length(), 14);
- }
-
-}
-
-// Test QDeclarativeObject::property() method
-void tst_qdeclarativedom::object_property()
-{
- // Invalid object
- {
- QDeclarativeDomObject object;
- QVERIFY(object.property("").isValid() == false);
- QVERIFY(object.property("foo").isValid() == false);
- }
-
- // Valid object - no default
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {\n"
- " x: 10\n"
- " y: 12\n"
- "}\n";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootObject = document.rootObject();
- QVERIFY(rootObject.isValid());
-
- QVERIFY(rootObject.property("").isValid() == false);
- QVERIFY(rootObject.property("foo").isValid() == false);
-
- QDeclarativeDomProperty x = rootObject.property("x");
- QVERIFY(x.isValid());
- QVERIFY(x.propertyName() == "x");
- QVERIFY(x.propertyNameParts().count() == 1);
- QVERIFY(x.propertyNameParts().at(0) == "x");
- QVERIFY(x.isDefaultProperty() == false);
- QVERIFY(x.value().isLiteral());
- QVERIFY(x.value().toLiteral().literal() == "10");
- QCOMPARE(x.position(), 30);
- QCOMPARE(x.length(), 1);
-
- QDeclarativeDomProperty y = rootObject.property("y");
- QVERIFY(y.isValid());
- QVERIFY(y.propertyName() == "y");
- QVERIFY(y.propertyNameParts().count() == 1);
- QVERIFY(y.propertyNameParts().at(0) == "y");
- QVERIFY(y.isDefaultProperty() == false);
- QVERIFY(y.value().isLiteral());
- QVERIFY(y.value().toLiteral().literal() == "12");
- QCOMPARE(y.position(), 40);
- QCOMPARE(y.length(), 1);
- }
-
- // Valid object - with default
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {\n"
- " x: 10\n"
- " y: 12\n"
- " Item {}\n"
- "}\n";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootObject = document.rootObject();
- QVERIFY(rootObject.isValid());
-
- QVERIFY(rootObject.property("").isValid() == false);
- QVERIFY(rootObject.property("foo").isValid() == false);
-
- QDeclarativeDomProperty x = rootObject.property("x");
- QVERIFY(x.isValid());
- QVERIFY(x.propertyName() == "x");
- QVERIFY(x.propertyNameParts().count() == 1);
- QVERIFY(x.propertyNameParts().at(0) == "x");
- QVERIFY(x.isDefaultProperty() == false);
- QVERIFY(x.value().isLiteral());
- QVERIFY(x.value().toLiteral().literal() == "10");
- QCOMPARE(x.position(), 30);
- QCOMPARE(x.length(), 1);
-
- QDeclarativeDomProperty y = rootObject.property("y");
- QVERIFY(y.isValid());
- QVERIFY(y.propertyName() == "y");
- QVERIFY(y.propertyNameParts().count() == 1);
- QVERIFY(y.propertyNameParts().at(0) == "y");
- QVERIFY(y.isDefaultProperty() == false);
- QVERIFY(y.value().isLiteral());
- QVERIFY(y.value().toLiteral().literal() == "12");
- QCOMPARE(y.position(), 40);
- QCOMPARE(y.length(), 1);
-
- QDeclarativeDomProperty data = rootObject.property("data");
- QVERIFY(data.isValid());
- QVERIFY(data.propertyName() == "data");
- QVERIFY(data.propertyNameParts().count() == 1);
- QVERIFY(data.propertyNameParts().at(0) == "data");
- QVERIFY(data.isDefaultProperty() == true);
- QVERIFY(data.value().isList());
- QCOMPARE(data.position(), 50);
- QCOMPARE(data.length(), 0);
- }
-}
-
-// Tests the QDeclarativeDomObject::url() method
-void tst_qdeclarativedom::object_url()
-{
- // Invalid object
- {
- QDeclarativeDomObject object;
- QCOMPARE(object.url(), QUrl());
- }
-
- // Valid builtin object
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {}";
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject rootObject = document.rootObject();
- QVERIFY(rootObject.isValid());
- QCOMPARE(rootObject.url(), QUrl());
- }
-
- // Valid composite object
- {
- QByteArray qml = "import QtQuick 1.0\n"
- "MyItem {}";
-
- QUrl myUrl = QUrl::fromLocalFile(SRCDIR "/data/main.qml");
- QUrl subUrl = QUrl::fromLocalFile(SRCDIR "/data/MyItem.qml");
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml, myUrl));
-
- QDeclarativeDomObject rootObject = document.rootObject();
- QVERIFY(rootObject.isValid());
- QCOMPARE(rootObject.url(), subUrl);
- }
-}
-
-// Test copy constructors and operators
-void tst_qdeclarativedom::copy()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "MyItem {\n"
- " id: myItem\n"
- " property int a: 10\n"
- " x: 10\n"
- " y: x + 10\n"
- " NumberAnimation on z {}\n"
- " Behavior on opacity {}\n"
- " Component {\n"
- " Item{}\n"
- " }\n"
- " children: [ Item{}, Item{} ]\n"
- "}\n";
-
- QUrl myUrl = QUrl::fromLocalFile(SRCDIR "/data/main.qml");
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml, myUrl));
-
- // QDeclarativeDomDocument
- {
- QDeclarativeDomDocument document2(document);
- QDeclarativeDomDocument document3;
- document3 = document;
-
- QCOMPARE(document.imports().count(), document2.imports().count());
- QCOMPARE(document.errors().count(), document2.errors().count());
- QCOMPARE(document.rootObject().objectClassName(), document2.rootObject().objectClassName());
-
- QCOMPARE(document.imports().count(), document3.imports().count());
- QCOMPARE(document.errors().count(), document3.errors().count());
- QCOMPARE(document.rootObject().objectClassName(), document3.rootObject().objectClassName());
- }
-
- // QDeclarativeDomImport
- {
- QCOMPARE(document.imports().count(), 1);
- QDeclarativeDomImport import = document.imports().at(0);
-
- QDeclarativeDomImport import2(import);
- QDeclarativeDomImport import3;
- import3 = import2;
-
- QCOMPARE(import.type(), import2.type());
- QCOMPARE(import.uri(), import2.uri());
- QCOMPARE(import.version(), import2.version());
- QCOMPARE(import.qualifier(), import2.qualifier());
-
- QCOMPARE(import.type(), import3.type());
- QCOMPARE(import.uri(), import3.uri());
- QCOMPARE(import.version(), import3.version());
- QCOMPARE(import.qualifier(), import3.qualifier());
- }
-
- // QDeclarativeDomObject
- {
- QDeclarativeDomObject object = document.rootObject();
- QVERIFY(object.isValid());
-
- QDeclarativeDomObject object2(object);
- QDeclarativeDomObject object3;
- object3 = object;
-
- QCOMPARE(object.isValid(), object2.isValid());
- QCOMPARE(object.objectType(), object2.objectType());
- QCOMPARE(object.objectClassName(), object2.objectClassName());
- QCOMPARE(object.objectTypeMajorVersion(), object2.objectTypeMajorVersion());
- QCOMPARE(object.objectTypeMinorVersion(), object2.objectTypeMinorVersion());
- QCOMPARE(object.objectId(), object2.objectId());
- QCOMPARE(object.properties().count(), object2.properties().count());
- QCOMPARE(object.dynamicProperties().count(), object2.dynamicProperties().count());
- QCOMPARE(object.isCustomType(), object2.isCustomType());
- QCOMPARE(object.customTypeData(), object2.customTypeData());
- QCOMPARE(object.isComponent(), object2.isComponent());
- QCOMPARE(object.position(), object2.position());
- QCOMPARE(object.length(), object2.length());
- QCOMPARE(object.url(), object2.url());
-
- QCOMPARE(object.isValid(), object3.isValid());
- QCOMPARE(object.objectType(), object3.objectType());
- QCOMPARE(object.objectClassName(), object3.objectClassName());
- QCOMPARE(object.objectTypeMajorVersion(), object3.objectTypeMajorVersion());
- QCOMPARE(object.objectTypeMinorVersion(), object3.objectTypeMinorVersion());
- QCOMPARE(object.objectId(), object3.objectId());
- QCOMPARE(object.properties().count(), object3.properties().count());
- QCOMPARE(object.dynamicProperties().count(), object3.dynamicProperties().count());
- QCOMPARE(object.isCustomType(), object3.isCustomType());
- QCOMPARE(object.customTypeData(), object3.customTypeData());
- QCOMPARE(object.isComponent(), object3.isComponent());
- QCOMPARE(object.position(), object3.position());
- QCOMPARE(object.length(), object3.length());
- QCOMPARE(object.url(), object3.url());
- }
-
- // QDeclarativeDomDynamicProperty
- {
- QDeclarativeDomObject object = document.rootObject();
- QDeclarativeDomDynamicProperty property = object.dynamicProperty("a");
-
- QDeclarativeDomDynamicProperty property2(property);
- QDeclarativeDomDynamicProperty property3;
- property3 = property;
-
- QCOMPARE(property.isValid(), property2.isValid());
- QCOMPARE(property.propertyName(), property2.propertyName());
- QCOMPARE(property.propertyType(), property2.propertyType());
- QCOMPARE(property.propertyTypeName(), property2.propertyTypeName());
- QCOMPARE(property.isDefaultProperty(), property2.isDefaultProperty());
- QCOMPARE(property.defaultValue().propertyName(), property2.defaultValue().propertyName());
- QCOMPARE(property.position(), property2.position());
- QCOMPARE(property.length(), property2.length());
-
- QCOMPARE(property.isValid(), property3.isValid());
- QCOMPARE(property.propertyName(), property3.propertyName());
- QCOMPARE(property.propertyType(), property3.propertyType());
- QCOMPARE(property.propertyTypeName(), property3.propertyTypeName());
- QCOMPARE(property.isDefaultProperty(), property3.isDefaultProperty());
- QCOMPARE(property.defaultValue().propertyName(), property3.defaultValue().propertyName());
- QCOMPARE(property.position(), property3.position());
- QCOMPARE(property.length(), property3.length());
- }
-
- // QDeclarativeDomProperty
- {
- QDeclarativeDomObject object = document.rootObject();
- QDeclarativeDomProperty property = object.property("opacity");
-
- QDeclarativeDomProperty property2(property);
- QDeclarativeDomProperty property3;
- property3 = property;
-
- QCOMPARE(property.isValid(), property2.isValid());
- QCOMPARE(property.propertyName(), property2.propertyName());
- QCOMPARE(property.propertyNameParts(), property2.propertyNameParts());
- QCOMPARE(property.isDefaultProperty(), property2.isDefaultProperty());
- QCOMPARE(property.value().type(), property2.value().type());
- QCOMPARE(property.position(), property2.position());
- QCOMPARE(property.length(), property2.length());
-
- QCOMPARE(property.isValid(), property3.isValid());
- QCOMPARE(property.propertyName(), property3.propertyName());
- QCOMPARE(property.propertyNameParts(), property3.propertyNameParts());
- QCOMPARE(property.isDefaultProperty(), property3.isDefaultProperty());
- QCOMPARE(property.value().type(), property3.value().type());
- QCOMPARE(property.position(), property3.position());
- QCOMPARE(property.length(), property3.length());
- }
-
- // QDeclarativeDomValueLiteral
- {
- QDeclarativeDomObject object = document.rootObject();
- QDeclarativeDomProperty property = object.property("x");
- QDeclarativeDomValueLiteral literal = property.value().toLiteral();
- QCOMPARE(literal.literal(), QString("10"));
-
- QDeclarativeDomValueLiteral literal2(literal);
- QDeclarativeDomValueLiteral literal3;
- literal3 = literal2;
-
- QCOMPARE(literal2.literal(), QString("10"));
- QCOMPARE(literal3.literal(), QString("10"));
- }
-
-
- // QDeclarativeDomValueBinding
- {
- QDeclarativeDomObject object = document.rootObject();
- QDeclarativeDomProperty property = object.property("y");
- QDeclarativeDomValueBinding binding = property.value().toBinding();
- QCOMPARE(binding.binding(), QString("x + 10"));
-
- QDeclarativeDomValueBinding binding2(binding);
- QDeclarativeDomValueBinding binding3;
- binding3 = binding2;
-
- QCOMPARE(binding2.binding(), QString("x + 10"));
- QCOMPARE(binding3.binding(), QString("x + 10"));
- }
-
- // QDeclarativeDomValueValueSource
- {
- QDeclarativeDomObject object = document.rootObject();
- QDeclarativeDomProperty property = object.property("z");
- QDeclarativeDomValueValueSource source = property.value().toValueSource();
- QCOMPARE(source.object().objectClassName(), QByteArray("NumberAnimation"));
-
- QDeclarativeDomValueValueSource source2(source);
- QDeclarativeDomValueValueSource source3;
- source3 = source;
-
- QCOMPARE(source2.object().objectClassName(), QByteArray("NumberAnimation"));
- QCOMPARE(source3.object().objectClassName(), QByteArray("NumberAnimation"));
- }
-
- // QDeclarativeDomValueValueInterceptor
- {
- QDeclarativeDomObject object = document.rootObject();
- QDeclarativeDomProperty property = object.property("opacity");
- QDeclarativeDomValueValueInterceptor interceptor = property.value().toValueInterceptor();
- QCOMPARE(interceptor.object().objectClassName(), QByteArray("Behavior"));
-
- QDeclarativeDomValueValueInterceptor interceptor2(interceptor);
- QDeclarativeDomValueValueInterceptor interceptor3;
- interceptor3 = interceptor;
-
- QCOMPARE(interceptor2.object().objectClassName(), QByteArray("Behavior"));
- QCOMPARE(interceptor3.object().objectClassName(), QByteArray("Behavior"));
- }
-
- // QDeclarativeDomComponent
- {
- QDeclarativeDomObject object = document.rootObject();
- QDeclarativeDomProperty property = object.property("data");
- QCOMPARE(property.value().toList().values().count(), 1);
- QDeclarativeDomComponent component =
- property.value().toList().values().at(0).toObject().toComponent();
- QCOMPARE(component.componentRoot().objectClassName(), QByteArray("Item"));
-
- QDeclarativeDomComponent component2(component);
- QDeclarativeDomComponent component3;
- component3 = component;
-
- QCOMPARE(component.componentRoot().objectClassName(), component2.componentRoot().objectClassName());
- QCOMPARE(component.isValid(), component2.isValid());
- QCOMPARE(component.objectType(), component2.objectType());
- QCOMPARE(component.objectClassName(), component2.objectClassName());
- QCOMPARE(component.objectTypeMajorVersion(), component2.objectTypeMajorVersion());
- QCOMPARE(component.objectTypeMinorVersion(), component2.objectTypeMinorVersion());
- QCOMPARE(component.objectId(), component2.objectId());
- QCOMPARE(component.properties().count(), component2.properties().count());
- QCOMPARE(component.dynamicProperties().count(), component2.dynamicProperties().count());
- QCOMPARE(component.isCustomType(), component2.isCustomType());
- QCOMPARE(component.customTypeData(), component2.customTypeData());
- QCOMPARE(component.isComponent(), component2.isComponent());
- QCOMPARE(component.position(), component2.position());
- QCOMPARE(component.length(), component2.length());
- QCOMPARE(component.url(), component2.url());
-
- QCOMPARE(component.componentRoot().objectClassName(), component3.componentRoot().objectClassName());
- QCOMPARE(component.isValid(), component3.isValid());
- QCOMPARE(component.objectType(), component3.objectType());
- QCOMPARE(component.objectClassName(), component3.objectClassName());
- QCOMPARE(component.objectTypeMajorVersion(), component3.objectTypeMajorVersion());
- QCOMPARE(component.objectTypeMinorVersion(), component3.objectTypeMinorVersion());
- QCOMPARE(component.objectId(), component3.objectId());
- QCOMPARE(component.properties().count(), component3.properties().count());
- QCOMPARE(component.dynamicProperties().count(), component3.dynamicProperties().count());
- QCOMPARE(component.isCustomType(), component3.isCustomType());
- QCOMPARE(component.customTypeData(), component3.customTypeData());
- QCOMPARE(component.isComponent(), component3.isComponent());
- QCOMPARE(component.position(), component3.position());
- QCOMPARE(component.length(), component3.length());
- QCOMPARE(component.url(), component3.url());
- }
-
- // QDeclarativeDomValue
- {
- QDeclarativeDomObject object = document.rootObject();
- QDeclarativeDomProperty property = object.property("data");
- QDeclarativeDomValue value = property.value();
-
- QDeclarativeDomValue value2(value);
- QDeclarativeDomValue value3;
- value3 = value;
-
- QCOMPARE(value.type(), value2.type());
- QCOMPARE(value.isInvalid(), value2.isInvalid());
- QCOMPARE(value.isLiteral(), value2.isLiteral());
- QCOMPARE(value.isBinding(), value2.isBinding());
- QCOMPARE(value.isValueSource(), value2.isValueSource());
- QCOMPARE(value.isValueInterceptor(), value2.isValueInterceptor());
- QCOMPARE(value.isObject(), value2.isObject());
- QCOMPARE(value.isList(), value2.isList());
- QCOMPARE(value.position(), value2.position());
- QCOMPARE(value.length(), value2.length());
-
- QCOMPARE(value.type(), value3.type());
- QCOMPARE(value.isInvalid(), value3.isInvalid());
- QCOMPARE(value.isLiteral(), value3.isLiteral());
- QCOMPARE(value.isBinding(), value3.isBinding());
- QCOMPARE(value.isValueSource(), value3.isValueSource());
- QCOMPARE(value.isValueInterceptor(), value3.isValueInterceptor());
- QCOMPARE(value.isObject(), value3.isObject());
- QCOMPARE(value.isList(), value3.isList());
- QCOMPARE(value.position(), value3.position());
- QCOMPARE(value.length(), value3.length());
- }
- {
- QDeclarativeDomObject object = document.rootObject();
- QDeclarativeDomProperty property = object.property("x");
- QDeclarativeDomValue value = property.value();
-
- QDeclarativeDomValue value2(value);
- QDeclarativeDomValue value3;
- value3 = value;
-
- QCOMPARE(value.type(), value2.type());
- QCOMPARE(value.isInvalid(), value2.isInvalid());
- QCOMPARE(value.isLiteral(), value2.isLiteral());
- QCOMPARE(value.isBinding(), value2.isBinding());
- QCOMPARE(value.isValueSource(), value2.isValueSource());
- QCOMPARE(value.isValueInterceptor(), value2.isValueInterceptor());
- QCOMPARE(value.isObject(), value2.isObject());
- QCOMPARE(value.isList(), value2.isList());
- QCOMPARE(value.position(), value2.position());
- QCOMPARE(value.length(), value2.length());
-
- QCOMPARE(value.type(), value3.type());
- QCOMPARE(value.isInvalid(), value3.isInvalid());
- QCOMPARE(value.isLiteral(), value3.isLiteral());
- QCOMPARE(value.isBinding(), value3.isBinding());
- QCOMPARE(value.isValueSource(), value3.isValueSource());
- QCOMPARE(value.isValueInterceptor(), value3.isValueInterceptor());
- QCOMPARE(value.isObject(), value3.isObject());
- QCOMPARE(value.isList(), value3.isList());
- QCOMPARE(value.position(), value3.position());
- QCOMPARE(value.length(), value3.length());
- }
- {
- QDeclarativeDomValue value;
-
- QDeclarativeDomValue value2(value);
- QDeclarativeDomValue value3;
- value3 = value;
-
- QCOMPARE(value.type(), value2.type());
- QCOMPARE(value.isInvalid(), value2.isInvalid());
- QCOMPARE(value.isLiteral(), value2.isLiteral());
- QCOMPARE(value.isBinding(), value2.isBinding());
- QCOMPARE(value.isValueSource(), value2.isValueSource());
- QCOMPARE(value.isValueInterceptor(), value2.isValueInterceptor());
- QCOMPARE(value.isObject(), value2.isObject());
- QCOMPARE(value.isList(), value2.isList());
- QCOMPARE(value.position(), value2.position());
- QCOMPARE(value.length(), value2.length());
-
- QCOMPARE(value.type(), value3.type());
- QCOMPARE(value.isInvalid(), value3.isInvalid());
- QCOMPARE(value.isLiteral(), value3.isLiteral());
- QCOMPARE(value.isBinding(), value3.isBinding());
- QCOMPARE(value.isValueSource(), value3.isValueSource());
- QCOMPARE(value.isValueInterceptor(), value3.isValueInterceptor());
- QCOMPARE(value.isObject(), value3.isObject());
- QCOMPARE(value.isList(), value3.isList());
- QCOMPARE(value.position(), value3.position());
- QCOMPARE(value.length(), value3.length());
- }
-
- // QDeclarativeDomList
- {
- QDeclarativeDomObject object = document.rootObject();
- QDeclarativeDomProperty property = object.property("children");
- QDeclarativeDomList list = property.value().toList();
- QCOMPARE(list.values().count(), 2);
-
- QDeclarativeDomList list2(list);
- QDeclarativeDomList list3;
- list3 = list2;
-
- QCOMPARE(list.values().count(), list2.values().count());
- QCOMPARE(list.position(), list2.position());
- QCOMPARE(list.length(), list2.length());
- QCOMPARE(list.commaPositions(), list2.commaPositions());
-
- QCOMPARE(list.values().count(), list3.values().count());
- QCOMPARE(list.position(), list3.position());
- QCOMPARE(list.length(), list3.length());
- QCOMPARE(list.commaPositions(), list3.commaPositions());
-
- }
-}
-
-// Tests the position/length of various elements
-void tst_qdeclarativedom::position()
-{
- QByteArray qml = "import QtQuick 1.0\n"
- "Item {\n"
- " id: myItem\n"
- " property int a: 10\n"
- " x: 10\n"
- " y: x + 10\n"
- " NumberAnimation on z {}\n"
- " Behavior on opacity {}\n"
- " Component {\n"
- " Item{}\n"
- " }\n"
- " children: [ Item{}, Item{} ]\n"
- "}\n";
-
-
- QDeclarativeDomDocument document;
- QVERIFY(document.load(&engine, qml));
-
- QDeclarativeDomObject root = document.rootObject();
-
- // All QDeclarativeDomDynamicProperty
- QDeclarativeDomDynamicProperty dynProp = root.dynamicProperty("a");
- QCOMPARE(dynProp.position(), 45);
- QCOMPARE(dynProp.length(), 18);
-
- // All QDeclarativeDomProperty
- QDeclarativeDomProperty x = root.property("x");
- QCOMPARE(x.position(), 68);
- QCOMPARE(x.length(), 1);
-
- QDeclarativeDomProperty y = root.property("y");
- QCOMPARE(y.position(), 78);
- QCOMPARE(y.length(), 1);
-
- QDeclarativeDomProperty z = root.property("z");
- QCOMPARE(z.position(), 111);
- QCOMPARE(z.length(), 1);
-
- QDeclarativeDomProperty opacity = root.property("opacity");
- QCOMPARE(opacity.position(), 132);
- QCOMPARE(opacity.length(), 7);
-
- QDeclarativeDomProperty data = root.property("data");
- QCOMPARE(data.position(), 147);
- QCOMPARE(data.length(), 0);
-
- QDeclarativeDomProperty children = root.property("children");
- QCOMPARE(children.position(), 184);
- QCOMPARE(children.length(), 8);
-
- QDeclarativeDomList dataList = data.value().toList();
- QCOMPARE(dataList.values().count(), 1);
- QDeclarativeDomList childrenList = children.value().toList();
- QCOMPARE(childrenList.values().count(), 2);
-
- // All QDeclarativeDomObject
- QCOMPARE(root.position(), 19);
- QCOMPARE(root.length(), 195);
-
- QDeclarativeDomObject numberAnimation = z.value().toValueSource().object();
- QCOMPARE(numberAnimation.position(), 92);
- QCOMPARE(numberAnimation.length(), 23);
-
- QDeclarativeDomObject behavior = opacity.value().toValueInterceptor().object();
- QCOMPARE(behavior.position(), 120);
- QCOMPARE(behavior.length(), 22);
-
- QDeclarativeDomObject component = dataList.values().at(0).toObject();
- QCOMPARE(component.position(), 147);
- QCOMPARE(component.length(), 32);
-
- QDeclarativeDomObject componentRoot = component.toComponent().componentRoot();
- QCOMPARE(componentRoot.position(), 167);
- QCOMPARE(componentRoot.length(), 6);
-
- QDeclarativeDomObject child1 = childrenList.values().at(0).toObject();
- QCOMPARE(child1.position(), 196);
- QCOMPARE(child1.length(), 6);
-
- QDeclarativeDomObject child2 = childrenList.values().at(1).toObject();
- QCOMPARE(child2.position(), 204);
- QCOMPARE(child2.length(), 6);
-
- // All QDeclarativeDomValue
- QDeclarativeDomValue xValue = x.value();
- QCOMPARE(xValue.position(), 71);
- QCOMPARE(xValue.length(), 2);
-
- QDeclarativeDomValue yValue = y.value();
- QCOMPARE(yValue.position(), 81);
- QCOMPARE(yValue.length(), 6);
-
- QDeclarativeDomValue zValue = z.value();
- QCOMPARE(zValue.position(), 92);
- QCOMPARE(zValue.length(), 23);
-
- QDeclarativeDomValue opacityValue = opacity.value();
- QCOMPARE(opacityValue.position(), 120);
- QCOMPARE(opacityValue.length(), 22);
-
- QDeclarativeDomValue dataValue = data.value();
- QCOMPARE(dataValue.position(), 147);
- QCOMPARE(dataValue.length(), 32);
-
- QDeclarativeDomValue child1Value = childrenList.values().at(0);
- QCOMPARE(child1Value.position(), 196);
- QCOMPARE(child1Value.length(), 6);
-
- QDeclarativeDomValue child2Value = childrenList.values().at(1);
- QCOMPARE(child2Value.position(), 204);
- QCOMPARE(child2Value.length(), 6);
-
- // All QDeclarativeDomList
- QCOMPARE(childrenList.position(), 194);
- QCOMPARE(childrenList.length(), 18);
-}
-
-QTEST_MAIN(tst_qdeclarativedom)
-
-#include "tst_qdeclarativedom.moc"
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/Scope6Nested.qml b/tests/auto/declarative/qdeclarativeecmascript/data/Scope6Nested.qml
new file mode 100644
index 0000000000..a3794df22b
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/Scope6Nested.qml
@@ -0,0 +1,7 @@
+import Qt.test 1.0
+
+MyQmlObject {
+ function runtest(obj) {
+ return obj.MyQmlObject.value == 19;
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.1.qml b/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.1.qml
new file mode 100644
index 0000000000..3182d6b4ab
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.1.qml
@@ -0,0 +1,12 @@
+import QtQuick 1.0
+
+Item {
+ property int changeCount: 0
+
+ property bool _nameWithUnderscore: false
+
+ // this should error, since the first alpha isn't capitalised.
+ on_nameWithUnderscoreChanged: {
+ changeCount = changeCount + 2;
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.2.qml b/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.2.qml
new file mode 100644
index 0000000000..50ef0b34dd
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.2.qml
@@ -0,0 +1,12 @@
+import QtQuick 1.0
+
+Item {
+ property int changeCount: 0
+
+ property bool ____nameWithUnderscores: false
+
+ // this should error, since the first alpha isn't capitalised
+ on____nameWithUnderscoresChanged: {
+ changeCount = changeCount + 3;
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.3.qml b/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.3.qml
new file mode 100644
index 0000000000..343cf91720
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.3.qml
@@ -0,0 +1,12 @@
+import QtQuick 1.0
+
+Item {
+ property int changeCount: 0
+
+ // invalid property name - we don't allow $
+ property bool $nameWithDollarsign: false
+
+ on$NameWithDollarsignChanged: {
+ changeCount = changeCount + 4;
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.4.qml b/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.4.qml
new file mode 100644
index 0000000000..b8459875df
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlotErrors.4.qml
@@ -0,0 +1,12 @@
+import QtQuick 1.0
+
+Item {
+ property int changeCount: 0
+
+ property bool _6nameWithUnderscoreNumber: false
+
+ // invalid property name - the first character after an underscore must be a letter
+ on_6NameWithUnderscoreNumberChanged: {
+ changeCount = changeCount + 3;
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlots.qml b/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlots.qml
new file mode 100644
index 0000000000..d31c89382b
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/changeslots/propertyChangeSlots.qml
@@ -0,0 +1,27 @@
+import QtQuick 1.0
+
+Item {
+ property int changeCount: 0
+
+ property bool normalName: false
+ property bool _nameWithUnderscore: false
+ property bool ____nameWithUnderscores: false
+
+ onNormalNameChanged: {
+ changeCount = changeCount + 1;
+ }
+
+ on_NameWithUnderscoreChanged: {
+ changeCount = changeCount + 2;
+ }
+
+ on____NameWithUnderscoresChanged: {
+ changeCount = changeCount + 3;
+ }
+
+ Component.onCompleted: {
+ normalName = true;
+ _nameWithUnderscore = true;
+ ____nameWithUnderscores = true;
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/SpecialRectangleOne.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/SpecialRectangleOne.qml
new file mode 100644
index 0000000000..698b672259
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/SpecialRectangleOne.qml
@@ -0,0 +1,9 @@
+import QtQuick 1.0
+
+import "importPragmaLibrary.js" as TestPragmaLibraryImport
+
+Rectangle {
+ width: TestPragmaLibraryImport.importIncrementedValue()
+ height: width + 15
+ color: "red"
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/SpecialRectangleTwo.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/SpecialRectangleTwo.qml
new file mode 100644
index 0000000000..581ae671e3
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/SpecialRectangleTwo.qml
@@ -0,0 +1,9 @@
+import QtQuick 1.0
+
+import "importPragmaLibrary.js" as TestPragmaLibraryImport
+
+Rectangle {
+ width: TestPragmaLibraryImport.importIncrementedValue()
+ height: width + 5
+ color: "blue"
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importFive.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importFive.js
new file mode 100644
index 0000000000..e458094552
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importFive.js
@@ -0,0 +1,3 @@
+function importFiveFunction() {
+ return '5';
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importFour.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importFour.js
new file mode 100644
index 0000000000..faddc15c9d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importFour.js
@@ -0,0 +1,9 @@
+.pragma library
+
+function importFourFunction() {
+ return '4';
+}
+
+function greetingString() {
+ return 'Hello, World!';
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importOne.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importOne.js
new file mode 100644
index 0000000000..338c4e042f
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importOne.js
@@ -0,0 +1,13 @@
+.import "importTwo.js" as ImportTwoJs
+.import "importThree.js" as ImportThreeJs
+
+function greetingString() {
+ if (ImportTwoJs.greetingString().length > 0) {
+ return ImportTwoJs.greetingString();
+ }
+ return ImportThreeJs.greetingString();
+}
+
+function importOneFunction() {
+ return '1';
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importPragmaLibrary.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importPragmaLibrary.js
new file mode 100644
index 0000000000..c746fef14b
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importPragmaLibrary.js
@@ -0,0 +1,9 @@
+.pragma library
+
+var i = 4;
+
+// .pragma library, so should be callable from multiple .qml with shared i.
+function importIncrementedValue() {
+ i = i + 1;
+ return i;
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importThree.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importThree.js
new file mode 100644
index 0000000000..3917134ee2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importThree.js
@@ -0,0 +1,9 @@
+.import "importFour.js" as ImportFourJs
+
+function greetingString() {
+ return ImportFourJs.greetingString();
+}
+
+function importThreeFunction() {
+ return '3';
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importTwo.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importTwo.js
new file mode 100644
index 0000000000..45b3c9a74d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importTwo.js
@@ -0,0 +1,10 @@
+.import "importFour.js" as ImportFourJs
+.import "importFive.js" as ImportFiveJs
+
+function greetingString() {
+ return ImportFourJs.greetingString();
+}
+
+function importTwoFunction() {
+ return '2';
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importWithNoImports.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importWithNoImports.js
new file mode 100644
index 0000000000..83426c425c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/importWithNoImports.js
@@ -0,0 +1,11 @@
+// This js file has no imports, and so should inherit
+// scope from the QML file which includes it.
+
+function componentError() {
+ var i = 5;
+ var errorIsOne = Component.error == 1;
+ if (errorIsOne == true) {
+ i = i + 7;
+ }
+ return i;
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImport.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImport.qml
new file mode 100644
index 0000000000..4a284ad886
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImport.qml
@@ -0,0 +1,14 @@
+import QtQuick 1.0
+
+import "testScriptImport.js" as TestScriptImport
+import "testModuleImport.js" as TestModuleImport
+
+QtObject {
+ id: testQtObject
+
+ property string importedScriptStringValue: TestScriptImport.greetingText
+ property int importedScriptFunctionValue: TestScriptImport.randomInteger(1, 20)
+
+ property int importedModuleAttachedPropertyValue: TestModuleImport.importedAttachedPropertyValue(testQtObject)
+ property int importedModuleEnumValue: TestModuleImport.importedEnumValue
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImportPragmaLibrary.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImportPragmaLibrary.qml
new file mode 100644
index 0000000000..7add311326
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImportPragmaLibrary.qml
@@ -0,0 +1,20 @@
+import QtQuick 1.0
+
+// We use the components specified in SpecialRectangleOne.qml and SpecialRectangleTwo.qml
+
+QtObject {
+ id: testQtObject
+
+ property SpecialRectangleOne a;
+ property SpecialRectangleTwo b;
+
+ a: SpecialRectangleOne {
+ id: rectangleOne
+ }
+ b: SpecialRectangleTwo {
+ id: rectangleTwo
+ }
+
+ // this should be: (5 + 15) + (6 + 5) == 31
+ property int testValue: rectangleOne.height + rectangleTwo.height
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImportScoping.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImportScoping.qml
new file mode 100644
index 0000000000..0df841c78c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testImportScoping.qml
@@ -0,0 +1,11 @@
+import QtQuick 1.0
+
+// For backward compatibility, importing a script which has no imports,
+// should run the script in the parent context. See QTBUG-17518.
+
+import "importWithNoImports.js" as TestNoImportScoping
+
+QtObject {
+ id: testQtObject
+ property int componentError: TestNoImportScoping.componentError()
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testModuleImport.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testModuleImport.js
new file mode 100644
index 0000000000..69bc1c9887
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testModuleImport.js
@@ -0,0 +1,8 @@
+.import Qt.test 1.0 as JsQtTest // test that we can import elements from .js files
+
+function importedAttachedPropertyValue(obj) {
+ return obj.JsQtTest.MyQmlObject.value; // attached property, value = 19.
+}
+
+var importedEnumValue = JsQtTest.MyQmlObject.EnumValue3 // the actual value of this enum value is "2"
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testScriptImport.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testScriptImport.js
new file mode 100644
index 0000000000..2ecccd8816
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimport/testScriptImport.js
@@ -0,0 +1,11 @@
+.import "importOne.js" as ImportOneJs // test that we can import scripts from .js files
+
+var greetingText = ImportOneJs.greetingString()
+
+function randomInteger(min, max) {
+ if (max > min) {
+ if (min > 10) return min;
+ return max;
+ }
+ return min;
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failFive.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failFive.qml
new file mode 100644
index 0000000000..9bf969cc61
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failFive.qml
@@ -0,0 +1,11 @@
+import QtQuick 1.0
+
+// This should fail, since if the script does have imports
+// of its own, it should run in its own context.
+
+import "importWithImports.js" as TestImportScoping
+
+QtObject {
+ id: testQtObject
+ property int componentError: TestImportScoping.componentError()
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failFour.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failFour.qml
new file mode 100644
index 0000000000..fe7e88a829
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failFour.qml
@@ -0,0 +1,7 @@
+import QtQuick 1.0
+
+import "testModuleImport.js" as TestModuleImport
+
+QtObject {
+ property int importedModuleEnumValue: JsQtTest.MyQmlObject.EnumValue3 // should fail - the typenames available in TestModuleImport should not be available in this scope
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failOne.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failOne.qml
new file mode 100644
index 0000000000..e7fb7656f0
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failOne.qml
@@ -0,0 +1,7 @@
+import QtQuick 1.0
+
+import "testScriptImport.js" as TestScriptImport
+
+QtObject {
+ property string importScriptFunctionValue: TestScriptImport.ImportOneJs.greetingString() // should fail - the context of TestScriptImport is private to TestScriptImport.
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failThree.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failThree.qml
new file mode 100644
index 0000000000..fa720a64eb
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failThree.qml
@@ -0,0 +1,8 @@
+import QtQuick 1.0
+
+import "testModuleImport.js" as TestModuleImport
+
+QtObject {
+ id: testQtObject
+ property int importedModuleAttachedPropertyValue: testQtObject.TestModuleImport.JsQtTest.MyQmlObject.value // should fail - the context of TestScriptImport is private to TestScriptImport.
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failTwo.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failTwo.qml
new file mode 100644
index 0000000000..c2cbce9f80
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/failTwo.qml
@@ -0,0 +1,7 @@
+import QtQuick 1.0
+
+import "testScriptImport.js" as TestScriptImport
+
+QtObject {
+ property string importScriptFunctionValue: ImportOneJs.greetingString() // should fail - the typenames in TestScriptImport should not be visible from this scope
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importOne.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importOne.js
new file mode 100644
index 0000000000..45fd9c75dd
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importOne.js
@@ -0,0 +1,7 @@
+function greetingString() {
+ return 'Hello, World!';
+}
+
+function importOneFunction() {
+ return '1';
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importPragmaLibrary.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importPragmaLibrary.js
new file mode 100644
index 0000000000..ad0e6946a2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importPragmaLibrary.js
@@ -0,0 +1,11 @@
+.pragma library
+
+// .pragma library, so shouldn't inherit imports from any .qml file.
+function importValue() {
+ var i = 3;
+ var errorIsOne = Component.error == 1; // this line should fail.
+ if (errorIsOne == true) {
+ i = i + 4;
+ }
+ return i;
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importWithImports.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importWithImports.js
new file mode 100644
index 0000000000..6d77ceccb1
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/importWithImports.js
@@ -0,0 +1,13 @@
+.import "importOne.js" as ImportOne
+
+// This js file has imports, so should not inherit
+// scope from the QML file which includes it.
+
+function componentError() {
+ var i = 3;
+ var errorIsOne = Component.error == 1; // this line should fail.
+ if (errorIsOne == true) {
+ i = i + 4;
+ }
+ return i;
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testImportPragmaLibrary.qml b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testImportPragmaLibrary.qml
new file mode 100644
index 0000000000..7e4a73ae42
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testImportPragmaLibrary.qml
@@ -0,0 +1,8 @@
+import QtQuick 1.0
+
+import "importPragmaLibrary.js" as ImportPragmaLibrary
+
+QtObject {
+ id: testQtObject
+ property int testValue: ImportPragmaLibrary.importValue()
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testModuleImport.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testModuleImport.js
new file mode 100644
index 0000000000..69bc1c9887
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testModuleImport.js
@@ -0,0 +1,8 @@
+.import Qt.test 1.0 as JsQtTest // test that we can import elements from .js files
+
+function importedAttachedPropertyValue(obj) {
+ return obj.JsQtTest.MyQmlObject.value; // attached property, value = 19.
+}
+
+var importedEnumValue = JsQtTest.MyQmlObject.EnumValue3 // the actual value of this enum value is "2"
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testScriptImport.js b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testScriptImport.js
new file mode 100644
index 0000000000..2ecccd8816
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/jsimportfail/testScriptImport.js
@@ -0,0 +1,11 @@
+.import "importOne.js" as ImportOneJs // test that we can import scripts from .js files
+
+var greetingText = ImportOneJs.greetingString()
+
+function randomInteger(min, max) {
+ if (max > min) {
+ if (min > 10) return min;
+ return max;
+ }
+ return min;
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/moduleApi.qml b/tests/auto/declarative/qdeclarativeecmascript/data/moduleApi.qml
new file mode 100644
index 0000000000..23c1eb0bb8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/moduleApi.qml
@@ -0,0 +1,23 @@
+import QtQuick 1.0
+
+import Qt.test 1.0 as QtTest // module API installed into existing uri
+import Qt.test.scriptApi 1.0 as QtTestScriptApi // script module API installed into new uri
+import Qt.test.qobjectApi 1.0 as QtTestQObjectApi // qobject module API installed into new uri
+import Qt.test.qobjectApi 1.3 as QtTestMinorVersionQObjectApi // qobject module API installed into existing uri with new minor version
+import Qt.test.qobjectApi 2.0 as QtTestMajorVersionQObjectApi // qobject module API installed into existing uri with new major version
+import Qt.test.qobjectApiParented 1.0 as QtTestParentedQObjectApi // qobject (with parent) module API installed into a new uri
+
+QtObject {
+ property int existingUriTest: QtTest.qobjectTestProperty
+ property int scriptTest: QtTestScriptApi.scriptTestProperty
+ property int qobjectTest: QtTestQObjectApi.qobjectTestProperty
+ property int qobjectMethodTest: 2
+ property int qobjectMinorVersionTest: QtTestMinorVersionQObjectApi.qobjectTestProperty
+ property int qobjectMajorVersionTest: QtTestMajorVersionQObjectApi.qobjectTestProperty
+ property int qobjectParentedTest: QtTestParentedQObjectApi.qobjectTestProperty
+
+ Component.onCompleted: {
+ qobjectMethodTest = QtTestQObjectApi.qobjectTestMethod();
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiCaching.qml b/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiCaching.qml
new file mode 100644
index 0000000000..9cee8c3065
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiCaching.qml
@@ -0,0 +1,12 @@
+import QtQuick 1.0
+
+import Qt.test 1.0 as QtTest // module API installed into existing uri
+import Qt.test.scriptApi 1.0 as QtTestScriptApi // script module API installed into new uri
+import Qt.test.qobjectApiParented 1.0 as QtTestParentedQObjectApi // qobject (with parent) module API installed into a new uri
+
+QtObject {
+ property int existingUriTest: QtTest.qobjectTestProperty
+ property int scriptTest: QtTestScriptApi.scriptTestProperty
+ property int qobjectParentedTest: QtTestParentedQObjectApi.qobjectTestProperty
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiMajorVersionFail.qml b/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiMajorVersionFail.qml
new file mode 100644
index 0000000000..eca29ab2cf
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiMajorVersionFail.qml
@@ -0,0 +1,10 @@
+import QtQuick 1.0
+
+// this qml file attempts to import an invalid version of a qobject module API.
+
+import Qt.test.qobjectApi 4.0 as QtTestMajorVersionQObjectApi // qobject module API installed into existing uri with nonexistent major version
+
+QtObject {
+ property int qobjectMajorVersionTest: QtTestMajorVersionQObjectApi.qobjectTestProperty
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiMinorVersionFail.qml b/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiMinorVersionFail.qml
new file mode 100644
index 0000000000..e360bd1668
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiMinorVersionFail.qml
@@ -0,0 +1,10 @@
+import QtQuick 1.0
+
+// this qml file attempts to import an invalid version of a qobject module API.
+
+import Qt.test.qobjectApi 1.2 as QtTestMinorVersionQObjectApi // qobject module API installed into existing uri with nonexistent minor version
+
+QtObject {
+ property int qobjectMinorVersionTest: QtTestMinorVersionedQObjectApi.qobjectTestProperty
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiWriting.qml b/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiWriting.qml
new file mode 100644
index 0000000000..90a674681c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/moduleApiWriting.qml
@@ -0,0 +1,27 @@
+import QtQuick 1.0
+
+import Qt.test 1.0 as QtTest // module API installed into existing uri
+
+QtObject {
+ property int firstProperty: 1
+ property int secondProperty: 2
+ property int readOnlyProperty: QtTest.qobjectTestProperty
+ property int writableProperty: QtTest.qobjectTestWritableProperty
+
+ onFirstPropertyChanged: {
+ // In this case, we want to attempt to set the module API property.
+ // This should fail, as the module API property is read only.
+ if (firstProperty != QtTest.qobjectTestProperty) {
+ QtTest.qobjectTestProperty = firstProperty; // should silently fail.
+ }
+ }
+
+ onSecondPropertyChanged: {
+ // In this case, we want to attempt to set the module API property.
+ // This should succeed, as the module API property is writable.
+ if (secondProperty != QtTest.qobjectTestWritableProperty) {
+ QtTest.qobjectTestWritableProperty = secondProperty; // should succeed.
+ }
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/realToInt.qml b/tests/auto/declarative/qdeclarativeecmascript/data/realToInt.qml
new file mode 100644
index 0000000000..cbbbbf921a
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/realToInt.qml
@@ -0,0 +1,11 @@
+import QtQuick 1.0
+import Qt.test 1.0
+
+MyQmlObject {
+ function test1() {
+ value = 4.2
+ }
+ function test2() {
+ value = 7.9
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/ScarceResourceSignalComponent.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/ScarceResourceSignalComponent.qml
new file mode 100644
index 0000000000..fb40bdc2de
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/ScarceResourceSignalComponent.qml
@@ -0,0 +1,9 @@
+import QtQuick 1.0
+
+QtObject {
+ property variant scarceResourceCopy
+ property int width: 5
+ signal testSignal
+ signal testSignal2
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopy.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopy.qml
new file mode 100644
index 0000000000..82184354d8
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopy.qml
@@ -0,0 +1,15 @@
+import QtQuick 1.0
+import Qt.test 1.0
+
+// Here we import a scarce resource directly.
+// The instance has a property which is a copy
+// of the scarce resource, so it should not be
+// detached (but we should automatically release
+// the resource from our engine internal list).
+
+QtObject {
+ property MyScarceResourceObject a;
+ a: MyScarceResourceObject { id: scarceResourceProvider }
+ property variant scarceResourceCopy: scarceResourceProvider.scarceResource
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyFromJs.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyFromJs.qml
new file mode 100644
index 0000000000..60c26ac4f2
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyFromJs.qml
@@ -0,0 +1,15 @@
+import QtQuick 1.0
+import Qt.test 1.0
+import "scarceResourceTest.js" as ScarceResourceProviderJs
+
+// Here we import a scarce resource directly, from JS module.
+// It is not preserved or released manually, so it should be
+// automatically released once evaluation of the binding
+// is complete.
+
+QtObject {
+ property MyScarceResourceObject a;
+ a: MyScarceResourceObject { id: scarceResourceProvider }
+ property variant scarceResourceCopy: ScarceResourceProviderJs.importScarceResource(scarceResourceProvider)
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImport.js b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImport.js
new file mode 100644
index 0000000000..bacc50dcc9
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImport.js
@@ -0,0 +1,24 @@
+.import Qt.test 1.0 as JsQtTest
+
+// In this case, the "retn" variable will be evaluated during import.
+// Since the "importScarceResource()" function depends on this variable,
+// we must explicitly preserve the "retn" variable or the scarce
+// resource would automatically be released after import completes
+// but before the binding is evaluated.
+
+var component = Qt.createComponent("scarceResourceCopy.qml");
+var scarceResourceElement = component.createObject(null);
+var scarceResourceProvider = scarceResourceElement.a;
+var retn = scarceResourceProvider.scarceResource;
+retn.preserve(); // must preserve manually or it will be released!
+
+function importScarceResource() {
+ // if called prior to calling destroyScarceResource(),
+ // this function should return the preserved scarce resource.
+ // otherwise, it should return an invalid variant.
+ return retn;
+}
+
+function destroyScarceResource() {
+ retn.destroy();
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImport.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImport.qml
new file mode 100644
index 0000000000..0513b0840e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImport.qml
@@ -0,0 +1,18 @@
+import QtQuick 1.0
+import Qt.test 1.0
+import "scarceResourceCopyImport.js" as ScarceResourceCopyImportJs
+
+QtObject {
+ // this binding is evaluated once, prior to the resource being released
+ property variant scarceResourceCopy: ScarceResourceCopyImportJs.importScarceResource()
+
+ // this code is evaluated on completion, and so copy one should be valid, copy two invalid.
+ property variant scarceResourceAssignedCopyOne;
+ property variant scarceResourceAssignedCopyTwo;
+ Component.onCompleted: {
+ scarceResourceAssignedCopyOne = ScarceResourceCopyImportJs.importScarceResource();
+ ScarceResourceCopyImportJs.destroyScarceResource();
+ scarceResourceAssignedCopyTwo = ScarceResourceCopyImportJs.importScarceResource();
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportFail.js b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportFail.js
new file mode 100644
index 0000000000..6c495863b5
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportFail.js
@@ -0,0 +1,18 @@
+.import Qt.test 1.0 as JsQtTest
+
+// In this case, the "retn" variable will be evaluated during import.
+// Since the importScarceResource() function depends on this variable,
+// because we DO NOT call "retn.preserve()", the scarce resource will
+// be released after the import completes but prior to evaluation of
+// any binding which calls "importScarceResource()".
+// Thus, "importScarceResource()" will return a released (invalid)
+// scarce resource.
+
+var component = Qt.createComponent("scarceResourceCopy.qml");
+var scarceResourceElement = component.createObject(null);
+var scarceResourceProvider = scarceResourceElement.a;
+var retn = scarceResourceProvider.scarceResource;
+
+function importScarceResource() {
+ return retn; // should return a released (invalid) scarce resource
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportFail.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportFail.qml
new file mode 100644
index 0000000000..d3c4d4ed65
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportFail.qml
@@ -0,0 +1,8 @@
+import QtQuick 1.0
+import Qt.test 1.0
+import "scarceResourceCopyImportFail.js" as ScarceResourceCopyImportFailJs
+
+QtObject {
+ property variant scarceResourceCopy: ScarceResourceCopyImportFailJs.importScarceResource()
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportNoBinding.js b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportNoBinding.js
new file mode 100644
index 0000000000..4a5b6b4427
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportNoBinding.js
@@ -0,0 +1,14 @@
+.import Qt.test 1.0 as JsQtTest
+
+// In this case, the "retn" variable will be evaluated during import.
+// Since the importScarceResource() function depends on this variable,
+// because we DO NOT call "retn.preserve()", the scarce resource will
+// be released after the import completes but prior to evaluation of
+// any binding which calls "importScarceResource()".
+// Thus, "importScarceResource()" will return a released (invalid)
+// scarce resource.
+
+var component = Qt.createComponent("scarceResourceCopyNoBinding.qml");
+var scarceResourceElement = component.createObject(null);
+var scarceResourceProvider = scarceResourceElement.a;
+var retn = scarceResourceProvider.scarceResource;
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportNoBinding.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportNoBinding.qml
new file mode 100644
index 0000000000..72cd4dac8a
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyImportNoBinding.qml
@@ -0,0 +1,12 @@
+import QtQuick 1.0
+import Qt.test 1.0
+
+// the following js import doesn't manually preserve or destroy any resources
+import "scarceResourceCopyImportNoBinding.js" as ScarceResourceCopyImportNoBindingJs
+
+QtObject {
+ // in this case, there is an import but no binding evaluated.
+ // nonetheless, any resources which are not preserved, should
+ // be automatically released by the engine.
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyNoBinding.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyNoBinding.qml
new file mode 100644
index 0000000000..681a382427
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceCopyNoBinding.qml
@@ -0,0 +1,14 @@
+import QtQuick 1.0
+import Qt.test 1.0
+
+QtObject {
+ // this component doesn't bind any property to a scarce
+ // resource from the scarce resource provider,
+ // so the binding evaluation resource cleanup
+ // codepath shouldn't be activated; so if the resources
+ // are released, it will be due to the import evaluation
+ // resource cleanup codepath being activated correctly.
+ property MyScarceResourceObject a;
+ a: MyScarceResourceObject { id: scarceResourceProvider }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceDestroyedCopy.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceDestroyedCopy.qml
new file mode 100644
index 0000000000..87ceda9d7a
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceDestroyedCopy.qml
@@ -0,0 +1,14 @@
+import QtQuick 1.0
+import Qt.test 1.0
+import "scarceResourceTest.js" as ScarceResourceProviderJs
+
+// In this case, following the evaluation of the binding,
+// the scarceResourceTest value should be an invalid variant,
+// since the scarce resource will have been released.
+
+QtObject {
+ property MyScarceResourceObject a;
+ a: MyScarceResourceObject { id: scarceResourceProvider }
+ property variant scarceResourceCopy: ScarceResourceProviderJs.importReleasedScarceResource(scarceResourceProvider);
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceFunction.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceFunction.qml
new file mode 100644
index 0000000000..e3e7aed9ee
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceFunction.qml
@@ -0,0 +1,23 @@
+import QtQuick 1.0
+import Qt.test 1.0
+
+// Here we import a scarce resource directly.
+// The copy is only assigned when retrieveScarceResource()
+// is called, and so should be detached prior to that.
+// The copy should be released when releaseScarceResource()
+// is called, and so should be detached after that.
+
+QtObject {
+ id: root
+ property MyScarceResourceObject a: MyScarceResourceObject { id: scarceResourceProvider }
+ property variant scarceResourceCopy;
+
+ function retrieveScarceResource() {
+ root.scarceResourceCopy = scarceResourceProvider.scarceResource;
+ }
+
+ function releaseScarceResource() {
+ root.scarceResourceCopy = null;
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceFunctionFail.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceFunctionFail.qml
new file mode 100644
index 0000000000..b1342fea90
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceFunctionFail.qml
@@ -0,0 +1,23 @@
+import QtQuick 1.0
+import Qt.test 1.0
+
+// In this example, a common syntax error will only be "caught"
+// when the function is called via:
+// QDeclarativeVMEMetaObject::metaCall->invokeMetaMethod()
+// We would like to ensure that a useful error message is printed,
+// rather than having QScriptValue::call() function fail silently.
+
+QtObject {
+ id: root
+ property MyScarceResourceObject a: MyScarceResourceObject { id: scarceResourceProvider }
+ property variant scarceResourceCopy;
+
+ function retrieveScarceResource() {
+ root.scarceResourceCopy = scarceResourceProvider.scarceResource(); // common syntax error, should throw exception
+ }
+
+ function releaseScarceResource() {
+ root.scarceResourceCopy = null;
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceSignal.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceSignal.qml
new file mode 100644
index 0000000000..9c920b1aa0
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceSignal.qml
@@ -0,0 +1,29 @@
+import QtQuick 1.0
+import Qt.test 1.0
+
+QtObject {
+ id: root
+
+ property MyScarceResourceObject a;
+ a: MyScarceResourceObject { id: scarceResourceProvider }
+
+ property ScarceResourceSignalComponent b;
+ b: ScarceResourceSignalComponent {
+ objectName: "srsc"
+
+ onTestSignal: {
+ // this signal will be invoked manually in the test.
+ // the scarce resource should be released automatically after evaluation
+ // and since we don't keep a copy of it, the pixmap will be detached.
+ width = (scarceResourceProvider.scarceResource,10)
+ }
+
+ onTestSignal2: {
+ // this signal will be invoked manually in the test.
+ // the scarce resource should be released automatically after evaluation
+ // but since we assign it to a property, the pixmap won't be detached.
+ scarceResourceCopy = scarceResourceProvider.scarceResource
+ }
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTest.js b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTest.js
new file mode 100644
index 0000000000..c904eb3564
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTest.js
@@ -0,0 +1,48 @@
+.import Qt.test 1.0 as JsQtTest
+
+function importScarceResource(scarceResourceProvider) {
+ // the scarce resource should be automatically released
+ // after the binding is evaluated if preserve is not
+ // called.
+ return scarceResourceProvider.scarceResource;
+}
+
+function importPreservedScarceResource(scarceResourceProvider) {
+ // the scarce resource is manually preserved
+ // during the evaluation of the binding.
+ // it should not be released.
+ var scarceResource = scarceResourceProvider.scarceResource;
+ scarceResource.preserve();
+ return scarceResource;
+}
+
+function importReleasedScarceResource(scarceResourceProvider) {
+ // release the scarce resource during the
+ // evaluation of the binding. The returned
+ // variant will therefore be invalid.
+ var scarceResource = scarceResourceProvider.scarceResource;
+ scarceResource.destroy();
+ return scarceResource;
+}
+
+function importPreservedScarceResourceFromMultiple(scarceResourceProvider) {
+ // some scarce resources are manually preserved,
+ // some of them are manually destroyed,
+ // and some are automatically managed.
+ // We return a preserved resource
+ var sr1 = scarceResourceProvider.scarceResource; // preserved/destroyed.
+ sr1.preserve();
+ var sr2 = scarceResourceProvider.scarceResource; // preserved/destroyed
+ sr2.preserve();
+ var sr3 = scarceResourceProvider.scarceResource; // automatic.
+ var sr4 = scarceResourceProvider.scarceResource; // automatic and returned.
+ var sr5 = scarceResourceProvider.scarceResource; // destroyed
+ sr5.destroy();
+ sr2.destroy();
+ var sr6 = scarceResourceProvider.scarceResource; // destroyed
+ var sr7 = scarceResourceProvider.scarceResource; // automatic
+ sr1.destroy();
+ sr6.destroy();
+ return sr4;
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTest.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTest.qml
new file mode 100644
index 0000000000..3775172c04
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTest.qml
@@ -0,0 +1,14 @@
+import QtQuick 1.0
+import Qt.test 1.0
+
+// Here we import a scarce resource directly, and use it in a binding.
+// It is not preserved or released manually, so it should be
+// automatically released once evaluation of the binding
+// is complete.
+
+QtObject {
+ property MyScarceResourceObject a;
+ a: MyScarceResourceObject { id: scarceResourceProvider }
+ property int scarceResourceTest: scarceResourceProvider.scarceResource,100 // return 100, but include the scarceResource in the binding to be evaluated.
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTestMultiple.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTestMultiple.qml
new file mode 100644
index 0000000000..3139382b05
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTestMultiple.qml
@@ -0,0 +1,16 @@
+import QtQuick 1.0
+import Qt.test 1.0
+import "scarceResourceTest.js" as ScarceResourceProviderJs
+
+// In this case, multiple scarce resource are explicity preserved
+// and then explicitly destroyed, while others are automatically
+// managed. Since none are manually preserved without subsequently
+// being destroyed, after the evaluation of the binding the
+// scarce resource should be detached.
+
+QtObject {
+ property MyScarceResourceObject a;
+ a: MyScarceResourceObject { id: scarceResourceProvider }
+ property int scarceResourceTest: ScarceResourceProviderJs.importPreservedScarceResourceFromMultiple(scarceResourceProvider), 100
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTestPreserve.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTestPreserve.qml
new file mode 100644
index 0000000000..d810377a51
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scarceresources/scarceResourceTestPreserve.qml
@@ -0,0 +1,15 @@
+import QtQuick 1.0
+import Qt.test 1.0
+import "scarceResourceTest.js" as ScarceResourceProviderJs
+
+// In this case, the scarce resource is explicity preserved.
+// It should not be automatically released after the evaluation
+// of the binding is complete, but instead will be kept in
+// memory until the JS garbage collector runs.
+
+QtObject {
+ property MyScarceResourceObject a;
+ a: MyScarceResourceObject { id: scarceResourceProvider }
+ property int scarceResourceTest: ScarceResourceProviderJs.importPreservedScarceResource(scarceResourceProvider),100 // return 100, but the resource should be preserved.
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scope.5.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scope.5.qml
new file mode 100644
index 0000000000..405746c459
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scope.5.qml
@@ -0,0 +1,27 @@
+import QtQuick 1.0
+
+Item {
+ property bool test1: false;
+ property bool test2: false;
+
+ property int a: 10
+
+ Item {
+ id: nested
+ property int a: 11
+
+ function mynestedfunction() {
+ return a;
+ }
+ }
+
+ function myouterfunction() {
+ return a;
+ }
+
+ Component.onCompleted: {
+ test1 = (myouterfunction() == 10);
+ test2 = (nested.mynestedfunction() == 11);
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativeecmascript/data/scope.6.qml b/tests/auto/declarative/qdeclarativeecmascript/data/scope.6.qml
new file mode 100644
index 0000000000..1c81e4e945
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeecmascript/data/scope.6.qml
@@ -0,0 +1,10 @@
+import QtQuick 1.0
+
+Item {
+ id: me
+ property bool test: nested.runtest(me);
+
+ Scope6Nested {
+ id: nested
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro b/tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro
index 69d25a4292..03834ed428 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro
+++ b/tests/auto/declarative/qdeclarativeecmascript/qdeclarativeecmascript.pro
@@ -22,3 +22,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp b/tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp
index 07f5ba706c..ea8d2c01c7 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/testtypes.cpp
@@ -41,6 +41,8 @@
#include "testtypes.h"
#include <QWidget>
#include <QPlainTextEdit>
+#include <QDeclarativeEngine>
+#include <QScriptEngine>
class BaseExtensionObject : public QObject
{
@@ -99,6 +101,36 @@ public:
void setWidth(int) { }
};
+static QScriptValue script_api(QDeclarativeEngine *engine, QScriptEngine *scriptEngine)
+{
+ Q_UNUSED(engine)
+
+ static int testProperty = 13;
+ QScriptValue v = scriptEngine->newObject();
+ v.setProperty("scriptTestProperty", testProperty++);
+ return v;
+}
+
+static QObject *qobject_api(QDeclarativeEngine *engine, QScriptEngine *scriptEngine)
+{
+ Q_UNUSED(engine)
+ Q_UNUSED(scriptEngine)
+
+ testQObjectApi *o = new testQObjectApi();
+ o->setQObjectTestProperty(20);
+ o->setQObjectTestWritableProperty(50);
+ return o;
+}
+
+static QObject *qobject_api_engine_parent(QDeclarativeEngine *engine, QScriptEngine *scriptEngine)
+{
+ Q_UNUSED(scriptEngine)
+
+ static int testProperty = 26;
+ testQObjectApi *o = new testQObjectApi(engine);
+ o->setQObjectTestProperty(testProperty++);
+ return o;
+}
void registerTypes()
{
@@ -116,6 +148,9 @@ void registerTypes()
qmlRegisterType<MyRevisionedClass>("Qt.test",1,0,"MyRevisionedClass");
qmlRegisterType<MyRevisionedClass,1>("Qt.test",1,1,"MyRevisionedClass");
+ // test scarce resource property binding post-evaluation optimisation
+ qmlRegisterType<ScarceResourceObject>("Qt.test", 1,0, "MyScarceResourceObject");
+
// Register the uncreatable base class
qmlRegisterRevision<MyRevisionedBaseClassRegistered,1>("Qt.test",1,1);
// MyRevisionedSubclass 1.0 uses MyRevisionedClass revision 0
@@ -127,6 +162,15 @@ void registerTypes()
qmlRegisterType<QPlainTextEdit>("Qt.test",1,0,"QPlainTextEdit");
qRegisterMetaType<MyQmlObject::MyType>("MyQmlObject::MyType");
+
+ qmlRegisterModuleApi("Qt.test",1,0,script_api); // register (script) module API for an existing uri which contains elements
+ qmlRegisterModuleApi("Qt.test",1,0,qobject_api); // register (qobject) for an existing uri for which another module API was previously regd. Should replace!
+ qmlRegisterModuleApi("Qt.test.scriptApi",1,0,script_api); // register (script) module API for a uri which doesn't contain elements
+ qmlRegisterModuleApi("Qt.test.qobjectApi",1,0,qobject_api); // register (qobject) module API for a uri which doesn't contain elements
+ qmlRegisterModuleApi("Qt.test.qobjectApi",1,3,qobject_api); // register (qobject) module API for a uri which doesn't contain elements, minor version set
+ qmlRegisterModuleApi("Qt.test.qobjectApi",2,0,qobject_api); // register (qobject) module API for a uri which doesn't contain elements, major version set
+ qmlRegisterModuleApi("Qt.test.qobjectApiParented",1,0,qobject_api_engine_parent); // register (parented qobject) module API for a uri which doesn't contain elements
+
qRegisterMetaType<MyQmlObject::MyType>("MyEnum2");
qRegisterMetaType<Qt::MouseButtons>("Qt::MouseButtons");
}
diff --git a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
index 36572e24c3..aebfb22b7c 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
+++ b/tests/auto/declarative/qdeclarativeecmascript/testtypes.h
@@ -51,6 +51,7 @@
#include <QtGui/qmatrix.h>
#include <QtGui/qcolor.h>
#include <QtGui/qvector3d.h>
+#include <QtGui/QPixmap>
#include <QtCore/qdatetime.h>
#include <QtScript/qscriptvalue.h>
#include <QtDeclarative/qdeclarativescriptstring.h>
@@ -909,6 +910,59 @@ QML_DECLARE_TYPE(MyRevisionedClass)
QML_DECLARE_TYPE(MyRevisionedSubclass)
Q_DECLARE_METATYPE(MyQmlObject::MyType)
+
+class ScarceResourceObject : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QPixmap scarceResource READ scarceResource WRITE setScarceResource NOTIFY scarceResourceChanged)
+public:
+ ScarceResourceObject(QObject *parent = 0) : QObject(parent), m_value(100, 100) { m_value.fill(Qt::blue); }
+ ~ScarceResourceObject() {}
+
+ QPixmap scarceResource() const { return m_value; }
+ void setScarceResource(QPixmap v) { m_value = v; emit scarceResourceChanged(); }
+
+ bool scarceResourceIsDetached() const { return m_value.isDetached(); }
+
+signals:
+ void scarceResourceChanged();
+
+private:
+ QPixmap m_value;
+};
+
+class testQObjectApi : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY (int qobjectTestProperty READ qobjectTestProperty NOTIFY qobjectTestPropertyChanged)
+ Q_PROPERTY (int qobjectTestWritableProperty READ qobjectTestWritableProperty WRITE setQObjectTestWritableProperty NOTIFY qobjectTestWritablePropertyChanged)
+
+public:
+ testQObjectApi(QObject* parent = 0)
+ : QObject(parent), m_testProperty(0), m_testWritableProperty(0), m_methodCallCount(0)
+ {
+ }
+
+ ~testQObjectApi() {}
+
+ Q_INVOKABLE int qobjectTestMethod() { m_methodCallCount += 1; return m_methodCallCount; }
+
+ int qobjectTestProperty() const { return m_testProperty; }
+ void setQObjectTestProperty(int tp) { m_testProperty = tp; emit qobjectTestPropertyChanged(tp); }
+
+ int qobjectTestWritableProperty() const { return m_testWritableProperty; }
+ void setQObjectTestWritableProperty(int tp) { m_testWritableProperty = tp; emit qobjectTestWritablePropertyChanged(tp); }
+
+signals:
+ void qobjectTestPropertyChanged(int testProperty);
+ void qobjectTestWritablePropertyChanged(int testWritableProperty);
+
+private:
+ int m_testProperty;
+ int m_testWritableProperty;
+ int m_methodCallCount;
+};
+
void registerTypes();
#endif // TESTTYPES_H
diff --git a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
index 8df18738ae..cabaddeeb7 100644
--- a/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
+++ b/tests/auto/declarative/qdeclarativeecmascript/tst_qdeclarativeecmascript.cpp
@@ -144,6 +144,10 @@ private slots:
void numberAssignment();
void propertySplicing();
void signalWithUnknownTypes();
+ void moduleApi();
+ void importScripts();
+ void scarceResources();
+ void propertyChangeSlots();
void bug1();
void bug2();
@@ -176,6 +180,7 @@ private slots:
void aliasBindingsOverrideTarget();
void aliasWritesOverrideBindings();
void pushCleanContext();
+ void realToInt();
void include();
@@ -260,6 +265,7 @@ void tst_qdeclarativeecmascript::idShortcutInvalidates()
QVERIFY(object->objectProperty() != 0);
delete object->objectProperty();
QVERIFY(object->objectProperty() == 0);
+ delete object;
}
{
@@ -269,6 +275,7 @@ void tst_qdeclarativeecmascript::idShortcutInvalidates()
QVERIFY(object->objectProperty() != 0);
delete object->objectProperty();
QVERIFY(object->objectProperty() == 0);
+ delete object;
}
}
@@ -279,12 +286,14 @@ void tst_qdeclarativeecmascript::boolPropertiesEvaluateAsBool()
MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
QVERIFY(object != 0);
QCOMPARE(object->stringProperty(), QLatin1String("pass"));
+ delete object;
}
{
QDeclarativeComponent component(&engine, TEST_FILE("boolPropertiesEvaluateAsBool.2.qml"));
MyQmlObject *object = qobject_cast<MyQmlObject *>(component.create());
QVERIFY(object != 0);
QCOMPARE(object->stringProperty(), QLatin1String("pass"));
+ delete object;
}
}
@@ -297,6 +306,7 @@ void tst_qdeclarativeecmascript::signalAssignment()
QCOMPARE(object->string(), QString());
emit object->basicSignal();
QCOMPARE(object->string(), QString("pass"));
+ delete object;
}
{
@@ -306,6 +316,7 @@ void tst_qdeclarativeecmascript::signalAssignment()
QCOMPARE(object->string(), QString());
emit object->argumentSignal(19, "Hello world!", 10.25, MyQmlObject::EnumValue4, Qt::RightButton);
QCOMPARE(object->string(), QString("pass 19 Hello world! 10.25 3 2"));
+ delete object;
}
}
@@ -320,6 +331,7 @@ void tst_qdeclarativeecmascript::methods()
emit object->basicSignal();
QCOMPARE(object->methodCalled(), true);
QCOMPARE(object->methodIntCalled(), false);
+ delete object;
}
{
@@ -331,6 +343,7 @@ void tst_qdeclarativeecmascript::methods()
emit object->basicSignal();
QCOMPARE(object->methodCalled(), false);
QCOMPARE(object->methodIntCalled(), true);
+ delete object;
}
{
@@ -338,6 +351,7 @@ void tst_qdeclarativeecmascript::methods()
QObject *object = component.create();
QVERIFY(object != 0);
QCOMPARE(object->property("test").toInt(), 19);
+ delete object;
}
{
@@ -347,6 +361,7 @@ void tst_qdeclarativeecmascript::methods()
QCOMPARE(object->property("test").toInt(), 19);
QCOMPARE(object->property("test2").toInt(), 17);
QCOMPARE(object->property("test3").toInt(), 16);
+ delete object;
}
{
@@ -354,6 +369,7 @@ void tst_qdeclarativeecmascript::methods()
QObject *object = component.create();
QVERIFY(object != 0);
QCOMPARE(object->property("test").toInt(), 9);
+ delete object;
}
}
@@ -364,6 +380,7 @@ void tst_qdeclarativeecmascript::bindingLoop()
QTest::ignoreMessage(QtWarningMsg, warning.toLatin1().constData());
QObject *object = component.create();
QVERIFY(object != 0);
+ delete object;
}
void tst_qdeclarativeecmascript::basicExpressions_data()
@@ -508,6 +525,7 @@ void tst_qdeclarativeecmascript::contextPropertiesTriggerReeval()
QCOMPARE(expr.evaluate(), QVariant::fromValue((QObject *)object3));
}
+ delete object3;
}
void tst_qdeclarativeecmascript::objectPropertiesTriggerReeval()
@@ -582,6 +600,8 @@ void tst_qdeclarativeecmascript::deferredProperties()
QCOMPARE(qmlObject->value(), 10);
object->setValue(19);
QCOMPARE(qmlObject->value(), 19);
+
+ delete object;
}
// Check errors on deferred properties are correctly emitted
@@ -625,6 +645,7 @@ void tst_qdeclarativeecmascript::extensionObjects()
QCOMPARE(nested->coreProperty(), 11);
QCOMPARE(nested->baseProperty(), 92);
+ delete object;
}
void tst_qdeclarativeecmascript::overrideExtensionProperties()
@@ -635,6 +656,8 @@ void tst_qdeclarativeecmascript::overrideExtensionProperties()
QVERIFY(object != 0);
QVERIFY(object->secondProperty() != 0);
QVERIFY(object->firstProperty() == 0);
+
+ delete object;
}
void tst_qdeclarativeecmascript::attachedProperties()
@@ -647,6 +670,7 @@ void tst_qdeclarativeecmascript::attachedProperties()
QCOMPARE(object->property("b").toInt(), 19);
QCOMPARE(object->property("c").toInt(), 19);
QCOMPARE(object->property("d").toInt(), 19);
+ delete object;
}
{
@@ -671,6 +695,7 @@ void tst_qdeclarativeecmascript::attachedProperties()
QVERIFY(attached != 0);
QCOMPARE(attached->value2(), 9);
+ delete object;
}
}
@@ -692,6 +717,8 @@ void tst_qdeclarativeecmascript::enums()
QCOMPARE(object->property("h").toInt(), 3);
QCOMPARE(object->property("i").toInt(), 19);
QCOMPARE(object->property("j").toInt(), 19);
+
+ delete object;
}
// Non-existent enums
{
@@ -706,6 +733,8 @@ void tst_qdeclarativeecmascript::enums()
QVERIFY(object != 0);
QCOMPARE(object->property("a").toInt(), 0);
QCOMPARE(object->property("b").toInt(), 0);
+
+ delete object;
}
}
@@ -716,6 +745,8 @@ void tst_qdeclarativeecmascript::valueTypeFunctions()
QVERIFY(obj != 0);
QCOMPARE(obj->rectProperty(), QRect(0,0,100,100));
QCOMPARE(obj->rectFProperty(), QRectF(0,0.5,100,99.5));
+
+ delete obj;
}
/*
@@ -739,6 +770,8 @@ void tst_qdeclarativeecmascript::constantsOverrideBindings()
QCOMPARE(object->property("c2").toInt(), 13);
object->setProperty("c1", QVariant(8));
QCOMPARE(object->property("c2").toInt(), 13);
+
+ delete object;
}
// During construction
@@ -752,6 +785,8 @@ void tst_qdeclarativeecmascript::constantsOverrideBindings()
object->setProperty("c1", QVariant(9));
QCOMPARE(object->property("c1").toInt(), 9);
QCOMPARE(object->property("c2").toInt(), 10);
+
+ delete object;
}
#if 0
@@ -770,6 +805,8 @@ void tst_qdeclarativeecmascript::constantsOverrideBindings()
object->setProperty("c1", QVariant(7));
QCOMPARE(object->property("c1").toInt(), 7);
QCOMPARE(object->property("c2").toInt(), 13);
+
+ delete object;
}
#endif
@@ -784,6 +821,8 @@ void tst_qdeclarativeecmascript::constantsOverrideBindings()
object->setProperty("c1", QVariant(9));
QCOMPARE(object->property("c1").toInt(), 9);
QCOMPARE(object->property("c3").toInt(), 10);
+
+ delete object;
}
}
@@ -811,6 +850,8 @@ void tst_qdeclarativeecmascript::outerBindingOverridesInnerBinding()
QCOMPARE(object->property("c1").toInt(), 9);
QCOMPARE(object->property("c2").toInt(), 8);
QCOMPARE(object->property("c3").toInt(), 8);
+
+ delete object;
}
/*
@@ -827,6 +868,8 @@ void tst_qdeclarativeecmascript::nonExistentAttachedObject()
QObject *object = component.create();
QVERIFY(object != 0);
+
+ delete object;
}
void tst_qdeclarativeecmascript::scope()
@@ -846,6 +889,8 @@ void tst_qdeclarativeecmascript::scope()
QCOMPARE(object->property("test8").toInt(), 2);
QCOMPARE(object->property("test9").toInt(), 1);
QCOMPARE(object->property("test10").toInt(), 3);
+
+ delete object;
}
{
@@ -859,6 +904,8 @@ void tst_qdeclarativeecmascript::scope()
QCOMPARE(object->property("test4").toInt(), 14);
QCOMPARE(object->property("test5").toInt(), 24);
QCOMPARE(object->property("test6").toInt(), 24);
+
+ delete object;
}
{
@@ -869,6 +916,8 @@ void tst_qdeclarativeecmascript::scope()
QCOMPARE(object->property("test1").toBool(), true);
QCOMPARE(object->property("test2").toBool(), true);
QCOMPARE(object->property("test3").toBool(), true);
+
+ delete object;
}
// Signal argument scope
@@ -887,6 +936,27 @@ void tst_qdeclarativeecmascript::scope()
delete object;
}
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scope.5.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test1").toBool(), true);
+ QCOMPARE(object->property("test2").toBool(), true);
+
+ delete object;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("scope.6.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QCOMPARE(object->property("test").toBool(), true);
+
+ delete object;
+ }
}
/*
@@ -907,6 +977,8 @@ void tst_qdeclarativeecmascript::signalParameterTypes()
QVERIFY(object->property("variantProperty") == QVariant::fromValue(QColor(255, 0, 255, 255)));
QVERIFY(object->property("enumProperty") == MyQmlObject::EnumValue3);
QVERIFY(object->property("qtEnumProperty") == Qt::LeftButton);
+
+ delete object;
}
/*
@@ -923,6 +995,8 @@ void tst_qdeclarativeecmascript::objectsCompareAsEqual()
QCOMPARE(object->property("test3").toBool(), true);
QCOMPARE(object->property("test4").toBool(), true);
QCOMPARE(object->property("test5").toBool(), true);
+
+ delete object;
}
/*
@@ -943,6 +1017,8 @@ void tst_qdeclarativeecmascript::aliasPropertyAndBinding()
QCOMPARE(object->property("c2").toInt(), 19);
QCOMPARE(object->property("c3").toInt(), 19);
+
+ delete object;
}
void tst_qdeclarativeecmascript::dynamicCreation_data()
@@ -972,6 +1048,8 @@ void tst_qdeclarativeecmascript::dynamicCreation()
QObject *created = object->objectProperty();
QVERIFY(created);
QCOMPARE(created->objectName(), createdName);
+
+ delete object;
}
/*
@@ -1020,6 +1098,8 @@ void tst_qdeclarativeecmascript::objectToString()
QMetaObject::invokeMethod(object, "testToString");
QVERIFY(object->stringProperty().startsWith("MyQmlObject_QML_"));
QVERIFY(object->stringProperty().endsWith(", \"objName\")"));
+
+ delete object;
}
/*
@@ -1034,6 +1114,7 @@ void tst_qdeclarativeecmascript::selfDeletingBinding()
QObject *object = component.create();
QVERIFY(object != 0);
object->setProperty("triggerDelete", true);
+ delete object;
}
{
@@ -1041,6 +1122,7 @@ void tst_qdeclarativeecmascript::selfDeletingBinding()
QObject *object = component.create();
QVERIFY(object != 0);
object->setProperty("triggerDelete", true);
+ delete object;
}
}
@@ -1056,6 +1138,7 @@ void tst_qdeclarativeecmascript::extendedObjectPropertyLookup()
QDeclarativeComponent component(&engine, TEST_FILE("extendedObjectPropertyLookup.qml"));
QObject *object = component.create();
QVERIFY(object != 0);
+ delete object;
}
/*
@@ -1091,6 +1174,8 @@ void tst_qdeclarativeecmascript::scriptErrors()
QTest::ignoreMessage(QtWarningMsg, warning8.toLatin1().constData());
emit object->thirdBasicSignal();
+
+ delete object;
}
/*
@@ -1108,6 +1193,16 @@ void tst_qdeclarativeecmascript::functionErrors()
QObject *object = component.create();
QVERIFY(object != 0);
delete object;
+
+ // test that if an exception occurs while invoking js function from cpp, it is reported as expected.
+ QDeclarativeComponent componentTwo(&engine, TEST_FILE("scarceresources/scarceResourceFunctionFail.qml"));
+ url = componentTwo.url().toString();
+ object = componentTwo.create();
+ QVERIFY(object != 0);
+ warning = url + QLatin1String(":16: TypeError: Result of expression 'scarceResourceProvider.scarceResource' [[object Object]] is not a function.");
+ QTest::ignoreMessage(QtWarningMsg, warning.toLatin1().constData()); // we expect a meaningful warning to be printed.
+ QMetaObject::invokeMethod(object, "retrieveScarceResource");
+ delete object;
}
/*
@@ -1156,6 +1251,8 @@ void tst_qdeclarativeecmascript::signalTriggeredBindings()
QCOMPARE(object->property("base").toReal(), 400.);
QCOMPARE(object->property("test1").toReal(), 400.);
QCOMPARE(object->property("test2").toReal(), 400.);
+
+ delete object;
}
/*
@@ -1171,6 +1268,8 @@ void tst_qdeclarativeecmascript::listProperties()
QCOMPARE(object->property("test2").toInt(), 2);
QCOMPARE(object->property("test3").toBool(), true);
QCOMPARE(object->property("test4").toBool(), true);
+
+ delete object;
}
void tst_qdeclarativeecmascript::exceptionClearsOnReeval()
@@ -1192,6 +1291,8 @@ void tst_qdeclarativeecmascript::exceptionClearsOnReeval()
object->setObjectProperty(&object2);
QCOMPARE(object->property("test").toBool(), true);
+
+ delete object;
}
void tst_qdeclarativeecmascript::exceptionSlotProducesWarning()
@@ -1204,6 +1305,7 @@ void tst_qdeclarativeecmascript::exceptionSlotProducesWarning()
QTest::ignoreMessage(QtWarningMsg, warning.toLatin1().constData());
MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create());
QVERIFY(object != 0);
+ delete object;
}
void tst_qdeclarativeecmascript::exceptionBindingProducesWarning()
@@ -1216,6 +1318,7 @@ void tst_qdeclarativeecmascript::exceptionBindingProducesWarning()
QTest::ignoreMessage(QtWarningMsg, warning.toLatin1().constData());
MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create());
QVERIFY(object != 0);
+ delete object;
}
static int transientErrorsMsgCount = 0;
@@ -1239,6 +1342,8 @@ void tst_qdeclarativeecmascript::transientErrors()
qInstallMsgHandler(old);
QCOMPARE(transientErrorsMsgCount, 0);
+
+ delete object;
}
// One binding erroring multiple times, but then resolving
@@ -1254,6 +1359,8 @@ void tst_qdeclarativeecmascript::transientErrors()
qInstallMsgHandler(old);
QCOMPARE(transientErrorsMsgCount, 0);
+
+ delete object;
}
}
@@ -1369,6 +1476,8 @@ void tst_qdeclarativeecmascript::dynamicCreationCrash()
QMetaObject::invokeMethod(object, "dontCrash");
QObject *created = object->objectProperty();
QVERIFY(created == 0);
+
+ delete object;
}
//QTBUG-9367
@@ -1378,6 +1487,7 @@ void tst_qdeclarativeecmascript::regExpBug()
MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create());
QVERIFY(object != 0);
QCOMPARE(object->regExp().pattern(), QLatin1String("[a-zA-z]"));
+ delete object;
}
void tst_qdeclarativeecmascript::callQtInvokables()
@@ -2151,6 +2261,8 @@ void tst_qdeclarativeecmascript::ownership()
delete object;
}
+
+ delete context;
}
class CppOwnershipReturnValue : public QObject
@@ -2161,16 +2273,12 @@ public:
~CppOwnershipReturnValue() { delete value; }
Q_INVOKABLE QObject *create() {
- Q_ASSERT(value == 0);
-
value = new QObject;
QDeclarativeEngine::setObjectOwnership(value, QDeclarativeEngine::CppOwnership);
return value;
}
Q_INVOKABLE MyQmlObject *createQmlObject() {
- Q_ASSERT(value == 0);
-
MyQmlObject *rv = new MyQmlObject;
value = rv;
return rv;
@@ -2269,6 +2377,7 @@ void tst_qdeclarativeecmascript::qlistqobjectMethods()
QCOMPARE(object->property("test2").toBool(), true);
delete object;
+ delete context;
}
// QTBUG-9205
@@ -2389,6 +2498,328 @@ void tst_qdeclarativeecmascript::signalWithUnknownTypes()
delete object;
}
+void tst_qdeclarativeecmascript::moduleApi()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("moduleApi.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("existingUriTest").toInt(), 20);
+ QCOMPARE(object->property("scriptTest").toInt(), 13);
+ QCOMPARE(object->property("qobjectTest").toInt(), 20);
+ QCOMPARE(object->property("qobjectMethodTest").toInt(), 1); // first call of method, so count = 1.
+ QCOMPARE(object->property("qobjectMinorVersionTest").toInt(), 20);
+ QCOMPARE(object->property("qobjectMajorVersionTest").toInt(), 20);
+ QCOMPARE(object->property("qobjectParentedTest").toInt(), 26);
+ delete object;
+
+ // test that caching of module apis works correctly.
+ QDeclarativeComponent componentTwo(&engine, TEST_FILE("moduleApiCaching.qml"));
+ object = componentTwo.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("existingUriTest").toInt(), 20);
+ QCOMPARE(object->property("scriptTest").toInt(), 13); // shouldn't have incremented.
+ QCOMPARE(object->property("qobjectParentedTest").toInt(), 26); // shouldn't have incremented.
+ delete object;
+
+ // test that writing to a property of module apis works correctly.
+ QDeclarativeComponent componentThree(&engine, TEST_FILE("moduleApiWriting.qml"));
+ QString expectedWarning = QLatin1String("file://") + TEST_FILE("moduleApiWriting.qml").toLocalFile() + QLatin1String(":15: Error: Cannot assign to read-only property \"qobjectTestProperty\"");
+ QTest::ignoreMessage(QtWarningMsg, expectedWarning.toAscii().constData());
+ object = componentThree.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("readOnlyProperty").toInt(), 20);
+ QCOMPARE(object->property("writableProperty").toInt(), 50);
+ QVERIFY(object->setProperty("firstProperty", QVariant(30))); // shouldn't affect value of readOnlyProperty
+ QVERIFY(object->setProperty("writableProperty", QVariant(30))); // SHOULD affect value of writableProperty
+ QCOMPARE(object->property("readOnlyProperty").toInt(), 20);
+ QCOMPARE(object->property("writableProperty").toInt(), 30);
+ delete object;
+
+ QDeclarativeComponent failOne(&engine, TEST_FILE("moduleApiMajorVersionFail.qml"));
+ QTest::ignoreMessage(QtWarningMsg, "QDeclarativeComponent: Component is not ready");
+ object = failOne.create();
+ QVERIFY(object == 0); // should have failed: invalid major version
+
+ QDeclarativeComponent failTwo(&engine, TEST_FILE("moduleApiMinorVersionFail.qml"));
+ QTest::ignoreMessage(QtWarningMsg, "QDeclarativeComponent: Component is not ready");
+ object = failTwo.create();
+ QVERIFY(object == 0); // should have failed: invalid minor version
+}
+
+void tst_qdeclarativeecmascript::importScripts()
+{
+ QObject *object = 0;
+
+ // first, ensure that the required behaviour works.
+ QDeclarativeComponent component(&engine, TEST_FILE("jsimport/testImport.qml"));
+ object = component.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("importedScriptStringValue"), QVariant(QString(QLatin1String("Hello, World!"))));
+ QCOMPARE(object->property("importedScriptFunctionValue"), QVariant(20));
+ QCOMPARE(object->property("importedModuleAttachedPropertyValue"), QVariant(19));
+ QCOMPARE(object->property("importedModuleEnumValue"), QVariant(2));
+ delete object;
+
+ QDeclarativeComponent componentTwo(&engine, TEST_FILE("jsimport/testImportScoping.qml"));
+ object = componentTwo.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("componentError"), QVariant(5));
+ delete object;
+
+ // then, ensure that unintended behaviour does not work.
+ QDeclarativeComponent failOneComponent(&engine, TEST_FILE("jsimportfail/failOne.qml"));
+ QString expectedWarning = QLatin1String("file://") + TEST_FILE("jsimportfail/failOne.qml").toLocalFile() + QLatin1String(":6: TypeError: Result of expression 'TestScriptImport.ImportOneJs' [undefined] is not an object.");
+ QTest::ignoreMessage(QtWarningMsg, expectedWarning.toAscii().constData());
+ object = failOneComponent.create();
+ QVERIFY(object != 0);
+ QVERIFY(object->property("importScriptFunctionValue").toString().isEmpty());
+ delete object;
+ QDeclarativeComponent failTwoComponent(&engine, TEST_FILE("jsimportfail/failTwo.qml"));
+ expectedWarning = QLatin1String("file://") + TEST_FILE("jsimportfail/failTwo.qml").toLocalFile() + QLatin1String(":6: ReferenceError: Can't find variable: ImportOneJs");
+ QTest::ignoreMessage(QtWarningMsg, expectedWarning.toAscii().constData());
+ object = failTwoComponent.create();
+ QVERIFY(object != 0);
+ QVERIFY(object->property("importScriptFunctionValue").toString().isEmpty());
+ delete object;
+ QDeclarativeComponent failThreeComponent(&engine, TEST_FILE("jsimportfail/failThree.qml"));
+ expectedWarning = QLatin1String("file://") + TEST_FILE("jsimportfail/failThree.qml").toLocalFile() + QLatin1String(":7: TypeError: Result of expression 'testQtObject.TestModuleImport.JsQtTest' [undefined] is not an object.");
+ QTest::ignoreMessage(QtWarningMsg, expectedWarning.toAscii().constData());
+ object = failThreeComponent.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("importedModuleAttachedPropertyValue"), QVariant(false));
+ delete object;
+ QDeclarativeComponent failFourComponent(&engine, TEST_FILE("jsimportfail/failFour.qml"));
+ expectedWarning = QLatin1String("file://") + TEST_FILE("jsimportfail/failFour.qml").toLocalFile() + QLatin1String(":6: ReferenceError: Can't find variable: JsQtTest");
+ QTest::ignoreMessage(QtWarningMsg, expectedWarning.toAscii().constData());
+ object = failFourComponent.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("importedModuleEnumValue"), QVariant(0));
+ delete object;
+ QDeclarativeComponent failFiveComponent(&engine, TEST_FILE("jsimportfail/failFive.qml"));
+ expectedWarning = QLatin1String("file://") + TEST_FILE("jsimportfail/importWithImports.js").toLocalFile() + QLatin1String(":8: ReferenceError: Can't find variable: Component");
+ QTest::ignoreMessage(QtWarningMsg, expectedWarning.toAscii().constData());
+ expectedWarning = QLatin1String("file://") + TEST_FILE("jsimportfail/importPragmaLibrary.js").toLocalFile() + QLatin1String(":6: ReferenceError: Can't find variable: Component");
+ QTest::ignoreMessage(QtWarningMsg, expectedWarning.toAscii().constData());
+ object = failFiveComponent.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("componentError"), QVariant(0));
+ delete object;
+
+ // also, test that importing scripts with .pragma library works as required
+ QDeclarativeComponent pragmaLibraryComponent(&engine, TEST_FILE("jsimport/testImportPragmaLibrary.qml"));
+ object = pragmaLibraryComponent.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("testValue"), QVariant(31));
+ delete object;
+
+ // and that .pragma library scripts don't inherit imports from any .qml file
+ QDeclarativeComponent pragmaLibraryComponentTwo(&engine, TEST_FILE("jsimportfail/testImportPragmaLibrary.qml"));
+ object = pragmaLibraryComponentTwo.create();
+ QVERIFY(object != 0);
+ QCOMPARE(object->property("testValue"), QVariant(0));
+ delete object;
+}
+
+void tst_qdeclarativeecmascript::scarceResources()
+{
+ QPixmap origPixmap(100, 100);
+ origPixmap.fill(Qt::blue);
+
+ QDeclarativeEnginePrivate *ep = QDeclarativeEnginePrivate::get(&engine);
+ ScarceResourceObject *eo = 0;
+ QObject *object = 0;
+
+ // in the following three cases, the instance created from the component
+ // has a property which is a copy of the scarce resource; hence, the
+ // resource should NOT be detached prior to deletion of the object instance,
+ // unless the resource is destroyed explicitly.
+ QDeclarativeComponent component(&engine, TEST_FILE("scarceresources/scarceResourceCopy.qml"));
+ object = component.create();
+ QVERIFY(object != 0);
+ QVERIFY(object->property("scarceResourceCopy").isValid());
+ QCOMPARE(object->property("scarceResourceCopy").value<QPixmap>(), origPixmap);
+ QVERIFY(ep->scarceResources == 0); // should have been released by this point.
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(!eo->scarceResourceIsDetached()); // there are two copies of it in existence: the property of object, and the property of eo.
+ delete object;
+
+ QDeclarativeComponent componentTwo(&engine, TEST_FILE("scarceresources/scarceResourceCopyFromJs.qml"));
+ object = componentTwo.create();
+ QVERIFY(object != 0);
+ QVERIFY(object->property("scarceResourceCopy").isValid());
+ QCOMPARE(object->property("scarceResourceCopy").value<QPixmap>(), origPixmap);
+ QVERIFY(ep->scarceResources == 0); // should have been released by this point.
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(!eo->scarceResourceIsDetached()); // there are two copies of it in existence: the property of object, and the property of eo.
+ delete object;
+
+ QDeclarativeComponent componentThree(&engine, TEST_FILE("scarceresources/scarceResourceDestroyedCopy.qml"));
+ object = componentThree.create();
+ QVERIFY(object != 0);
+ QVERIFY(!(object->property("scarceResourceCopy").isValid())); // was manually released prior to being returned.
+ QVERIFY(ep->scarceResources == 0); // should have been released by this point.
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(eo->scarceResourceIsDetached()); // should have explicitly been released during the evaluation of the binding.
+ delete object;
+
+ // in the following three cases, no other copy should exist in memory,
+ // and so it should be detached (unless explicitly preserved).
+ QDeclarativeComponent componentFour(&engine, TEST_FILE("scarceresources/scarceResourceTest.qml"));
+ object = componentFour.create();
+ QVERIFY(object != 0);
+ QVERIFY(object->property("scarceResourceTest").isValid());
+ QCOMPARE(object->property("scarceResourceTest").toInt(), 100);
+ QVERIFY(ep->scarceResources == 0); // should have been released by this point.
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(eo->scarceResourceIsDetached()); // the resource should have been released after the binding was evaluated.
+ delete object;
+
+ QDeclarativeComponent componentFive(&engine, TEST_FILE("scarceresources/scarceResourceTestPreserve.qml"));
+ object = componentFive.create();
+ QVERIFY(object != 0);
+ QVERIFY(object->property("scarceResourceTest").isValid());
+ QCOMPARE(object->property("scarceResourceTest").toInt(), 100);
+ QVERIFY(ep->scarceResources == 0); // should have been released by this point.
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(!eo->scarceResourceIsDetached()); // this won't be detached since we explicitly preserved it.
+ delete object;
+
+ QDeclarativeComponent componentSix(&engine, TEST_FILE("scarceresources/scarceResourceTestMultiple.qml"));
+ object = componentSix.create();
+ QVERIFY(object != 0);
+ QVERIFY(object->property("scarceResourceTest").isValid());
+ QCOMPARE(object->property("scarceResourceTest").toInt(), 100);
+ QVERIFY(ep->scarceResources == 0); // should have been released by this point.
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(eo->scarceResourceIsDetached()); // all resources were released manually or automatically released.
+ delete object;
+
+ // test that scarce resources are handled correctly for imports
+ QDeclarativeComponent componentSeven(&engine, TEST_FILE("scarceresources/scarceResourceCopyImportNoBinding.qml"));
+ object = componentSeven.create();
+ QVERIFY(object != 0); // the import should have caused the addition of a resource to the ScarceResources list
+ QVERIFY(ep->scarceResources == 0); // but they should have been released by this point.
+ delete object;
+
+ QDeclarativeComponent componentEight(&engine, TEST_FILE("scarceresources/scarceResourceCopyImportFail.qml"));
+ object = componentEight.create();
+ QVERIFY(object != 0);
+ QVERIFY(!object->property("scarceResourceCopy").isValid()); // wasn't preserved, so shouldn't be valid.
+ QVERIFY(ep->scarceResources == 0); // should have been released by this point.
+ delete object;
+
+ QDeclarativeComponent componentNine(&engine, TEST_FILE("scarceresources/scarceResourceCopyImport.qml"));
+ object = componentNine.create();
+ QVERIFY(object != 0);
+ QVERIFY(object->property("scarceResourceCopy").isValid()); // preserved, so should be valid.
+ QCOMPARE(object->property("scarceResourceCopy").value<QPixmap>(), origPixmap);
+ QVERIFY(object->property("scarceResourceAssignedCopyOne").isValid()); // assigned before destroy(), so should be valid.
+ QCOMPARE(object->property("scarceResourceAssignedCopyOne").value<QPixmap>(), origPixmap);
+ QVERIFY(!object->property("scarceResourceAssignedCopyTwo").isValid()); // assigned after destroy(), so should be invalid.
+ QVERIFY(ep->scarceResources == 0); // this will still be zero, because "preserve()" REMOVES it from this list.
+ delete object;
+
+ // test that scarce resources are handled properly in signal invocation
+ QDeclarativeComponent componentTen(&engine, TEST_FILE("scarceresources/scarceResourceSignal.qml"));
+ object = componentTen.create();
+ QVERIFY(object != 0);
+ QObject *srsc = object->findChild<QObject*>("srsc");
+ QVERIFY(srsc);
+ QVERIFY(!srsc->property("scarceResourceCopy").isValid()); // hasn't been instantiated yet.
+ QCOMPARE(srsc->property("width"), QVariant(5)); // default value is 5.
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(eo->scarceResourceIsDetached()); // should be no other copies of it at this stage.
+ QMetaObject::invokeMethod(srsc, "testSignal");
+ QVERIFY(!srsc->property("scarceResourceCopy").isValid()); // still hasn't been instantiated
+ QCOMPARE(srsc->property("width"), QVariant(10)); // but width was assigned to 10.
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(eo->scarceResourceIsDetached()); // should still be no other copies of it at this stage.
+ QMetaObject::invokeMethod(srsc, "testSignal2"); // assigns scarceResourceCopy to the scarce pixmap.
+ QVERIFY(srsc->property("scarceResourceCopy").isValid());
+ QCOMPARE(srsc->property("scarceResourceCopy").value<QPixmap>(), origPixmap);
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(!(eo->scarceResourceIsDetached())); // should be another copy of the resource now.
+ QVERIFY(ep->scarceResources == 0); // should have been released by this point.
+ delete object;
+
+ // test that scarce resources are handled properly from js functions in qml files
+ QDeclarativeComponent componentEleven(&engine, TEST_FILE("scarceresources/scarceResourceFunction.qml"));
+ object = componentEleven.create();
+ QVERIFY(object != 0);
+ QVERIFY(!object->property("scarceResourceCopy").isValid()); // not yet assigned, so should not be valid
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(eo->scarceResourceIsDetached()); // should be no other copies of it at this stage.
+ QMetaObject::invokeMethod(object, "retrieveScarceResource");
+ QVERIFY(object->property("scarceResourceCopy").isValid()); // assigned, so should be valid.
+ QCOMPARE(object->property("scarceResourceCopy").value<QPixmap>(), origPixmap);
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(!eo->scarceResourceIsDetached()); // should be a copy of the resource at this stage.
+ QMetaObject::invokeMethod(object, "releaseScarceResource");
+ QVERIFY(!object->property("scarceResourceCopy").isValid()); // just released, so should not be valid
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(eo->scarceResourceIsDetached()); // should be no other copies of it at this stage.
+ QVERIFY(ep->scarceResources == 0); // should have been released by this point.
+ delete object;
+
+ // test that if an exception occurs while invoking js function from cpp, that the resources are released.
+ QDeclarativeComponent componentTwelve(&engine, TEST_FILE("scarceresources/scarceResourceFunctionFail.qml"));
+ object = componentTwelve.create();
+ QVERIFY(object != 0);
+ QVERIFY(!object->property("scarceResourceCopy").isValid()); // not yet assigned, so should not be valid
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(eo->scarceResourceIsDetached()); // should be no other copies of it at this stage.
+ QString expectedWarning = QLatin1String("file://") + TEST_FILE("scarceresources/scarceResourceFunctionFail.qml").toLocalFile() + QLatin1String(":16: TypeError: Result of expression 'scarceResourceProvider.scarceResource' [[object Object]] is not a function.");
+ QTest::ignoreMessage(QtWarningMsg, expectedWarning.toAscii().constData()); // we expect a meaningful warning to be printed.
+ QMetaObject::invokeMethod(object, "retrieveScarceResource");
+ QVERIFY(!object->property("scarceResourceCopy").isValid()); // due to exception, assignment will NOT have occurred.
+ eo = qobject_cast<ScarceResourceObject*>(QDeclarativeProperty::read(object, "a").value<QObject*>());
+ QVERIFY(eo->scarceResourceIsDetached()); // should be no other copies of it at this stage.
+ QVERIFY(ep->scarceResources == 0); // should have been released by this point.
+ delete object;
+}
+
+void tst_qdeclarativeecmascript::propertyChangeSlots()
+{
+ // ensure that allowable property names are allowed and onPropertyNameChanged slots are generated correctly.
+ QDeclarativeComponent component(&engine, TEST_FILE("changeslots/propertyChangeSlots.qml"));
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+ delete object;
+
+ // ensure that invalid property names fail properly.
+ QTest::ignoreMessage(QtWarningMsg, "QDeclarativeComponent: Component is not ready");
+ QDeclarativeComponent e1(&engine, TEST_FILE("changeslots/propertyChangeSlotErrors.1.qml"));
+ QString expectedErrorString = e1.url().toString() + QLatin1String(":9:5: Cannot assign to non-existent property \"on_nameWithUnderscoreChanged\"");
+ QCOMPARE(e1.errors().at(0).toString(), expectedErrorString);
+ object = e1.create();
+ QVERIFY(object == 0);
+ delete object;
+
+ QTest::ignoreMessage(QtWarningMsg, "QDeclarativeComponent: Component is not ready");
+ QDeclarativeComponent e2(&engine, TEST_FILE("changeslots/propertyChangeSlotErrors.2.qml"));
+ expectedErrorString = e2.url().toString() + QLatin1String(":9:5: Cannot assign to non-existent property \"on____nameWithUnderscoresChanged\"");
+ QCOMPARE(e2.errors().at(0).toString(), expectedErrorString);
+ object = e2.create();
+ QVERIFY(object == 0);
+ delete object;
+
+ QTest::ignoreMessage(QtWarningMsg, "QDeclarativeComponent: Component is not ready");
+ QDeclarativeComponent e3(&engine, TEST_FILE("changeslots/propertyChangeSlotErrors.3.qml"));
+ expectedErrorString = e3.url().toString() + QLatin1String(":9:5: Cannot assign to non-existent property \"on$NameWithDollarsignChanged\"");
+ QCOMPARE(e3.errors().at(0).toString(), expectedErrorString);
+ object = e3.create();
+ QVERIFY(object == 0);
+ delete object;
+
+ QTest::ignoreMessage(QtWarningMsg, "QDeclarativeComponent: Component is not ready");
+ QDeclarativeComponent e4(&engine, TEST_FILE("changeslots/propertyChangeSlotErrors.4.qml"));
+ expectedErrorString = e4.url().toString() + QLatin1String(":9:5: Cannot assign to non-existent property \"on_6NameWithUnderscoreNumberChanged\"");
+ QCOMPARE(e4.errors().at(0).toString(), expectedErrorString);
+ object = e4.create();
+ QVERIFY(object == 0);
+ delete object;
+}
+
// Test that assigning a null object works
// Regressed with: df1788b4dbbb2826ae63f26bdf166342595343f4
void tst_qdeclarativeecmascript::nullObjectBinding()
@@ -2970,6 +3401,7 @@ void tst_qdeclarativeecmascript::revisionErrors()
QTest::ignoreMessage(QtWarningMsg, warning3.toLatin1().constData());
MyRevisionedClass *object = qobject_cast<MyRevisionedClass *>(component.create());
QVERIFY(object != 0);
+ delete object;
}
{
QDeclarativeComponent component(&engine, TEST_FILE("metaobjectRevisionErrors2.qml"));
@@ -2991,6 +3423,7 @@ void tst_qdeclarativeecmascript::revisionErrors()
QTest::ignoreMessage(QtWarningMsg, warning5.toLatin1().constData());
MyRevisionedClass *object = qobject_cast<MyRevisionedClass *>(component.create());
QVERIFY(object != 0);
+ delete object;
}
{
QDeclarativeComponent component(&engine, TEST_FILE("metaobjectRevisionErrors3.qml"));
@@ -3006,6 +3439,7 @@ void tst_qdeclarativeecmascript::revisionErrors()
QTest::ignoreMessage(QtWarningMsg, warning3.toLatin1().constData());
MyRevisionedClass *object = qobject_cast<MyRevisionedClass *>(component.create());
QVERIFY(object != 0);
+ delete object;
}
}
@@ -3017,6 +3451,7 @@ void tst_qdeclarativeecmascript::revision()
MyRevisionedClass *object = qobject_cast<MyRevisionedClass *>(component.create());
QVERIFY(object != 0);
+ delete object;
}
{
QDeclarativeComponent component(&engine, TEST_FILE("metaobjectRevision2.qml"));
@@ -3024,6 +3459,7 @@ void tst_qdeclarativeecmascript::revision()
MyRevisionedClass *object = qobject_cast<MyRevisionedClass *>(component.create());
QVERIFY(object != 0);
+ delete object;
}
{
QDeclarativeComponent component(&engine, TEST_FILE("metaobjectRevision3.qml"));
@@ -3031,6 +3467,7 @@ void tst_qdeclarativeecmascript::revision()
MyRevisionedClass *object = qobject_cast<MyRevisionedClass *>(component.create());
QVERIFY(object != 0);
+ delete object;
}
// Test that non-root classes can resolve revisioned methods
{
@@ -3081,6 +3518,18 @@ void tst_qdeclarativeecmascript::pushCleanContext()
QCOMPARE(func2.call().toInt32(), 6);
}
+void tst_qdeclarativeecmascript::realToInt()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("realToInt.qml"));
+ MyQmlObject *object = qobject_cast<MyQmlObject*>(component.create());
+ QVERIFY(object != 0);
+
+ QMetaObject::invokeMethod(object, "test1");
+ QCOMPARE(object->value(), int(4));
+ QMetaObject::invokeMethod(object, "test2");
+ QCOMPARE(object->value(), int(8));
+}
+
QTEST_MAIN(tst_qdeclarativeecmascript)
#include "tst_qdeclarativeecmascript.moc"
diff --git a/tests/auto/declarative/qdeclarativeengine/qdeclarativeengine.pro b/tests/auto/declarative/qdeclarativeengine/qdeclarativeengine.pro
index 7119ad999e..61ad24d194 100644
--- a/tests/auto/declarative/qdeclarativeengine/qdeclarativeengine.pro
+++ b/tests/auto/declarative/qdeclarativeengine/qdeclarativeengine.pro
@@ -10,3 +10,4 @@ SOURCES += tst_qdeclarativeengine.cpp
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeerror/qdeclarativeerror.pro b/tests/auto/declarative/qdeclarativeerror/qdeclarativeerror.pro
index 29b7149c46..4132abe30a 100644
--- a/tests/auto/declarative/qdeclarativeerror/qdeclarativeerror.pro
+++ b/tests/auto/declarative/qdeclarativeerror/qdeclarativeerror.pro
@@ -9,3 +9,4 @@ macx:CONFIG -= app_bundle
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro b/tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro
index c176e072e0..83036f8347 100644
--- a/tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro
+++ b/tests/auto/declarative/qdeclarativeflickable/qdeclarativeflickable.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro b/tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro
index 3b6d19a624..b5b10e73c0 100644
--- a/tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro
+++ b/tests/auto/declarative/qdeclarativeflipable/qdeclarativeflipable.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro b/tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro
index eab983ffe4..f63f339e79 100644
--- a/tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro
+++ b/tests/auto/declarative/qdeclarativefocusscope/qdeclarativefocusscope.pro
@@ -11,3 +11,4 @@ symbian: {
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativefolderlistmodel/data/resetFiltering.qml b/tests/auto/declarative/qdeclarativefolderlistmodel/data/resetFiltering.qml
new file mode 100644
index 0000000000..d9a8ec4535
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativefolderlistmodel/data/resetFiltering.qml
@@ -0,0 +1,5 @@
+import Qt.labs.folderlistmodel 1.0
+
+FolderListModel {
+ showDirs: false
+}
diff --git a/tests/auto/declarative/qdeclarativefolderlistmodel/data/resetfiltering/innerdir/test2.txt b/tests/auto/declarative/qdeclarativefolderlistmodel/data/resetfiltering/innerdir/test2.txt
new file mode 100644
index 0000000000..97e64bb130
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativefolderlistmodel/data/resetfiltering/innerdir/test2.txt
@@ -0,0 +1 @@
+This file contains some text.
diff --git a/tests/auto/declarative/qdeclarativefolderlistmodel/data/resetfiltering/test.txt b/tests/auto/declarative/qdeclarativefolderlistmodel/data/resetfiltering/test.txt
new file mode 100644
index 0000000000..97e64bb130
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativefolderlistmodel/data/resetfiltering/test.txt
@@ -0,0 +1 @@
+This file contains some text.
diff --git a/tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro b/tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro
index b7e5e5fcc8..ad02dd4ac1 100644
--- a/tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro
+++ b/tests/auto/declarative/qdeclarativefolderlistmodel/qdeclarativefolderlistmodel.pro
@@ -13,3 +13,4 @@ symbian: {
}
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativefolderlistmodel/tst_qdeclarativefolderlistmodel.cpp b/tests/auto/declarative/qdeclarativefolderlistmodel/tst_qdeclarativefolderlistmodel.cpp
index 0ebb36a43a..ef7738dc2e 100644
--- a/tests/auto/declarative/qdeclarativefolderlistmodel/tst_qdeclarativefolderlistmodel.cpp
+++ b/tests/auto/declarative/qdeclarativefolderlistmodel/tst_qdeclarativefolderlistmodel.cpp
@@ -72,6 +72,7 @@ public slots:
private slots:
void basicProperties();
+ void resetFiltering();
void refresh();
private:
@@ -109,7 +110,7 @@ void tst_qdeclarativefolderlistmodel::basicProperties()
QVERIFY(flm != 0);
flm->setProperty("folder",QUrl::fromLocalFile(SRCDIR "/data"));
- QTRY_COMPARE(flm->property("count").toInt(),2); // wait for refresh
+ QTRY_COMPARE(flm->property("count").toInt(),4); // wait for refresh
QCOMPARE(flm->property("folder").toUrl(), QUrl::fromLocalFile(SRCDIR "/data"));
QCOMPARE(flm->property("parentFolder").toUrl(), QUrl::fromLocalFile(SRCDIR));
QCOMPARE(flm->property("sortField").toInt(), int(Name));
@@ -125,6 +126,37 @@ void tst_qdeclarativefolderlistmodel::basicProperties()
QCOMPARE(flm->property("folder").toUrl(), QUrl::fromLocalFile(""));
}
+void tst_qdeclarativefolderlistmodel::resetFiltering()
+{
+ // see QTBUG-17837
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/resetFiltering.qml"));
+ checkNoErrors(component);
+
+ QAbstractListModel *flm = qobject_cast<QAbstractListModel*>(component.create());
+ QVERIFY(flm != 0);
+
+ connect(flm, SIGNAL(rowsRemoved(const QModelIndex&,int,int)),
+ this, SLOT(removed(const QModelIndex&,int,int)));
+
+ flm->setProperty("folder",QUrl::fromLocalFile(SRCDIR "/data/resetfiltering"));
+ QTRY_COMPARE(flm->property("count").toInt(),1); // should just be "test.txt" visible
+ int count = flm->rowCount();
+ QCOMPARE(removeStart, 0);
+ QCOMPARE(removeEnd, count-1);
+
+ flm->setProperty("folder",QUrl::fromLocalFile(SRCDIR "/data/resetfiltering/innerdir"));
+ QTRY_COMPARE(flm->property("count").toInt(),1); // should just be "test2.txt" visible
+ count = flm->rowCount();
+ QCOMPARE(removeStart, 0);
+ QCOMPARE(removeEnd, count-1);
+
+ flm->setProperty("folder",QUrl::fromLocalFile(SRCDIR "/data/resetfiltering"));
+ QTRY_COMPARE(flm->property("count").toInt(),1); // should just be "test.txt" visible
+ count = flm->rowCount();
+ QCOMPARE(removeStart, 0);
+ QCOMPARE(removeEnd, count-1);
+}
+
void tst_qdeclarativefolderlistmodel::refresh()
{
QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/basic.qml"));
@@ -134,7 +166,7 @@ void tst_qdeclarativefolderlistmodel::refresh()
QVERIFY(flm != 0);
flm->setProperty("folder",QUrl::fromLocalFile(SRCDIR "/data"));
- QTRY_COMPARE(flm->property("count").toInt(),2); // wait for refresh
+ QTRY_COMPARE(flm->property("count").toInt(),4); // wait for refresh
int count = flm->rowCount();
diff --git a/tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro b/tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro
index 357268b286..f0c95f071a 100644
--- a/tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro
+++ b/tests/auto/declarative/qdeclarativefontloader/qdeclarativefontloader.pro
@@ -15,3 +15,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp b/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp
index 689c20d025..9b2704b076 100644
--- a/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp
+++ b/tests/auto/declarative/qdeclarativefontloader/tst_qdeclarativefontloader.cpp
@@ -55,13 +55,13 @@
#endif
class tst_qdeclarativefontloader : public QObject
-
{
Q_OBJECT
public:
tst_qdeclarativefontloader();
private slots:
+ void init();
void noFont();
void namedFont();
void localFont();
@@ -71,8 +71,6 @@ private slots:
void failWebFont();
void changeFont();
-private slots:
-
private:
QDeclarativeEngine engine;
TestHTTPServer server;
@@ -82,7 +80,11 @@ tst_qdeclarativefontloader::tst_qdeclarativefontloader() :
server(SERVER_PORT)
{
server.serveDirectory(SRCDIR "/data");
- Q_ASSERT(server.isValid());
+}
+
+void tst_qdeclarativefontloader::init()
+{
+ QVERIFY(server.isValid());
}
void tst_qdeclarativefontloader::noFont()
diff --git a/tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro b/tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro
index bc196fb50e..2a5fcffc85 100644
--- a/tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro
+++ b/tests/auto/declarative/qdeclarativegridview/qdeclarativegridview.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
index e3f798089a..0bc964f206 100644
--- a/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
+++ b/tests/auto/declarative/qdeclarativegridview/tst_qdeclarativegridview.cpp
@@ -866,6 +866,8 @@ void tst_QDeclarativeGridView::noCurrentIndex()
QCOMPARE(gridview->currentIndex(), 5);
QVERIFY(gridview->currentItem());
QVERIFY(gridview->highlightItem());
+
+ delete canvas;
}
void tst_QDeclarativeGridView::changeFlow()
@@ -1624,6 +1626,8 @@ void tst_QDeclarativeGridView::resetModel()
QTRY_VERIFY(display != 0);
QTRY_COMPARE(display->text(), strings.at(i));
}
+
+ delete canvas;
}
void tst_QDeclarativeGridView::enforceRange()
@@ -1751,6 +1755,8 @@ void tst_QDeclarativeGridView::QTBUG_8456()
QTRY_VERIFY(gridview != 0);
QTRY_COMPARE(gridview->currentIndex(), 0);
+
+ delete canvas;
}
void tst_QDeclarativeGridView::manualHighlight()
@@ -1795,6 +1801,8 @@ void tst_QDeclarativeGridView::manualHighlight()
QTRY_COMPARE(gridview->currentItem(), findItem<QDeclarativeItem>(contentItem, "wrapper", 0));
QTRY_COMPARE(gridview->highlightItem()->y() - 5, gridview->currentItem()->y());
QTRY_COMPARE(gridview->highlightItem()->x() - 5, gridview->currentItem()->x());
+
+ delete canvas;
}
void tst_QDeclarativeGridView::footer()
@@ -1842,6 +1850,8 @@ void tst_QDeclarativeGridView::footer()
QCOMPARE(footer->y(), 600.0);
QCOMPARE(footer->height(), 20.0);
QCOMPARE(gridview->contentY(), 0.0);
+
+ delete canvas;
}
void tst_QDeclarativeGridView::header()
@@ -1891,6 +1901,8 @@ void tst_QDeclarativeGridView::header()
QCOMPARE(header->y(), 10.0);
QCOMPARE(header->height(), 20.0);
QCOMPARE(gridview->contentY(), 10.0);
+
+ delete canvas;
}
void tst_QDeclarativeGridView::indexAt()
diff --git a/tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro b/tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro
index a22c8b5378..75837d7359 100644
--- a/tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro
+++ b/tests/auto/declarative/qdeclarativeimage/qdeclarativeimage.pro
@@ -15,3 +15,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
index a35d69a135..8044b8097a 100644
--- a/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
+++ b/tests/auto/declarative/qdeclarativeimage/tst_qdeclarativeimage.cpp
@@ -224,6 +224,8 @@ void tst_qdeclarativeimage::clearSource()
QCOMPARE(obj->width(), 0.);
QCOMPARE(obj->height(), 0.);
QCOMPARE(obj->progress(), 0.0);
+
+ delete obj;
}
void tst_qdeclarativeimage::resized()
@@ -326,6 +328,7 @@ void tst_qdeclarativeimage::mirror()
p_e.drawPixmap(QRect(0, 0, width, height), srcPixmap, QRect(0, 0, srcPixmap.width(), srcPixmap.height()));
break;
case QDeclarativeImage::PreserveAspectFit:
+ QEXPECT_FAIL("", "QTBUG-19538", Continue);
p_e.drawPixmap(QRect(25, 0, width / (width/height), height), srcPixmap, QRect(0, 0, srcPixmap.width(), srcPixmap.height()));
break;
case QDeclarativeImage::PreserveAspectCrop:
@@ -531,6 +534,8 @@ void tst_qdeclarativeimage::tiling_QTBUG_6716()
}
}
}
+
+ delete canvas;
}
void tst_qdeclarativeimage::noLoading()
@@ -540,7 +545,7 @@ void tst_qdeclarativeimage::noLoading()
server.serveDirectory(SRCDIR "/data");
server.addRedirect("oldcolors.png", SERVER_ADDR "/colors.png");
- QString componentStr = "import QtQuick 1.0\nImage { source: srcImage }";
+ QString componentStr = "import QtQuick 1.1\nImage { source: srcImage; cache: true }";
QDeclarativeContext *ctxt = engine.rootContext();
ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/heart.png"));
QDeclarativeComponent component(&engine);
@@ -554,7 +559,7 @@ void tst_qdeclarativeimage::noLoading()
QSignalSpy statusSpy(obj, SIGNAL(statusChanged(QDeclarativeImageBase::Status)));
// Loading local file
- ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/colors.png"));
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/green.png"));
QTRY_VERIFY(obj->status() == QDeclarativeImage::Ready);
QTRY_VERIFY(obj->progress() == 1.0);
QTRY_COMPARE(sourceSpy.count(), 1);
@@ -562,7 +567,7 @@ void tst_qdeclarativeimage::noLoading()
QTRY_COMPARE(statusSpy.count(), 0);
// Loading remote file
- ctxt->setContextProperty("srcImage", QString(SERVER_ADDR) + "/heart200.png");
+ ctxt->setContextProperty("srcImage", QString(SERVER_ADDR) + "/rect.png");
QTRY_VERIFY(obj->status() == QDeclarativeImage::Loading);
QTRY_VERIFY(obj->progress() == 0.0);
QTRY_VERIFY(obj->status() == QDeclarativeImage::Ready);
@@ -572,13 +577,15 @@ void tst_qdeclarativeimage::noLoading()
QTRY_COMPARE(statusSpy.count(), 2);
// Loading remote file again - should not go through 'Loading' state.
- ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/colors.png"));
- ctxt->setContextProperty("srcImage", QString(SERVER_ADDR) + "/heart200.png");
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/green.png"));
+ ctxt->setContextProperty("srcImage", QString(SERVER_ADDR) + "/rect.png");
QTRY_VERIFY(obj->status() == QDeclarativeImage::Ready);
QTRY_VERIFY(obj->progress() == 1.0);
QTRY_COMPARE(sourceSpy.count(), 4);
QTRY_COMPARE(progressSpy.count(), 2);
QTRY_COMPARE(statusSpy.count(), 2);
+
+ delete obj;
}
void tst_qdeclarativeimage::paintedWidthHeight()
@@ -648,6 +655,8 @@ void tst_qdeclarativeimage::sourceSize_QTBUG_14303()
QTRY_COMPARE(obj->sourceSize().width(), 200);
QTRY_COMPARE(obj->sourceSize().height(), 200);
QTRY_COMPARE(sourceSizeSpy.count(), 2);
+
+ delete obj;
}
void tst_qdeclarativeimage::sourceSize_QTBUG_16389()
diff --git a/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro b/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro
index 3bf0ea13e5..6cb38e7cb4 100644
--- a/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro
+++ b/tests/auto/declarative/qdeclarativeimageprovider/qdeclarativeimageprovider.pro
@@ -14,3 +14,4 @@ SOURCES += tst_qdeclarativeimageprovider.cpp
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp b/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp
index 6de4348821..cc42aa06ca 100644
--- a/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp
+++ b/tests/auto/declarative/qdeclarativeimageprovider/tst_qdeclarativeimageprovider.cpp
@@ -210,7 +210,7 @@ void tst_qdeclarativeimageprovider::fillRequestTestsData(const QString &id)
QTest::newRow(QTest::toString(id + " unknown provider"))
<< "image://bogus/exists.png" << "" << "" << QSize()
- << "file::2:1: QML Image: Failed to get image from provider: image://bogus/exists.png";
+ << "file::2:1: QML Image: Invalid image provider: image://bogus/exists.png";
}
void tst_qdeclarativeimageprovider::runTest(bool async, QDeclarativeImageProvider *provider)
@@ -350,7 +350,7 @@ void tst_qdeclarativeimageprovider::removeProvider()
// remove the provider and confirm
QString fileName = newImageFileName();
- QString error("file::2:1: QML Image: Failed to get image from provider: " + fileName);
+ QString error("file::2:1: QML Image: Invalid image provider: " + fileName);
QTest::ignoreMessage(QtWarningMsg, error.toUtf8());
engine.removeImageProvider("test");
diff --git a/tests/auto/declarative/qdeclarativeinfo/data/NestedComponent.qml b/tests/auto/declarative/qdeclarativeinfo/data/NestedComponent.qml
new file mode 100644
index 0000000000..d8ae8ae3ba
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeinfo/data/NestedComponent.qml
@@ -0,0 +1,23 @@
+import QtQuick 1.0
+
+QtObject {
+ property variant nested
+ property variant nested2: nested.nested
+
+ property variant component
+ component: Component {
+ id: myComponent
+ NestedObject { property string testProp: "test" }
+ }
+
+ property variant component2
+ component2: Component {
+ id: myComponent2
+ Image { property string testProp: "test" }
+ }
+
+ Component.onCompleted: {
+ nested = myComponent.createObject(0);
+ nested2 = myComponent2.createObject(0);
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro b/tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro
index 423390f13f..67b6b72e01 100644
--- a/tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro
+++ b/tests/auto/declarative/qdeclarativeinfo/qdeclarativeinfo.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeinfo/tst_qdeclarativeinfo.cpp b/tests/auto/declarative/qdeclarativeinfo/tst_qdeclarativeinfo.cpp
index 7a65fc8b6c..c79516e0ef 100644
--- a/tests/auto/declarative/qdeclarativeinfo/tst_qdeclarativeinfo.cpp
+++ b/tests/auto/declarative/qdeclarativeinfo/tst_qdeclarativeinfo.cpp
@@ -60,6 +60,7 @@ public:
private slots:
void qmlObject();
void nestedQmlObject();
+ void nestedComponent();
void nonQmlObject();
void nullObject();
void nonQmlContextedObject();
@@ -82,7 +83,7 @@ void tst_qdeclarativeinfo::qmlObject()
QObject *object = component.create();
QVERIFY(object != 0);
- QString message = component.url().toString() + ":3:1: QML QObject_QML_0: Test Message";
+ QString message = component.url().toString() + ":3:1: QML QtObject: Test Message";
QTest::ignoreMessage(QtWarningMsg, qPrintable(message));
qmlInfo(object) << "Test Message";
@@ -115,6 +116,27 @@ void tst_qdeclarativeinfo::nestedQmlObject()
qmlInfo(nested2) << "Inner Object";
}
+void tst_qdeclarativeinfo::nestedComponent()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("NestedComponent.qml"));
+
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+
+ QObject *nested = qvariant_cast<QObject *>(object->property("nested"));
+ QVERIFY(nested != 0);
+ QObject *nested2 = qvariant_cast<QObject *>(object->property("nested2"));
+ QVERIFY(nested2 != 0);
+
+ QString message = component.url().toString() + ":10:9: QML NestedObject: Complex Object";
+ QTest::ignoreMessage(QtWarningMsg, qPrintable(message));
+ qmlInfo(nested) << "Complex Object";
+
+ message = component.url().toString() + ":16:9: QML Image: Simple Object";
+ QTest::ignoreMessage(QtWarningMsg, qPrintable(message));
+ qmlInfo(nested2) << "Simple Object";
+}
+
void tst_qdeclarativeinfo::nonQmlObject()
{
QObject object;
diff --git a/tests/auto/declarative/qdeclarativeinstruction/qdeclarativeinstruction.pro b/tests/auto/declarative/qdeclarativeinstruction/qdeclarativeinstruction.pro
index c8a48c9410..a3ca541485 100644
--- a/tests/auto/declarative/qdeclarativeinstruction/qdeclarativeinstruction.pro
+++ b/tests/auto/declarative/qdeclarativeinstruction/qdeclarativeinstruction.pro
@@ -9,3 +9,4 @@ macx:CONFIG -= app_bundle
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp b/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp
index 50277cc694..be1f9e05af 100644
--- a/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp
+++ b/tests/auto/declarative/qdeclarativeinstruction/tst_qdeclarativeinstruction.cpp
@@ -55,6 +55,15 @@ public:
private slots:
void dump();
+
+ void point();
+ void pointf();
+ void size();
+ void sizef();
+ void rect();
+ void rectf();
+ void vector3d();
+ void time();
};
static QStringList messages;
@@ -68,13 +77,12 @@ void tst_qdeclarativeinstruction::dump()
QDeclarativeCompiledData *data = new QDeclarativeCompiledData(0);
{
QDeclarativeInstruction i;
- i.line = 0;
- i.type = QDeclarativeInstruction::Init;
+ i.setType(QDeclarativeInstruction::Init);
i.init.bindingsSize = 0;
i.init.parserStatusSize = 3;
i.init.contextCache = -1;
i.init.compiledBinding = -1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
@@ -83,512 +91,473 @@ void tst_qdeclarativeinstruction::dump()
data->types << ref;
QDeclarativeInstruction i;
- i.line = 1;
- i.type = QDeclarativeInstruction::CreateObject;
+ i.setType(QDeclarativeInstruction::CreateObject);
i.create.type = 0;
i.create.data = -1;
i.create.bindingBits = -1;
i.create.column = 10;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
data->primitives << "testId";
QDeclarativeInstruction i;
- i.line = 2;
- i.type = QDeclarativeInstruction::SetId;
+ i.setType(QDeclarativeInstruction::SetId);
i.setId.value = data->primitives.count() - 1;
i.setId.index = 0;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 3;
- i.type = QDeclarativeInstruction::SetDefault;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::SetDefault);
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 4;
- i.type = QDeclarativeInstruction::CreateComponent;
+ i.setType(QDeclarativeInstruction::CreateComponent);
i.createComponent.count = 3;
i.createComponent.column = 4;
i.createComponent.endLine = 14;
i.createComponent.metaObject = 0;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 5;
- i.type = QDeclarativeInstruction::StoreMetaObject;
+ i.setType(QDeclarativeInstruction::StoreMetaObject);
i.storeMeta.data = 3;
i.storeMeta.aliasData = 6;
i.storeMeta.propertyCache = 7;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 6;
- i.type = QDeclarativeInstruction::StoreFloat;
+ i.setType(QDeclarativeInstruction::StoreFloat);
i.storeFloat.propertyIndex = 3;
i.storeFloat.value = 11.3;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 7;
- i.type = QDeclarativeInstruction::StoreDouble;
+ i.setType(QDeclarativeInstruction::StoreDouble);
i.storeDouble.propertyIndex = 4;
i.storeDouble.value = 14.8;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 8;
- i.type = QDeclarativeInstruction::StoreInteger;
+ i.setType(QDeclarativeInstruction::StoreInteger);
i.storeInteger.propertyIndex = 5;
i.storeInteger.value = 9;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 9;
- i.type = QDeclarativeInstruction::StoreBool;
+ i.setType(QDeclarativeInstruction::StoreBool);
i.storeBool.propertyIndex = 6;
i.storeBool.value = true;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
data->primitives << "Test String";
QDeclarativeInstruction i;
- i.line = 10;
- i.type = QDeclarativeInstruction::StoreString;
+ i.setType(QDeclarativeInstruction::StoreString);
i.storeString.propertyIndex = 7;
i.storeString.value = data->primitives.count() - 1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
data->urls << QUrl("http://www.nokia.com");
QDeclarativeInstruction i;
- i.line = 11;
- i.type = QDeclarativeInstruction::StoreUrl;
+ i.setType(QDeclarativeInstruction::StoreUrl);
i.storeUrl.propertyIndex = 8;
i.storeUrl.value = data->urls.count() - 1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 12;
- i.type = QDeclarativeInstruction::StoreColor;
+ i.setType(QDeclarativeInstruction::StoreColor);
i.storeColor.propertyIndex = 9;
i.storeColor.value = 0xFF00FF00;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 13;
- i.type = QDeclarativeInstruction::StoreDate;
+ i.setType(QDeclarativeInstruction::StoreDate);
i.storeDate.propertyIndex = 10;
i.storeDate.value = 9;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 14;
- i.type = QDeclarativeInstruction::StoreTime;
+ i.setType(QDeclarativeInstruction::StoreTime);
i.storeTime.propertyIndex = 11;
- i.storeTime.valueIndex = 33;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 15;
- i.type = QDeclarativeInstruction::StoreDateTime;
+ i.setType(QDeclarativeInstruction::StoreDateTime);
i.storeDateTime.propertyIndex = 12;
- i.storeDateTime.valueIndex = 44;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 16;
- i.type = QDeclarativeInstruction::StorePoint;
- i.storeRealPair.propertyIndex = 13;
- i.storeRealPair.valueIndex = 3;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StorePoint);
+ i.storePoint.propertyIndex = 13;
+ i.storePoint.point.xp = 3;
+ i.storePoint.point.yp = 7;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 17;
- i.type = QDeclarativeInstruction::StorePointF;
- i.storeRealPair.propertyIndex = 14;
- i.storeRealPair.valueIndex = 9;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StorePointF);
+ i.storePointF.propertyIndex = 13;
+ i.storePointF.point.xp = 3;
+ i.storePointF.point.yp = 7;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 18;
- i.type = QDeclarativeInstruction::StoreSize;
- i.storeRealPair.propertyIndex = 15;
- i.storeRealPair.valueIndex = 8;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StoreSize);
+ i.storeSize.propertyIndex = 15;
+ i.storeSize.size.wd = 8;
+ i.storeSize.size.ht = 11;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 19;
- i.type = QDeclarativeInstruction::StoreSizeF;
- i.storeRealPair.propertyIndex = 16;
- i.storeRealPair.valueIndex = 99;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StoreSizeF);
+ i.storeSizeF.propertyIndex = 15;
+ i.storeSizeF.size.wd = 8;
+ i.storeSizeF.size.ht = 11;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 20;
- i.type = QDeclarativeInstruction::StoreRect;
+ i.setType(QDeclarativeInstruction::StoreRect);
i.storeRect.propertyIndex = 17;
- i.storeRect.valueIndex = 2;
- data->bytecode << i;
+ i.storeRect.rect.x1 = 7;
+ i.storeRect.rect.y1 = 9;
+ i.storeRect.rect.x2 = 11;
+ i.storeRect.rect.y2 = 13;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 21;
- i.type = QDeclarativeInstruction::StoreRectF;
- i.storeRect.propertyIndex = 18;
- i.storeRect.valueIndex = 19;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StoreRectF);
+ i.storeRectF.propertyIndex = 18;
+ i.storeRectF.rect.xp = 11.3;
+ i.storeRectF.rect.yp = 9.8;
+ i.storeRectF.rect.w = 3;
+ i.storeRectF.rect.h = 2.1;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 22;
- i.type = QDeclarativeInstruction::StoreVector3D;
+ i.setType(QDeclarativeInstruction::StoreVector3D);
i.storeVector3D.propertyIndex = 19;
- i.storeVector3D.valueIndex = 9;
- data->bytecode << i;
+ i.storeVector3D.vector.xp = 9;
+ i.storeVector3D.vector.yp = 3;
+ i.storeVector3D.vector.zp = 92;
+ data->addInstruction(i);
}
{
data->primitives << "color(1, 1, 1, 1)";
QDeclarativeInstruction i;
- i.line = 23;
- i.type = QDeclarativeInstruction::StoreVariant;
+ i.setType(QDeclarativeInstruction::StoreVariant);
i.storeString.propertyIndex = 20;
i.storeString.value = data->primitives.count() - 1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 24;
- i.type = QDeclarativeInstruction::StoreObject;
+ i.setType(QDeclarativeInstruction::StoreObject);
i.storeObject.propertyIndex = 21;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 25;
- i.type = QDeclarativeInstruction::StoreVariantObject;
+ i.setType(QDeclarativeInstruction::StoreVariantObject);
i.storeObject.propertyIndex = 22;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 26;
- i.type = QDeclarativeInstruction::StoreInterface;
+ i.setType(QDeclarativeInstruction::StoreInterface);
i.storeObject.propertyIndex = 23;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
data->primitives << "console.log(1921)";
QDeclarativeInstruction i;
- i.line = 27;
- i.type = QDeclarativeInstruction::StoreSignal;
+ i.setType(QDeclarativeInstruction::StoreSignal);
i.storeSignal.signalIndex = 2;
i.storeSignal.value = data->primitives.count() - 1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 29;
- i.type = QDeclarativeInstruction::StoreScriptString;
+ i.setType(QDeclarativeInstruction::StoreScriptString);
i.storeScriptString.propertyIndex = 24;
i.storeScriptString.value = 3;
i.storeScriptString.scope = 1;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
data->datas << "mySignal";
QDeclarativeInstruction i;
- i.line = 30;
- i.type = QDeclarativeInstruction::AssignSignalObject;
+ i.setType(QDeclarativeInstruction::AssignSignalObject);
i.assignSignalObject.signal = 0;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 31;
- i.type = QDeclarativeInstruction::AssignCustomType;
+ i.setType(QDeclarativeInstruction::AssignCustomType);
i.assignCustomType.propertyIndex = 25;
- i.assignCustomType.valueIndex = 4;
- data->bytecode << i;
+ i.assignCustomType.primitive = 6;
+ i.assignCustomType.type = 9;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 32;
- i.type = QDeclarativeInstruction::StoreBinding;
+ i.setType(QDeclarativeInstruction::StoreBinding);
i.assignBinding.property = 26;
i.assignBinding.value = 3;
i.assignBinding.context = 2;
i.assignBinding.owner = 0;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 33;
- i.type = QDeclarativeInstruction::StoreCompiledBinding;
+ i.setType(QDeclarativeInstruction::StoreCompiledBinding);
i.assignBinding.property = 27;
i.assignBinding.value = 2;
i.assignBinding.context = 4;
i.assignBinding.owner = 0;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 34;
- i.type = QDeclarativeInstruction::StoreValueSource;
+ i.setType(QDeclarativeInstruction::StoreValueSource);
i.assignValueSource.property = 29;
i.assignValueSource.owner = 1;
i.assignValueSource.castValue = 4;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 35;
- i.type = QDeclarativeInstruction::StoreValueInterceptor;
+ i.setType(QDeclarativeInstruction::StoreValueInterceptor);
i.assignValueInterceptor.property = 30;
i.assignValueInterceptor.owner = 2;
i.assignValueInterceptor.castValue = -4;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 36;
- i.type = QDeclarativeInstruction::BeginObject;
+ i.setType(QDeclarativeInstruction::BeginObject);
i.begin.castValue = 4;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 38;
- i.type = QDeclarativeInstruction::StoreObjectQList;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::StoreObjectQList);
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 39;
- i.type = QDeclarativeInstruction::AssignObjectList;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::AssignObjectList);
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 40;
- i.type = QDeclarativeInstruction::FetchAttached;
+ i.setType(QDeclarativeInstruction::FetchAttached);
i.fetchAttached.id = 23;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 42;
- i.type = QDeclarativeInstruction::FetchQList;
+ i.setType(QDeclarativeInstruction::FetchQList);
i.fetch.property = 32;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 43;
- i.type = QDeclarativeInstruction::FetchObject;
+ i.setType(QDeclarativeInstruction::FetchObject);
i.fetch.property = 33;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 44;
- i.type = QDeclarativeInstruction::FetchValueType;
+ i.setType(QDeclarativeInstruction::FetchValueType);
i.fetchValue.property = 34;
i.fetchValue.type = 6;
i.fetchValue.bindingSkipList = 7;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 45;
- i.type = QDeclarativeInstruction::PopFetchedObject;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::PopFetchedObject);
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 46;
- i.type = QDeclarativeInstruction::PopQList;
- data->bytecode << i;
+ i.setType(QDeclarativeInstruction::PopQList);
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 47;
- i.type = QDeclarativeInstruction::PopValueType;
+ i.setType(QDeclarativeInstruction::PopValueType);
i.fetchValue.property = 35;
i.fetchValue.type = 8;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 48;
- i.type = QDeclarativeInstruction::Defer;
+ i.setType(QDeclarativeInstruction::Defer);
i.defer.deferCount = 7;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = -1;
- i.type = QDeclarativeInstruction::Defer;
+ i.setType(QDeclarativeInstruction::Defer);
i.defer.deferCount = 7;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 48;
- i.type = QDeclarativeInstruction::StoreImportedScript;
+ i.setType(QDeclarativeInstruction::StoreImportedScript);
i.storeScript.value = 2;
- data->bytecode << i;
- }
-
- {
- QDeclarativeInstruction i;
- i.line = 50;
- i.type = (QDeclarativeInstruction::Type)(1234); // Non-existent
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 51;
- i.type = QDeclarativeInstruction::StoreVariantInteger;
+ i.setType(QDeclarativeInstruction::StoreVariantInteger);
i.storeInteger.value = 11;
i.storeInteger.propertyIndex = 32;
- data->bytecode << i;
+ data->addInstruction(i);
}
{
QDeclarativeInstruction i;
- i.line = 52;
- i.type = QDeclarativeInstruction::StoreVariantDouble;
+ i.setType(QDeclarativeInstruction::StoreVariantDouble);
i.storeDouble.value = 33.7;
i.storeDouble.propertyIndex = 19;
- data->bytecode << i;
+ data->addInstruction(i);
+ }
+
+ {
+ QDeclarativeInstruction i;
+ i.setType(QDeclarativeInstruction::Done);
+ data->addInstruction(i);
}
QStringList expect;
expect
- << "Index\tLine\tOperation\t\tData1\tData2\tData3\tComments"
+ << "Index\tOperation\t\tData1\tData2\tData3\tComments"
<< "-------------------------------------------------------------------------------"
- << "0\t\t0\tINIT\t\t\t0\t3\t-1\t-1"
- << "1\t\t1\tCREATE\t\t\t0\t-1\t\t\"Test\""
- << "2\t\t2\tSETID\t\t\t0\t\t\t\"testId\""
- << "3\t\t3\tSET_DEFAULT"
- << "4\t\t4\tCREATE_COMPONENT\t3"
- << "5\t\t5\tSTORE_META\t\t3"
- << "6\t\t6\tSTORE_FLOAT\t\t3\t11.3"
- << "7\t\t7\tSTORE_DOUBLE\t\t4\t14.8"
- << "8\t\t8\tSTORE_INTEGER\t\t5\t9"
- << "9\t\t9\tSTORE_BOOL\t\t6\ttrue"
- << "10\t\t10\tSTORE_STRING\t\t7\t1\t\t\"Test String\""
- << "11\t\t11\tSTORE_URL\t\t8\t0\t\tQUrl(\"http://www.nokia.com\") "
- << "12\t\t12\tSTORE_COLOR\t\t9\t\t\t\"ff00ff00\""
- << "13\t\t13\tSTORE_DATE\t\t10\t9"
- << "14\t\t14\tSTORE_TIME\t\t11\t33"
- << "15\t\t15\tSTORE_DATETIME\t\t12\t44"
- << "16\t\t16\tSTORE_POINT\t\t13\t3"
- << "17\t\t17\tSTORE_POINTF\t\t14\t9"
- << "18\t\t18\tSTORE_SIZE\t\t15\t8"
- << "19\t\t19\tSTORE_SIZEF\t\t16\t99"
- << "20\t\t20\tSTORE_RECT\t\t17\t2"
- << "21\t\t21\tSTORE_RECTF\t\t18\t19"
- << "22\t\t22\tSTORE_VECTOR3D\t\t19\t9"
- << "23\t\t23\tSTORE_VARIANT\t\t20\t2\t\t\"color(1, 1, 1, 1)\""
- << "24\t\t24\tSTORE_OBJECT\t\t21"
- << "25\t\t25\tSTORE_VARIANT_OBJECT\t22"
- << "26\t\t26\tSTORE_INTERFACE\t\t23"
- << "27\t\t27\tSTORE_SIGNAL\t\t2\t3\t\t\"console.log(1921)\""
- << "28\t\t29\tSTORE_SCRIPT_STRING\t24\t3\t1"
- << "29\t\t30\tASSIGN_SIGNAL_OBJECT\t0\t\t\t\"mySignal\""
- << "30\t\t31\tASSIGN_CUSTOMTYPE\t25\t4"
- << "31\t\t32\tSTORE_BINDING\t26\t3\t2"
- << "32\t\t33\tSTORE_COMPILED_BINDING\t27\t2\t4"
- << "33\t\t34\tSTORE_VALUE_SOURCE\t29\t4"
- << "34\t\t35\tSTORE_VALUE_INTERCEPTOR\t30\t-4"
- << "35\t\t36\tBEGIN\t\t\t4"
- << "36\t\t38\tSTORE_OBJECT_QLIST"
- << "37\t\t39\tASSIGN_OBJECT_LIST"
- << "38\t\t40\tFETCH_ATTACHED\t\t23"
- << "39\t\t42\tFETCH_QLIST\t\t32"
- << "40\t\t43\tFETCH\t\t\t33"
- << "41\t\t44\tFETCH_VALUE\t\t34\t6\t7"
- << "42\t\t45\tPOP"
- << "43\t\t46\tPOP_QLIST"
- << "44\t\t47\tPOP_VALUE\t\t35\t8"
- << "45\t\t48\tDEFER\t\t\t7"
- << "46\t\tNA\tDEFER\t\t\t7"
- << "47\t\t48\tSTORE_IMPORTED_SCRIPT\t2"
- << "48\t\t50\tXXX UNKNOWN INSTRUCTION\t1234"
- << "49\t\t51\tSTORE_VARIANT_INTEGER\t\t32\t11"
- << "50\t\t52\tSTORE_VARIANT_DOUBLE\t\t19\t33.7"
+ << "0\t\tINIT\t\t\t0\t3\t-1\t-1"
+ << "1\t\tCREATE\t\t\t0\t-1\t\t\"Test\""
+ << "2\t\tSETID\t\t\t0\t\t\t\"testId\""
+ << "3\t\tSET_DEFAULT"
+ << "4\t\tCREATE_COMPONENT\t3"
+ << "5\t\tSTORE_META\t\t3"
+ << "6\t\tSTORE_FLOAT\t\t3\t11.3"
+ << "7\t\tSTORE_DOUBLE\t\t4\t14.8"
+ << "8\t\tSTORE_INTEGER\t\t5\t9"
+ << "9\t\tSTORE_BOOL\t\t6\ttrue"
+ << "10\t\tSTORE_STRING\t\t7\t1\t\t\"Test String\""
+ << "11\t\tSTORE_URL\t\t8\t0\t\tQUrl(\"http://www.nokia.com\") "
+ << "12\t\tSTORE_COLOR\t\t9\t\t\t\"ff00ff00\""
+ << "13\t\tSTORE_DATE\t\t10\t9"
+ << "14\t\tSTORE_TIME\t\t11"
+ << "15\t\tSTORE_DATETIME\t\t12"
+ << "16\t\tSTORE_POINT\t\t13\t3\t7"
+ << "17\t\tSTORE_POINTF\t\t13\t3\t7"
+ << "18\t\tSTORE_SIZE\t\t15\t8\t11"
+ << "19\t\tSTORE_SIZEF\t\t15\t8\t11"
+ << "20\t\tSTORE_RECT\t\t17\t7\t9\t11\t13"
+ << "21\t\tSTORE_RECTF\t\t18\t11.3\t9.8\t3\t2.1"
+ << "22\t\tSTORE_VECTOR3D\t\t19\t9\t3\t92"
+ << "23\t\tSTORE_VARIANT\t\t20\t2\t\t\"color(1, 1, 1, 1)\""
+ << "24\t\tSTORE_OBJECT\t\t21"
+ << "25\t\tSTORE_VARIANT_OBJECT\t22"
+ << "26\t\tSTORE_INTERFACE\t\t23"
+ << "27\t\tSTORE_SIGNAL\t\t2\t3\t\t\"console.log(1921)\""
+ << "28\t\tSTORE_SCRIPT_STRING\t24\t3\t1"
+ << "29\t\tASSIGN_SIGNAL_OBJECT\t0\t\t\t\"mySignal\""
+ << "30\t\tASSIGN_CUSTOMTYPE\t25\t6\t9"
+ << "31\t\tSTORE_BINDING\t26\t3\t2"
+ << "32\t\tSTORE_COMPILED_BINDING\t27\t2\t4"
+ << "33\t\tSTORE_VALUE_SOURCE\t29\t4"
+ << "34\t\tSTORE_VALUE_INTERCEPTOR\t30\t-4"
+ << "35\t\tBEGIN\t\t\t4"
+ << "36\t\tSTORE_OBJECT_QLIST"
+ << "37\t\tASSIGN_OBJECT_LIST"
+ << "38\t\tFETCH_ATTACHED\t\t23"
+ << "39\t\tFETCH_QLIST\t\t32"
+ << "40\t\tFETCH\t\t\t33"
+ << "41\t\tFETCH_VALUE\t\t34\t6\t7"
+ << "42\t\tPOP"
+ << "43\t\tPOP_QLIST"
+ << "44\t\tPOP_VALUE\t\t35\t8"
+ << "45\t\tDEFER\t\t\t7"
+ << "46\t\tDEFER\t\t\t7"
+ << "47\t\tSTORE_IMPORTED_SCRIPT\t2"
+ << "48\t\tSTORE_VARIANT_INTEGER\t\t32\t11"
+ << "49\t\tSTORE_VARIANT_DOUBLE\t\t19\t33.7"
+ << "50\t\tDONE"
<< "-------------------------------------------------------------------------------";
messages = QStringList();
@@ -604,6 +573,120 @@ void tst_qdeclarativeinstruction::dump()
data->release();
}
+void tst_qdeclarativeinstruction::point()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storePoint::QPoint), sizeof(QPoint));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storePoint::QPoint), Q_ALIGNOF(QPoint));
+
+ QDeclarativeInstruction i;
+ i.storePoint.point.xp = 8;
+ i.storePoint.point.yp = 11;
+
+ const QPoint &point = (const QPoint &)(i.storePoint.point);
+ QCOMPARE(point.x(), 8);
+ QCOMPARE(point.y(), 11);
+}
+
+void tst_qdeclarativeinstruction::pointf()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storePointF::QPointF), sizeof(QPointF));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storePointF::QPointF), Q_ALIGNOF(QPointF));
+
+ QDeclarativeInstruction i;
+ i.storePointF.point.xp = 8.7;
+ i.storePointF.point.yp = 11.3;
+
+ const QPointF &point = (const QPointF &)(i.storePointF.point);
+ QCOMPARE(point.x(), 8.7);
+ QCOMPARE(point.y(), 11.3);
+}
+
+void tst_qdeclarativeinstruction::size()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeSize::QSize), sizeof(QSize));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeSize::QSize), Q_ALIGNOF(QSize));
+
+ QDeclarativeInstruction i;
+ i.storeSize.size.wd = 8;
+ i.storeSize.size.ht = 11;
+
+ const QSize &size = (const QSize &)(i.storeSize.size);
+ QCOMPARE(size.width(), 8);
+ QCOMPARE(size.height(), 11);
+}
+
+void tst_qdeclarativeinstruction::sizef()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeSizeF::QSizeF), sizeof(QSizeF));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeSizeF::QSizeF), Q_ALIGNOF(QSizeF));
+
+ QDeclarativeInstruction i;
+ i.storeSizeF.size.wd = 8;
+ i.storeSizeF.size.ht = 11;
+
+ const QSizeF &size = (const QSizeF &)(i.storeSizeF.size);
+ QCOMPARE(size.width(), (qreal)8);
+ QCOMPARE(size.height(), (qreal)11);
+}
+
+void tst_qdeclarativeinstruction::rect()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeRect::QRect), sizeof(QRect));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeRect::QRect), Q_ALIGNOF(QRect));
+
+ QDeclarativeInstruction i;
+ i.storeRect.rect.x1 = 8;
+ i.storeRect.rect.y1 = 11;
+ i.storeRect.rect.x2 = 13;
+ i.storeRect.rect.y2 = 19;
+
+ const QRect &rect = (const QRect &)(i.storeRect.rect);
+ QCOMPARE(rect.left(), 8);
+ QCOMPARE(rect.top(), 11);
+ QCOMPARE(rect.right(), 13);
+ QCOMPARE(rect.bottom(), 19);
+}
+
+void tst_qdeclarativeinstruction::rectf()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeRectF::QRectF), sizeof(QRectF));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeRectF::QRectF), Q_ALIGNOF(QRectF));
+
+ QDeclarativeInstruction i;
+ i.storeRectF.rect.xp = 8;
+ i.storeRectF.rect.yp = 11;
+ i.storeRectF.rect.w = 13;
+ i.storeRectF.rect.h = 19;
+
+ const QRectF &rect = (const QRectF &)(i.storeRectF.rect);
+ QCOMPARE(rect.left(), (qreal)8);
+ QCOMPARE(rect.top(), (qreal)11);
+ QCOMPARE(rect.width(), (qreal)13);
+ QCOMPARE(rect.height(), (qreal)19);
+}
+
+void tst_qdeclarativeinstruction::vector3d()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeVector3D::QVector3D), sizeof(QVector3D));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeVector3D::QVector3D), Q_ALIGNOF(QVector3D));
+
+ QDeclarativeInstruction i;
+ i.storeVector3D.vector.xp = 8.2;
+ i.storeVector3D.vector.yp = 99.3;
+ i.storeVector3D.vector.zp = 12.0;
+
+ const QVector3D &vector = (const QVector3D &)(i.storeVector3D.vector);
+ QCOMPARE(vector.x(), (qreal)(float)8.2);
+ QCOMPARE(vector.y(), (qreal)(float)99.3);
+ QCOMPARE(vector.z(), (qreal)(float)12.0);
+}
+
+void tst_qdeclarativeinstruction::time()
+{
+ QCOMPARE(sizeof(QDeclarativeInstruction::instr_storeTime::QTime), sizeof(QTime));
+ QCOMPARE(Q_ALIGNOF(QDeclarativeInstruction::instr_storeTime::QTime), Q_ALIGNOF(QTime));
+}
+
QTEST_MAIN(tst_qdeclarativeinstruction)
#include "tst_qdeclarativeinstruction.moc"
diff --git a/tests/auto/declarative/qdeclarativeitem/data/keynavigationtest_implicit.qml b/tests/auto/declarative/qdeclarativeitem/data/keynavigationtest_implicit.qml
new file mode 100644
index 0000000000..52ffaea0ec
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativeitem/data/keynavigationtest_implicit.qml
@@ -0,0 +1,68 @@
+import QtQuick 1.0
+
+Grid {
+ columns: 2
+ width: 100; height: 100
+ function verify() {
+ if (item1.KeyNavigation.tab != item2)
+ return false;
+ if (item1.KeyNavigation.backtab != item4)
+ return false;
+
+ if (item2.KeyNavigation.left != item1)
+ return false;
+ if (item2.KeyNavigation.down != item4)
+ return false;
+ if (item2.KeyNavigation.tab != item3)
+ return false;
+ if (item2.KeyNavigation.backtab != item1)
+ return false;
+
+ if (item3.KeyNavigation.right != item4)
+ return false;
+ if (item3.KeyNavigation.up != item1)
+ return false;
+ if (item3.KeyNavigation.tab != item4)
+ return false;
+ if (item3.KeyNavigation.backtab != item2)
+ return false;
+
+ return true;
+ }
+
+ Rectangle {
+ id: item1
+ objectName: "item1"
+ focus: true
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ KeyNavigation.tab: item2
+ KeyNavigation.backtab: item4
+ }
+ Rectangle {
+ id: item2
+ objectName: "item2"
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ KeyNavigation.left: item1
+ KeyNavigation.down: item4
+ KeyNavigation.tab: item3
+ KeyNavigation.backtab: item1
+ }
+ Rectangle {
+ id: item3
+ objectName: "item3"
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ KeyNavigation.right: item4
+ KeyNavigation.up: item1
+ KeyNavigation.tab: item4
+ KeyNavigation.backtab: item2
+ }
+ Rectangle {
+ id: item4
+ objectName: "item4"
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro b/tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro
index d8007a092f..67133f65b2 100644
--- a/tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro
+++ b/tests/auto/declarative/qdeclarativeitem/qdeclarativeitem.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp
index 362a8ff722..c53e2c66fb 100644
--- a/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp
+++ b/tests/auto/declarative/qdeclarativeitem/tst_qdeclarativeitem.cpp
@@ -67,6 +67,7 @@ private slots:
void keyNavigation();
void keyNavigation_RightToLeft();
void keyNavigation_skipNotVisible();
+ void keyNavigation_implicitSetting();
void layoutMirroring();
void layoutMirroringIllegalParent();
void smooth();
@@ -773,6 +774,131 @@ void tst_QDeclarativeItem::keyNavigation_skipNotVisible()
delete canvas;
}
+void tst_QDeclarativeItem::keyNavigation_implicitSetting()
+{
+ QDeclarativeView *canvas = new QDeclarativeView(0);
+ canvas->setFixedSize(240,320);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/keynavigationtest_implicit.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QEvent wa(QEvent::WindowActivate);
+ QApplication::sendEvent(canvas, &wa);
+ QFocusEvent fe(QEvent::FocusIn);
+ QApplication::sendEvent(canvas, &fe);
+
+ QDeclarativeItem *item = findItem<QDeclarativeItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ QVariant result;
+ QVERIFY(QMetaObject::invokeMethod(canvas->rootObject(), "verify",
+ Q_RETURN_ARG(QVariant, result)));
+ QVERIFY(result.toBool());
+
+ // right
+ QKeyEvent key(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item2");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // back to item1
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Left, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // down
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Down, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item3");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // move to item4
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item4");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // left
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Left, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item3");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // back to item4
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item4");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // up
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Up, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item2");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // back to item4
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Down, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item4");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // tab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // back to item4
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Backtab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item4");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // backtab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Backtab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QDeclarativeItem>(canvas->rootObject(), "item3");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ delete canvas;
+}
+
void tst_QDeclarativeItem::smooth()
{
QDeclarativeComponent component(&engine);
@@ -1092,6 +1218,7 @@ void tst_QDeclarativeItem::childrenRect()
QCOMPARE(item->height(), qreal(0));
delete o;
+ delete canvas;
}
// QTBUG-11383
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/propertyInit.1.qml b/tests/auto/declarative/qdeclarativelanguage/data/propertyInit.1.qml
new file mode 100644
index 0000000000..a7ef16af68
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/propertyInit.1.qml
@@ -0,0 +1,5 @@
+import QtQuick 1.0
+
+QtObject {
+ property int test: { var _ = 1; _ }
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/propertyInit.2.qml b/tests/auto/declarative/qdeclarativelanguage/data/propertyInit.2.qml
new file mode 100644
index 0000000000..a165de8d16
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/propertyInit.2.qml
@@ -0,0 +1,6 @@
+import QtQuick 1.0
+
+QtObject {
+ property int test: if (b == 1) 123; else 321;
+ property int b: 1
+}
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/wrongType.17.errors.txt b/tests/auto/declarative/qdeclarativelanguage/data/wrongType.17.errors.txt
new file mode 100644
index 0000000000..ef34d0ea95
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/wrongType.17.errors.txt
@@ -0,0 +1 @@
+3:19:Invalid property assignment: unknown enumeration
diff --git a/tests/auto/declarative/qdeclarativelanguage/data/wrongType.17.qml b/tests/auto/declarative/qdeclarativelanguage/data/wrongType.17.qml
new file mode 100644
index 0000000000..f678fb3136
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativelanguage/data/wrongType.17.qml
@@ -0,0 +1,5 @@
+import Test 1.0
+MyTypeObject {
+ enumProperty: 6
+}
+
diff --git a/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro b/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro
index cae85a7b6c..88dc6128ed 100644
--- a/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro
+++ b/tests/auto/declarative/qdeclarativelanguage/qdeclarativelanguage.pro
@@ -20,3 +20,4 @@ symbian: {
}
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
index d6e6a4a6b5..132c947d93 100644
--- a/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
+++ b/tests/auto/declarative/qdeclarativelanguage/tst_qdeclarativelanguage.cpp
@@ -157,6 +157,8 @@ private slots:
void revisions();
void revisionOverloads();
+ void propertyInit();
+
// regression tests for crashes
void crash1();
void crash2();
@@ -273,6 +275,7 @@ void tst_qdeclarativelanguage::errors_data()
QTest::newRow("wrongType (int for string)") << "wrongType.14.qml" << "wrongType.14.errors.txt" << false;
QTest::newRow("wrongType (int for url)") << "wrongType.15.qml" << "wrongType.15.errors.txt" << false;
QTest::newRow("wrongType (invalid object)") << "wrongType.16.qml" << "wrongType.16.errors.txt" << false;
+ QTest::newRow("wrongType (int for enum)") << "wrongType.17.qml" << "wrongType.17.errors.txt" << false;
QTest::newRow("readOnly.1") << "readOnly.1.qml" << "readOnly.1.errors.txt" << false;
QTest::newRow("readOnly.2") << "readOnly.2.qml" << "readOnly.2.errors.txt" << false;
@@ -548,11 +551,11 @@ void tst_qdeclarativelanguage::assignBasicTypes()
QCOMPARE(object->timeProperty(), QTime(11, 11, 32));
QCOMPARE(object->dateTimeProperty(), QDateTime(QDate(2009, 5, 12), QTime(13, 22, 1)));
QCOMPARE(object->pointProperty(), QPoint(99,13));
- QCOMPARE(object->pointFProperty(), QPointF((float)-10.1, (float)12.3));
+ QCOMPARE(object->pointFProperty(), QPointF(-10.1, 12.3));
QCOMPARE(object->sizeProperty(), QSize(99, 13));
- QCOMPARE(object->sizeFProperty(), QSizeF((float)0.1, (float)0.2));
+ QCOMPARE(object->sizeFProperty(), QSizeF(0.1, 0.2));
QCOMPARE(object->rectProperty(), QRect(9, 7, 100, 200));
- QCOMPARE(object->rectFProperty(), QRectF((float)1000.1, (float)-10.9, (float)400, (float)90.99));
+ QCOMPARE(object->rectFProperty(), QRectF(1000.1, -10.9, 400, 90.99));
QCOMPARE(object->boolProperty(), true);
QCOMPARE(object->variantProperty(), QVariant("Hello World!"));
QCOMPARE(object->vectorProperty(), QVector3D(10, 1, 2.2));
@@ -2016,6 +2019,34 @@ void tst_qdeclarativelanguage::aliasPropertyChangeSignals()
}
}
+// Tests property initializers
+void tst_qdeclarativelanguage::propertyInit()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("propertyInit.1.qml"));
+
+ VERIFY_ERRORS(0);
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QCOMPARE(o->property("test").toInt(), 1);
+
+ delete o;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("propertyInit.2.qml"));
+
+ VERIFY_ERRORS(0);
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QCOMPARE(o->property("test").toInt(), 123);
+
+ delete o;
+ }
+}
+
QTEST_MAIN(tst_qdeclarativelanguage)
#include "tst_qdeclarativelanguage.moc"
diff --git a/tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro b/tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro
index d89f16cd7d..6c38af4da1 100644
--- a/tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro
+++ b/tests/auto/declarative/qdeclarativelayoutitem/qdeclarativelayoutitem.pro
@@ -11,3 +11,4 @@ symbian: {
} else {
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro b/tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro
index b5c5cf247a..902a0510cd 100644
--- a/tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro
+++ b/tests/auto/declarative/qdeclarativelistmodel/qdeclarativelistmodel.pro
@@ -15,3 +15,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp
index 263caf3101..d923a7a7cb 100644
--- a/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp
+++ b/tests/auto/declarative/qdeclarativelistmodel/tst_qdeclarativelistmodel.cpp
@@ -115,7 +115,6 @@ int tst_qdeclarativelistmodel::roleFromName(const QDeclarativeListModel *model,
if (model->toString(roles[i]) == roleName)
return roles[i];
}
- Q_ASSERT(false);
return -1;
}
@@ -741,6 +740,7 @@ void tst_qdeclarativelistmodel::get()
"}", QUrl());
QDeclarativeListModel *model = qobject_cast<QDeclarativeListModel*>(component.create());
int role = roleFromName(model, roleName);
+ QVERIFY(role >= 0);
QSignalSpy spy(model, SIGNAL(itemsChanged(int, int, QList<int>)));
QDeclarativeExpression expr(eng.rootContext(), model, expression);
@@ -754,6 +754,8 @@ void tst_qdeclarativelistmodel::get()
QCOMPARE(spyResult.at(0).toInt(), index);
QCOMPARE(spyResult.at(1).toInt(), 1); // only 1 item is modified at a time
QCOMPARE(spyResult.at(2).value<QList<int> >(), (QList<int>() << role));
+
+ delete model;
}
void tst_qdeclarativelistmodel::get_data()
@@ -802,6 +804,7 @@ void tst_qdeclarativelistmodel::get_worker()
model.append(sv);
model.append(sv);
int role = roleFromName(&model, roleName);
+ QVERIFY(role >= 0);
const char *warning = "<Unknown File>: QML ListModel: Cannot add list-type data when modifying or after modification from a worker script";
if (roleValue.type() == QVariant::List || roleValue.type() == QVariant::Map)
@@ -893,6 +896,7 @@ void tst_qdeclarativelistmodel::get_nested()
int outerListIndex = testData[i].first;
QString outerListRoleName = testData[i].second;
int outerListRole = roleFromName(model, outerListRoleName);
+ QVERIFY(outerListRole >= 0);
childModel = qobject_cast<QDeclarativeListModel*>(model->data(outerListIndex, outerListRole).value<QObject*>());
QVERIFY(childModel);
@@ -905,6 +909,7 @@ void tst_qdeclarativelistmodel::get_nested()
QVERIFY(!expr.hasError());
int role = roleFromName(childModel, roleName);
+ QVERIFY(role >= 0);
QCOMPARE(childModel->data(index, role), roleValue);
QCOMPARE(spy.count(), 1);
@@ -913,6 +918,8 @@ void tst_qdeclarativelistmodel::get_nested()
QCOMPARE(spyResult.at(1).toInt(), 1); // only 1 item is modified at a time
QCOMPARE(spyResult.at(2).value<QList<int> >(), (QList<int>() << role));
}
+
+ delete model;
}
void tst_qdeclarativelistmodel::get_nested_data()
@@ -933,6 +940,8 @@ void tst_qdeclarativelistmodel::crash_model_with_multiple_roles()
// used to cause a crash in QDeclarativeVisualDataModel
model->setProperty(0, "black", true);
+
+ delete rootItem;
}
//QTBUG-15190
@@ -944,6 +953,8 @@ void tst_qdeclarativelistmodel::set_model_cache()
QVERIFY2(component.errorString().isEmpty(), QTest::toString(component.errorString()));
QVERIFY(model != 0);
QVERIFY(model->property("ok").toBool());
+
+ delete model;
}
void tst_qdeclarativelistmodel::property_changes()
diff --git a/tests/auto/declarative/qdeclarativelistreference/qdeclarativelistreference.pro b/tests/auto/declarative/qdeclarativelistreference/qdeclarativelistreference.pro
index f3e6f52947..03affbf482 100644
--- a/tests/auto/declarative/qdeclarativelistreference/qdeclarativelistreference.pro
+++ b/tests/auto/declarative/qdeclarativelistreference/qdeclarativelistreference.pro
@@ -6,3 +6,4 @@ SOURCES += tst_qdeclarativelistreference.cpp
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro b/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro
index 1633ffca2a..77e6261c2a 100644
--- a/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro
+++ b/tests/auto/declarative/qdeclarativelistview/qdeclarativelistview.pro
@@ -14,3 +14,4 @@ symbian: {
}
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
index 10f7d011f6..7bb15c5ce8 100644
--- a/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
+++ b/tests/auto/declarative/qdeclarativelistview/tst_qdeclarativelistview.cpp
@@ -435,6 +435,7 @@ void tst_QDeclarativeListView::items()
QTRY_COMPARE(listview->highlightMoveSpeed(), 1000.0);
delete canvas;
+ delete testObject;
}
@@ -472,6 +473,7 @@ void tst_QDeclarativeListView::changed()
QTRY_COMPARE(number->text(), model.number(1));
delete canvas;
+ delete testObject;
}
template <class T>
@@ -557,6 +559,7 @@ void tst_QDeclarativeListView::inserted()
// QTRY_COMPARE(listview->contentItemHeight(), model.count() * 20.0);
delete canvas;
+ delete testObject;
}
template <class T>
@@ -714,7 +717,18 @@ void tst_QDeclarativeListView::removed(bool animated)
QTRY_VERIFY(name = findItem<QDeclarativeText>(contentItem, "textName", model.count()-1));
QCOMPARE(name->text(), QString("New"));
+ // Add some more items so that we don't run out
+ for (int i = 50; i < 100; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ // QTBUG-19198 move to end and remove all visible items one at a time.
+ listview->positionViewAtEnd();
+ for (int i = 0; i < 18; ++i)
+ model.removeItems(model.count() - 1, 1);
+ QTRY_VERIFY(findItems<QDeclarativeItem>(contentItem, "wrapper").count() > 16);
+
delete canvas;
+ delete testObject;
}
template <class T>
@@ -755,6 +769,7 @@ void tst_QDeclarativeListView::clear()
QVERIFY(listview->currentIndex() == 0);
delete canvas;
+ delete testObject;
}
@@ -844,6 +859,7 @@ void tst_QDeclarativeListView::moved()
}
delete canvas;
+ delete testObject;
}
void tst_QDeclarativeListView::enforceRange()
@@ -954,6 +970,7 @@ void tst_QDeclarativeListView::spacing()
}
delete canvas;
+ delete testObject;
}
void tst_QDeclarativeListView::sections()
@@ -1291,6 +1308,8 @@ void tst_QDeclarativeListView::noCurrentIndex()
QCOMPARE(listview->currentIndex(), 2);
QVERIFY(listview->highlightItem());
QVERIFY(listview->currentItem());
+
+ delete canvas;
}
void tst_QDeclarativeListView::itemList()
@@ -1384,6 +1403,7 @@ void tst_QDeclarativeListView::cacheBuffer()
}
delete canvas;
+ delete testObject;
}
void tst_QDeclarativeListView::positionViewAtIndex()
@@ -1543,6 +1563,7 @@ void tst_QDeclarativeListView::positionViewAtIndex()
QTRY_COMPARE(listview->contentY(), 510.);
delete canvas;
+ delete testObject;
}
void tst_QDeclarativeListView::resetModel()
@@ -1847,6 +1868,7 @@ void tst_QDeclarativeListView::QTBUG_11105()
QCOMPARE(itemCount, 5);
delete canvas;
+ delete testObject;
}
void tst_QDeclarativeListView::header()
@@ -2119,6 +2141,7 @@ void tst_QDeclarativeListView::resizeView()
QCOMPARE(heightRatio.toReal(), 0.25);
delete canvas;
+ delete testObject;
}
void tst_QDeclarativeListView::sizeLessThan1()
@@ -2154,6 +2177,7 @@ void tst_QDeclarativeListView::sizeLessThan1()
}
delete canvas;
+ delete testObject;
}
void tst_QDeclarativeListView::QTBUG_14821()
@@ -2302,6 +2326,7 @@ void tst_QDeclarativeListView::indexAt()
QCOMPARE(listview->indexAt(240,20), -1);
delete canvas;
+ delete testObject;
}
void tst_QDeclarativeListView::incrementalModel()
diff --git a/tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro b/tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro
index 1ede50964a..d32535897e 100644
--- a/tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro
+++ b/tests/auto/declarative/qdeclarativeloader/qdeclarativeloader.pro
@@ -17,3 +17,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemetatype/qdeclarativemetatype.pro b/tests/auto/declarative/qdeclarativemetatype/qdeclarativemetatype.pro
index f13250e2c5..fb58161b5d 100644
--- a/tests/auto/declarative/qdeclarativemetatype/qdeclarativemetatype.pro
+++ b/tests/auto/declarative/qdeclarativemetatype/qdeclarativemetatype.pro
@@ -9,3 +9,4 @@ macx:CONFIG -= app_bundle
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/implicitQmldir.errors.txt b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/implicitQmldir.errors.txt
new file mode 100644
index 0000000000..ce3b796e16
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/implicitQmldir.errors.txt
@@ -0,0 +1 @@
+-1:-1:module "" plugin "AType" not found
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/qmldir
new file mode 100644
index 0000000000..7f5b3a362d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/qmldir
@@ -0,0 +1,2 @@
+plugin AType
+
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/temptest.qml b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/temptest.qml
new file mode 100644
index 0000000000..a45ac2dd8c
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit1/temptest.qml
@@ -0,0 +1,14 @@
+import QtQuick 1.0
+
+// this qml file uses a type which is meant to be defined
+// in a plugin which is specified in the qmldir file.
+// however, that plugin doesn't exist, so it cannot be
+// loaded, and hence the AItem type will be an unknown type.
+
+Item {
+ id: root
+
+ AItem {
+ id: unknown
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/Test.qml b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/Test.qml
new file mode 100644
index 0000000000..83c65538ba
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/Test.qml
@@ -0,0 +1,5 @@
+import QtQuick 1.0
+
+Item {
+ id: moduleRoot
+}
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/implicitQmldir.2.errors.txt b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/implicitQmldir.2.errors.txt
new file mode 100644
index 0000000000..9cafb78740
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/implicitQmldir.2.errors.txt
@@ -0,0 +1,3 @@
+1:12:unexpected token
+1:-1:expected '.'
+2:17:unexpected token
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/qmldir b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/qmldir
new file mode 100644
index 0000000000..7c4def92fc
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/qmldir
@@ -0,0 +1,3 @@
+foo bar foo bar
+internal foo bar foo
+Test 1.0 Test.qml
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/temptest2.qml b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/temptest2.qml
new file mode 100644
index 0000000000..3eb29f43da
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/data/implicit2/temptest2.qml
@@ -0,0 +1,8 @@
+import QtQuick 1.0
+
+// the type loader will implicitly search "." for a qmldir
+// and the qmldir has various syntax errors in it.
+
+Item {
+ id: root
+}
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/plugin.2.1.pro b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/plugin.2.1.pro
index 661675ae79..1c94420cb5 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/plugin.2.1.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2.1/plugin.2.1.pro
@@ -7,3 +7,4 @@ DESTDIR = ../imports/com/nokia/AutoTestQmlPluginType.2.1
symbian: {
TARGET.EPOCALLOWDLLDATA=1
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/plugin.2.pro b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/plugin.2.pro
index d2546429db..d4797a7ed8 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/plugin.2.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin.2/plugin.2.pro
@@ -7,3 +7,4 @@ DESTDIR = ../imports/com/nokia/AutoTestQmlPluginType.2
symbian: {
TARGET.EPOCALLOWDLLDATA=1
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro b/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro
index 173a3026fb..2bf974a6cc 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/plugin/plugin.pro
@@ -7,3 +7,4 @@ DESTDIR = ../imports/com/nokia/AutoTestQmlPluginType
symbian: {
TARGET.EPOCALLOWDLLDATA=1
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/pluginMixed.pro b/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/pluginMixed.pro
index 9766003e74..52cf49d28e 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/pluginMixed.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginMixed/pluginMixed.pro
@@ -7,3 +7,4 @@ DESTDIR = ../imports/com/nokia/AutoTestQmlMixedPluginType
symbian: {
TARGET.EPOCALLOWDLLDATA=1
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/pluginVersion.pro b/tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/pluginVersion.pro
index 70a38b9a7d..2c69f225be 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/pluginVersion.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginVersion/pluginVersion.pro
@@ -7,3 +7,4 @@ DESTDIR = ../imports/com/nokia/AutoTestQmlVersionPluginType
symbian: {
TARGET.EPOCALLOWDLLDATA=1
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/pluginWithQmlFile.pro b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/pluginWithQmlFile.pro
index aa9c95c483..b39f63ecbc 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/pluginWithQmlFile.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWithQmlFile/pluginWithQmlFile.pro
@@ -7,3 +7,4 @@ DESTDIR = ../imports/com/nokia/AutoTestPluginWithQmlFile
symbian: {
TARGET.EPOCALLOWDLLDATA=1
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro
index c7337ca07c..87cf7d61b5 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/pluginWrongCase/pluginWrongCase.pro
@@ -8,3 +8,4 @@ DESTDIR = ../imports/com/nokia/WrongCase
symbian: {
TARGET.EPOCALLOWDLLDATA=1
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro b/tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro
index 6e72d9833b..25c6c6ad56 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/qdeclarativemoduleplugin.pro
@@ -6,3 +6,4 @@ SUBDIRS += tst_qdeclarativemoduleplugin.pro
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
index 2cc297171c..3b08229554 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.cpp
@@ -70,6 +70,8 @@ private slots:
void remoteImportWithUnquotedUri();
void versionNotInstalled();
void versionNotInstalled_data();
+ void implicitQmldir();
+ void implicitQmldir_data();
};
#ifdef Q_OS_SYMBIAN
@@ -84,7 +86,8 @@ private slots:
QVERIFY(!component.isError()); \
QVERIFY(component.errors().isEmpty()); \
} else { \
- QFile file(QLatin1String("data/") + QLatin1String(errorfile)); \
+ QString verify_errors_file_name = QLatin1String(SRCDIR) + QDir::separator() + QLatin1String("data") + QDir::separator() + QLatin1String(errorfile); \
+ QFile file(verify_errors_file_name); \
QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text)); \
QByteArray data = file.readAll(); \
file.close(); \
@@ -99,10 +102,11 @@ private slots:
error.description().toUtf8(); \
actual << errorStr; \
} \
- if (qgetenv("DEBUG") != "" && expected != actual) \
- qWarning() << "Expected:" << expected << "Actual:" << actual; \
+ if (qgetenv("DEBUG") != "" && expected != actual) { \
+ qWarning() << "Expected:" << expected << "Actual:" << actual; \
+ } \
if (qgetenv("QDECLARATIVELANGUAGE_UPDATEERRORS") != "" && expected != actual) {\
- QFile file(QLatin1String("data/") + QLatin1String(errorfile)); \
+ QFile file(QLatin1String(SRCDIR) + QDir::separator() + QLatin1String("data") + QDir::separator() + QLatin1String(errorfile)); \
QVERIFY(file.open(QIODevice::WriteOnly)); \
for (int ii = 0; ii < actual.count(); ++ii) { \
file.write(actual.at(ii)); file.write("\n"); \
@@ -119,7 +123,6 @@ inline QUrl TEST_FILE(const QString &filename)
return QUrl::fromLocalFile(fileInfo.absoluteDir().filePath(filename));
}
-
void tst_qdeclarativemoduleplugin::importsPlugin()
{
QDeclarativeEngine engine;
@@ -308,6 +311,44 @@ void tst_qdeclarativemoduleplugin::versionNotInstalled()
VERIFY_ERRORS(errorFile.toLatin1().constData());
}
+
+// test that errors are reporting correctly for plugin loading and qmldir parsing
+void tst_qdeclarativemoduleplugin::implicitQmldir_data()
+{
+ QTest::addColumn<QString>("directory");
+ QTest::addColumn<QString>("file");
+ QTest::addColumn<QString>("errorFile");
+
+ // parsing qmldir succeeds, but plugin specified in the qmldir file doesn't exist
+ QTest::newRow("implicitQmldir") << "implicit1" << "temptest.qml" << "implicitQmldir.errors.txt";
+
+ // parsing qmldir fails due to syntax errors, etc.
+ QTest::newRow("implicitQmldir2") << "implicit2" << "temptest2.qml" << "implicitQmldir.2.errors.txt";
+}
+void tst_qdeclarativemoduleplugin::implicitQmldir()
+{
+ QFETCH(QString, directory);
+ QFETCH(QString, file);
+ QFETCH(QString, errorFile);
+
+ QString importPath = QLatin1String(SRCDIR) + QDir::separator() + QLatin1String("data") + QDir::separator() + directory;
+ QString fileName = QLatin1String("data") + QDir::separator() + directory + QDir::separator() + file;
+ QString errorFileName = directory + QDir::separator() + errorFile;
+ QUrl testFileUrl = TEST_FILE(fileName);
+
+ QDeclarativeEngine engine;
+ engine.addImportPath(importPath);
+
+ QDeclarativeComponent component(&engine, testFileUrl);
+ QList<QDeclarativeError> errors = component.errors();
+ VERIFY_ERRORS(errorFileName.toLatin1().constData());
+ QTest::ignoreMessage(QtWarningMsg, "QDeclarativeComponent: Component is not ready");
+ QObject *obj = component.create();
+ QVERIFY(!obj);
+ delete obj;
+}
+
+
QTEST_MAIN(tst_qdeclarativemoduleplugin)
#include "tst_qdeclarativemoduleplugin.moc"
diff --git a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro
index 98cd4729c7..b22162676c 100644
--- a/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro
+++ b/tests/auto/declarative/qdeclarativemoduleplugin/tst_qdeclarativemoduleplugin.pro
@@ -13,3 +13,4 @@ symbian: {
} else {
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemousearea/data/preventContextMenu.qml b/tests/auto/declarative/qdeclarativemousearea/data/preventContextMenu.qml
new file mode 100644
index 0000000000..dcbb5d766e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativemousearea/data/preventContextMenu.qml
@@ -0,0 +1,22 @@
+import QtQuick 1.1
+import Test 1.0
+
+Item {
+ width: 200
+ height: 200
+
+ property alias mouseAreaEnabled: mouseArea.enabled
+ property alias eventsReceived: receiver.eventCount
+
+ ContextMenuEventReceiver {
+ id: receiver
+ anchors.fill: parent
+ }
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.RightButton
+ enabled: true
+ }
+}
diff --git a/tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro b/tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro
index ed9313fe75..0584c6120e 100644
--- a/tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro
+++ b/tests/auto/declarative/qdeclarativemousearea/qdeclarativemousearea.pro
@@ -15,3 +15,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
index e2adfa816e..7548ee0e9c 100644
--- a/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
+++ b/tests/auto/declarative/qdeclarativemousearea/tst_qdeclarativemousearea.cpp
@@ -47,6 +47,7 @@
#include <QtDeclarative/qdeclarativeview.h>
#include <QtDeclarative/qdeclarativecontext.h>
#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativeproperty.h>
#ifdef Q_OS_SYMBIAN
// In Symbian OS test data is located in applications private dir
@@ -70,6 +71,9 @@ private slots:
void preventStealing();
void testQtQuick11Attributes();
void testQtQuick11Attributes_data();
+#ifndef QT_NO_CONTEXTMENU
+ void preventContextMenu();
+#endif // QT_NO_CONTEXTMENU
private:
QDeclarativeView *createView();
@@ -637,6 +641,65 @@ void tst_QDeclarativeMouseArea::testQtQuick11Attributes_data()
<< ":1 \"MouseArea.preventStealing\" is not available in QtQuick 1.0.\n";
}
+#ifndef QT_NO_CONTEXTMENU
+class ContextMenuEventReceiver : public QDeclarativeItem
+{
+ Q_OBJECT
+ Q_PROPERTY(int eventCount READ eventCount NOTIFY eventCountChanged);
+public:
+ ContextMenuEventReceiver(QDeclarativeItem *parent = 0) : QDeclarativeItem(parent), m_eventCount(0) { }
+ int eventCount() const { return m_eventCount; }
+signals:
+ void eventCountChanged(int);
+protected:
+ void contextMenuEvent(QGraphicsSceneContextMenuEvent *event) {
+ if (event->reason() == QGraphicsSceneContextMenuEvent::Mouse) {
+ m_eventCount++;
+ emit eventCountChanged(m_eventCount);
+ }
+ }
+private:
+ int m_eventCount;
+};
+
+void tst_QDeclarativeMouseArea::preventContextMenu()
+{
+ // A MouseArea accepting Left, Middle and Right buttons should prevent context menu
+ // events with "Mouse" reason to hit the Item below.
+
+ qmlRegisterType<ContextMenuEventReceiver>("Test", 1, 0, "ContextMenuEventReceiver");
+
+ QDeclarativeView *view = createView();
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/preventContextMenu.qml"));
+ view->show();
+ QVERIFY(view->rootObject() != 0);
+
+ QDeclarativeProperty mouseAreaEnabled(view->rootObject(), "mouseAreaEnabled");
+ QVERIFY(mouseAreaEnabled.read().toBool());
+
+ QDeclarativeProperty eventsReceived(view->rootObject(), "eventsReceived");
+ QCOMPARE(eventsReceived.read().toInt(), 0);
+
+ QPoint targetPoint = view->mapFromScene(QPoint(80, 80));
+
+ QContextMenuEvent fakeEvent1(QContextMenuEvent::Mouse, targetPoint);
+ QApplication::sendEvent(view->viewport(), &fakeEvent1);
+ QCOMPARE(eventsReceived.read().toInt(), 0);
+
+ mouseAreaEnabled.write(false);
+ QVERIFY(!mouseAreaEnabled.read().toBool());
+ QContextMenuEvent fakeEvent2(QContextMenuEvent::Mouse, targetPoint);
+ QApplication::sendEvent(view->viewport(), &fakeEvent2);
+ QCOMPARE(eventsReceived.read().toInt(), 1);
+
+ mouseAreaEnabled.write(true);
+ QVERIFY(mouseAreaEnabled.read().toBool());
+ QContextMenuEvent fakeEvent3(QContextMenuEvent::Mouse, targetPoint);
+ QApplication::sendEvent(view->viewport(), &fakeEvent3);
+ QCOMPARE(eventsReceived.read().toInt(), 1);
+}
+#endif // QT_NO_CONTEXTMENU
+
QTEST_MAIN(tst_QDeclarativeMouseArea)
#include "tst_qdeclarativemousearea.moc"
diff --git a/tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro b/tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro
index 2cf826831f..57bd1163cc 100644
--- a/tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro
+++ b/tests/auto/declarative/qdeclarativeparticles/qdeclarativeparticles.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeparticles/tst_qdeclarativeparticles.cpp b/tests/auto/declarative/qdeclarativeparticles/tst_qdeclarativeparticles.cpp
index 30cdc4f655..a724ac678e 100644
--- a/tests/auto/declarative/qdeclarativeparticles/tst_qdeclarativeparticles.cpp
+++ b/tests/auto/declarative/qdeclarativeparticles/tst_qdeclarativeparticles.cpp
@@ -105,6 +105,8 @@ void tst_QDeclarativeParticles::properties()
particles->setProperty("emissionRate", 12);
QCOMPARE(particles->property("emissionRate").toInt(), 12);
+
+ delete canvas;
}
void tst_QDeclarativeParticles::motionGravity()
@@ -145,6 +147,8 @@ void tst_QDeclarativeParticles::motionGravity()
QCOMPARE(xattractorSpy.count(), 1);
QCOMPARE(yattractorSpy.count(), 1);
QCOMPARE(accelerationSpy.count(), 1);
+
+ delete canvas;
}
void tst_QDeclarativeParticles::motionWander()
@@ -193,6 +197,8 @@ void tst_QDeclarativeParticles::motionWander()
QCOMPARE(xvarianceSpy.count(), 1);
QCOMPARE(yvarianceSpy.count(), 1);
QCOMPARE(paceSpy.count(), 1);
+
+ delete canvas;
}
void tst_QDeclarativeParticles::runs()
@@ -203,6 +209,8 @@ void tst_QDeclarativeParticles::runs()
QObject* particles = canvas->rootObject()->findChild<QObject*>("particles");
QVERIFY(particles);
QTest::qWait(1000);//Run for one second. Test passes if it doesn't crash.
+
+ delete canvas;
}
QDeclarativeView *tst_QDeclarativeParticles::createView(const QString &filename)
diff --git a/tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro b/tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro
index e0404c551d..8c5ef972a6 100644
--- a/tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro
+++ b/tests/auto/declarative/qdeclarativepathview/qdeclarativepathview.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp
index 3861ed3f61..2d91b53ebb 100644
--- a/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp
+++ b/tests/auto/declarative/qdeclarativepathview/tst_qdeclarativepathview.cpp
@@ -473,6 +473,7 @@ void tst_QDeclarativePathView::dataModel()
QTRY_COMPARE(pathview->offset(), 2.);
delete canvas;
+ delete testObject;
}
void tst_QDeclarativePathView::pathMoved()
@@ -632,6 +633,8 @@ void tst_QDeclarativePathView::resetModel()
QVERIFY(display != 0);
QCOMPARE(display->text(), strings.at(i));
}
+
+ delete canvas;
}
void tst_QDeclarativePathView::propertyChanges()
diff --git a/tests/auto/declarative/qdeclarativepincharea/qdeclarativepincharea.pro b/tests/auto/declarative/qdeclarativepincharea/qdeclarativepincharea.pro
index 2c1364411a..dba87ec011 100644
--- a/tests/auto/declarative/qdeclarativepincharea/qdeclarativepincharea.pro
+++ b/tests/auto/declarative/qdeclarativepincharea/qdeclarativepincharea.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro b/tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro
index 88871e9523..aaf94ea291 100644
--- a/tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro
+++ b/tests/auto/declarative/qdeclarativepixmapcache/qdeclarativepixmapcache.pro
@@ -22,3 +22,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp b/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp
index ead2c4a123..e810e1e8a8 100644
--- a/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp
+++ b/tests/auto/declarative/qdeclarativepixmapcache/tst_qdeclarativepixmapcache.cpp
@@ -289,18 +289,19 @@ void tst_qdeclarativepixmapcache::parallel()
void tst_qdeclarativepixmapcache::massive()
{
+ QDeclarativeEngine engine;
QUrl url = thisfile.resolved(QUrl("data/massive.png"));
// Confirm that massive images remain in the cache while they are
// in use by the application.
{
qint64 cachekey = 0;
- QDeclarativePixmap p(0, url);
+ QDeclarativePixmap p(&engine, url);
QVERIFY(p.isReady());
QVERIFY(p.pixmap().size() == QSize(10000, 1000));
cachekey = p.pixmap().cacheKey();
- QDeclarativePixmap p2(0, url);
+ QDeclarativePixmap p2(&engine, url);
QVERIFY(p2.isReady());
QVERIFY(p2.pixmap().size() == QSize(10000, 1000));
@@ -312,13 +313,13 @@ void tst_qdeclarativepixmapcache::massive()
{
qint64 cachekey = 0;
{
- QDeclarativePixmap p(0, url);
+ QDeclarativePixmap p(&engine, url);
QVERIFY(p.isReady());
QVERIFY(p.pixmap().size() == QSize(10000, 1000));
cachekey = p.pixmap().cacheKey();
}
- QDeclarativePixmap p2(0, url);
+ QDeclarativePixmap p2(&engine, url);
QVERIFY(p2.isReady());
QVERIFY(p2.pixmap().size() == QSize(10000, 1000));
diff --git a/tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro b/tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro
index 27e594850c..235543a240 100644
--- a/tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro
+++ b/tests/auto/declarative/qdeclarativepositioners/qdeclarativepositioners.pro
@@ -13,3 +13,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp b/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp
index cf3039acb4..0f3f540423 100644
--- a/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp
+++ b/tests/auto/declarative/qdeclarativepositioners/tst_qdeclarativepositioners.cpp
@@ -1106,80 +1106,94 @@ void tst_QDeclarativePositioners::test_conflictinganchors()
QDeclarativeItem *item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QVERIFY(warningMessage.isEmpty());
+ delete item;
component.setData("import QtQuick 1.0\nRow { Item {} }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QVERIFY(warningMessage.isEmpty());
+ delete item;
component.setData("import QtQuick 1.0\nGrid { Item {} }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QVERIFY(warningMessage.isEmpty());
+ delete item;
component.setData("import QtQuick 1.0\nFlow { Item {} }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QVERIFY(warningMessage.isEmpty());
+ delete item;
component.setData("import QtQuick 1.0\nColumn { Item { anchors.top: parent.top } }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QCOMPARE(warningMessage, QString("file::2:1: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column"));
warningMessage.clear();
+ delete item;
component.setData("import QtQuick 1.0\nColumn { Item { anchors.centerIn: parent } }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QCOMPARE(warningMessage, QString("file::2:1: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column"));
warningMessage.clear();
+ delete item;
component.setData("import QtQuick 1.0\nColumn { Item { anchors.left: parent.left } }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QVERIFY(warningMessage.isEmpty());
warningMessage.clear();
+ delete item;
component.setData("import QtQuick 1.0\nRow { Item { anchors.left: parent.left } }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QCOMPARE(warningMessage, QString("file::2:1: QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row"));
warningMessage.clear();
+ delete item;
component.setData("import QtQuick 1.0\nRow { Item { anchors.fill: parent } }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QCOMPARE(warningMessage, QString("file::2:1: QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row"));
warningMessage.clear();
+ delete item;
component.setData("import QtQuick 1.0\nRow { Item { anchors.top: parent.top } }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QVERIFY(warningMessage.isEmpty());
warningMessage.clear();
+ delete item;
component.setData("import QtQuick 1.0\nGrid { Item { anchors.horizontalCenter: parent.horizontalCenter } }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QCOMPARE(warningMessage, QString("file::2:1: QML Grid: Cannot specify anchors for items inside Grid"));
warningMessage.clear();
+ delete item;
component.setData("import QtQuick 1.0\nGrid { Item { anchors.centerIn: parent } }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QCOMPARE(warningMessage, QString("file::2:1: QML Grid: Cannot specify anchors for items inside Grid"));
warningMessage.clear();
+ delete item;
component.setData("import QtQuick 1.0\nFlow { Item { anchors.verticalCenter: parent.verticalCenter } }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QCOMPARE(warningMessage, QString("file::2:1: QML Flow: Cannot specify anchors for items inside Flow"));
+ delete item;
component.setData("import QtQuick 1.0\nFlow { Item { anchors.fill: parent } }", QUrl::fromLocalFile(""));
item = qobject_cast<QDeclarativeItem*>(component.create());
QVERIFY(item);
QCOMPARE(warningMessage, QString("file::2:1: QML Flow: Cannot specify anchors for items inside Flow"));
qInstallMsgHandler(oldMsgHandler);
+ delete item;
}
void tst_QDeclarativePositioners::test_vertical_qgraphicswidget()
diff --git a/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro b/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro
index 1750860244..d96b26aee9 100644
--- a/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro
+++ b/tests/auto/declarative/qdeclarativeproperty/qdeclarativeproperty.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativepropertymap/qdeclarativepropertymap.pro b/tests/auto/declarative/qdeclarativepropertymap/qdeclarativepropertymap.pro
index 3c0f7b34d6..505058b1af 100644
--- a/tests/auto/declarative/qdeclarativepropertymap/qdeclarativepropertymap.pro
+++ b/tests/auto/declarative/qdeclarativepropertymap/qdeclarativepropertymap.pro
@@ -6,3 +6,4 @@ SOURCES += tst_qdeclarativepropertymap.cpp
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro b/tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro
index 4b197ebf9e..cd9dabf3bd 100644
--- a/tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro
+++ b/tests/auto/declarative/qdeclarativeqt/qdeclarativeqt.pro
@@ -16,3 +16,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp b/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp
index d75960c13a..960616294f 100644
--- a/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp
+++ b/tests/auto/declarative/qdeclarativeqt/tst_qdeclarativeqt.cpp
@@ -174,7 +174,7 @@ void tst_qdeclarativeqt::rect()
QCOMPARE(qvariant_cast<QRectF>(object->property("test2")), QRectF(-10, 13, 100, 109.6));
QCOMPARE(qvariant_cast<QRectF>(object->property("test3")), QRectF());
QCOMPARE(qvariant_cast<QRectF>(object->property("test4")), QRectF());
- QCOMPARE(qvariant_cast<QRectF>(object->property("test5")), QRectF());
+ QCOMPARE(qvariant_cast<QRectF>(object->property("test5")), QRectF(10, 13, 100, -109));
delete object;
}
@@ -412,11 +412,11 @@ void tst_qdeclarativeqt::createQmlObject()
QDeclarativeComponent component(&engine, TEST_FILE("createQmlObject.qml"));
QString warning1 = component.url().toString() + ":7: Error: Qt.createQmlObject(): Invalid arguments";
- QString warning2 = component.url().toString()+ ":10: Error: Qt.createQmlObject() failed to create object: " + TEST_FILE("inline").toString() + ":2:10: Blah is not a type\n";
- QString warning3 = component.url().toString()+ ":11: Error: Qt.createQmlObject() failed to create object: " + TEST_FILE("main.qml").toString() + ":4:1: Duplicate property name\n";
+ QString warning2 = component.url().toString()+ ":10: Error: Qt.createQmlObject() failed to create object: \n " + TEST_FILE("inline").toString() + ":2:10: Blah is not a type";
+ QString warning3 = component.url().toString()+ ":11: Error: Qt.createQmlObject() failed to create object: \n " + TEST_FILE("main.qml").toString() + ":4:1: Duplicate property name";
QString warning4 = component.url().toString()+ ":9: Error: Qt.createQmlObject(): Missing parent object";
QString warning5 = component.url().toString()+ ":8: Error: Qt.createQmlObject(): Invalid arguments";
- QString warning6 = "RunTimeError: Qt.createQmlObject() failed to create object: " + TEST_FILE("inline").toString() + ":3: Cannot assign object type QObject with no default method\n";
+ QString warning6 = "RunTimeError: Qt.createQmlObject() failed to create object: \n " + TEST_FILE("inline").toString() + ":3: Cannot assign object type QObject with no default method";
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning1));
QTest::ignoreMessage(QtWarningMsg, qPrintable(warning2));
diff --git a/tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro b/tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro
index 5230f698b7..30d8b615bf 100644
--- a/tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro
+++ b/tests/auto/declarative/qdeclarativerepeater/qdeclarativerepeater.pro
@@ -13,3 +13,4 @@ symbian: {
}
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativescriptdebugging/qdeclarativescriptdebugging.pro b/tests/auto/declarative/qdeclarativescriptdebugging/qdeclarativescriptdebugging.pro
index 171f308778..9187bea10b 100644
--- a/tests/auto/declarative/qdeclarativescriptdebugging/qdeclarativescriptdebugging.pro
+++ b/tests/auto/declarative/qdeclarativescriptdebugging/qdeclarativescriptdebugging.pro
@@ -18,3 +18,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro b/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro
index 1e77d6eb9a..5bc4261a28 100644
--- a/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro
+++ b/tests/auto/declarative/qdeclarativesmoothedanimation/qdeclarativesmoothedanimation.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp b/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp
index 6df472d9c5..bab9045b9a 100644
--- a/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp
+++ b/tests/auto/declarative/qdeclarativesmoothedanimation/tst_qdeclarativesmoothedanimation.cpp
@@ -177,6 +177,8 @@ void tst_qdeclarativesmoothedanimation::valueSource()
QTRY_COMPARE(theRect->x(), qreal(200));
QTRY_COMPARE(theRect->y(), qreal(200));
+
+ delete rect;
}
void tst_qdeclarativesmoothedanimation::behavior()
@@ -205,6 +207,8 @@ void tst_qdeclarativesmoothedanimation::behavior()
QTRY_COMPARE(theRect->x(), qreal(200));
QTRY_COMPARE(theRect->y(), qreal(200));
+
+ delete rect;
}
QTEST_MAIN(tst_qdeclarativesmoothedanimation)
diff --git a/tests/auto/declarative/qdeclarativespringanimation/qdeclarativespringanimation.pro b/tests/auto/declarative/qdeclarativespringanimation/qdeclarativespringanimation.pro
index da477fcebd..9885c6521e 100644
--- a/tests/auto/declarative/qdeclarativespringanimation/qdeclarativespringanimation.pro
+++ b/tests/auto/declarative/qdeclarativespringanimation/qdeclarativespringanimation.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro b/tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro
index bce758a5aa..c48cdf7b55 100644
--- a/tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro
+++ b/tests/auto/declarative/qdeclarativesqldatabase/qdeclarativesqldatabase.pro
@@ -1,6 +1,6 @@
load(qttest_p4)
contains(QT_CONFIG,declarative): QT += declarative
-QT += sql script webkit
+QT += sql script
macx:CONFIG -= app_bundle
SOURCES += tst_qdeclarativesqldatabase.cpp
@@ -15,3 +15,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativesqldatabase/tst_qdeclarativesqldatabase.cpp b/tests/auto/declarative/qdeclarativesqldatabase/tst_qdeclarativesqldatabase.cpp
index 84328e1ba9..37755a9929 100644
--- a/tests/auto/declarative/qdeclarativesqldatabase/tst_qdeclarativesqldatabase.cpp
+++ b/tests/auto/declarative/qdeclarativesqldatabase/tst_qdeclarativesqldatabase.cpp
@@ -45,10 +45,12 @@
#include <private/qdeclarativetext_p.h>
#include <private/qdeclarativeengine_p.h>
#include <QtCore/qcryptographichash.h>
+/*
#include <QtWebKit/qwebpage.h>
#include <QtWebKit/qwebframe.h>
#include <QtWebKit/qwebdatabase.h>
#include <QtWebKit/qwebsecurityorigin.h>
+*/
#include <QtSql/qsqldatabase.h>
#include <QtCore/qdir.h>
#include <QtCore/qfile.h>
@@ -93,14 +95,6 @@ private:
QDeclarativeEngine *engine;
};
-class QWebPageWithJavaScriptConsoleMessages : public QWebPage {
-public:
- void javaScriptConsoleMessage(const QString& message, int lineNumber, const QString& sourceID)
- {
- qWarning() << sourceID << ":" << lineNumber << ":" << message;
- }
-};
-
void removeRecursive(const QString& dirname)
{
QDir dir(dirname);
@@ -166,6 +160,14 @@ void tst_qdeclarativesqldatabase::testQml_data()
}
/*
+class QWebPageWithJavaScriptConsoleMessages : public QWebPage {
+public:
+ void javaScriptConsoleMessage(const QString& message, int lineNumber, const QString& sourceID)
+ {
+ qWarning() << sourceID << ":" << lineNumber << ":" << message;
+ }
+};
+
void tst_qdeclarativesqldatabase::validateAgainstWebkit()
{
// Validates tests against WebKit (HTML5) support.
diff --git a/tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro b/tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro
index 4a0cc24b28..2efefed56b 100644
--- a/tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro
+++ b/tests/auto/declarative/qdeclarativestates/qdeclarativestates.pro
@@ -13,3 +13,4 @@ symbian: {
}
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativestyledtext/qdeclarativestyledtext.pro b/tests/auto/declarative/qdeclarativestyledtext/qdeclarativestyledtext.pro
index 87d0e5b53e..e8e75fb3ff 100644
--- a/tests/auto/declarative/qdeclarativestyledtext/qdeclarativestyledtext.pro
+++ b/tests/auto/declarative/qdeclarativestyledtext/qdeclarativestyledtext.pro
@@ -9,3 +9,4 @@ SOURCES += tst_qdeclarativestyledtext.cpp
# LIBS += -lgcov
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativesystempalette/qdeclarativesystempalette.pro b/tests/auto/declarative/qdeclarativesystempalette/qdeclarativesystempalette.pro
index 0062688414..4d5920eed8 100644
--- a/tests/auto/declarative/qdeclarativesystempalette/qdeclarativesystempalette.pro
+++ b/tests/auto/declarative/qdeclarativesystempalette/qdeclarativesystempalette.pro
@@ -10,3 +10,4 @@ SOURCES += tst_qdeclarativesystempalette.cpp
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro b/tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro
index 290cda3035..5a043e0a05 100644
--- a/tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro
+++ b/tests/auto/declarative/qdeclarativetext/qdeclarativetext.pro
@@ -19,3 +19,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp b/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
index 0586c45ef6..118303ea56 100644
--- a/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
+++ b/tests/auto/declarative/qdeclarativetext/tst_qdeclarativetext.cpp
@@ -216,6 +216,8 @@ void tst_qdeclarativetext::text()
QVERIFY(textObject != 0);
QCOMPARE(textObject->text(), standard.at(i));
QVERIFY(textObject->width() > 0);
+
+ delete textObject;
}
for (int i = 0; i < richText.size(); i++)
@@ -229,6 +231,8 @@ void tst_qdeclarativetext::text()
QString expected = richText.at(i);
QCOMPARE(textObject->text(), expected.replace("\\\"", "\""));
QVERIFY(textObject->width() > 0);
+
+ delete textObject;
}
}
@@ -242,6 +246,8 @@ void tst_qdeclarativetext::width()
QVERIFY(textObject != 0);
QCOMPARE(textObject->width(), 0.);
+
+ delete textObject;
}
for (int i = 0; i < standard.size(); i++)
@@ -262,6 +268,8 @@ void tst_qdeclarativetext::width()
QVERIFY(textObject->boundingRect().width() > 0);
QCOMPARE(textObject->width(), qreal(metricWidth));
QVERIFY(textObject->textFormat() == QDeclarativeText::AutoText); // setting text doesn't change format
+
+ delete textObject;
}
for (int i = 0; i < richText.size(); i++)
@@ -282,6 +290,8 @@ void tst_qdeclarativetext::width()
QVERIFY(textObject != 0);
QCOMPARE(textObject->width(), qreal(documentWidth));
QVERIFY(textObject->textFormat() == QDeclarativeText::AutoText); // setting text doesn't change format
+
+ delete textObject;
}
}
@@ -298,6 +308,8 @@ void tst_qdeclarativetext::wrap()
QVERIFY(textObject != 0);
QVERIFY(textObject->wrapMode() == QDeclarativeText::WordWrap);
QCOMPARE(textObject->width(), 300.);
+
+ delete textObject;
}
for (int i = 0; i < standard.size(); i++)
@@ -314,6 +326,8 @@ void tst_qdeclarativetext::wrap()
int oldHeight = textObject->height();
textObject->setWidth(100);
QVERIFY(textObject->height() < oldHeight);
+
+ delete textObject;
}
for (int i = 0; i < richText.size(); i++)
@@ -330,6 +344,8 @@ void tst_qdeclarativetext::wrap()
qreal oldHeight = textObject->height();
textObject->setWidth(100);
QVERIFY(textObject->height() < oldHeight);
+
+ delete textObject;
}
// richtext again with a fixed height
@@ -347,6 +363,8 @@ void tst_qdeclarativetext::wrap()
qreal oldHeight = textObject->implicitHeight();
textObject->setWidth(100);
QVERIFY(textObject->implicitHeight() < oldHeight);
+
+ delete textObject;
}
}
@@ -365,6 +383,8 @@ void tst_qdeclarativetext::elide()
QCOMPARE(textObject->elideMode(), m);
QCOMPARE(textObject->width(), 100.);
+
+ delete textObject;
}
for (int i = 0; i < standard.size(); i++)
@@ -376,6 +396,8 @@ void tst_qdeclarativetext::elide()
QCOMPARE(textObject->elideMode(), m);
QCOMPARE(textObject->width(), 100.);
+
+ delete textObject;
}
// richtext - does nothing
@@ -388,6 +410,8 @@ void tst_qdeclarativetext::elide()
QCOMPARE(textObject->elideMode(), m);
QCOMPARE(textObject->width(), 100.);
+
+ delete textObject;
}
}
@@ -408,6 +432,8 @@ void tst_qdeclarativetext::textFormat()
QVERIFY(textObject != 0);
QVERIFY(textObject->textFormat() == QDeclarativeText::RichText);
+
+ delete textObject;
}
{
QDeclarativeComponent textComponent(&engine);
@@ -416,6 +442,8 @@ void tst_qdeclarativetext::textFormat()
QVERIFY(textObject != 0);
QVERIFY(textObject->textFormat() == QDeclarativeText::PlainText);
+
+ delete textObject;
}
}
@@ -497,6 +525,8 @@ void tst_qdeclarativetext::horizontalAlignment()
QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
QCOMPARE((int)textObject->hAlign(), (int)horizontalAlignmentments.at(j));
+
+ delete textObject;
}
}
@@ -510,6 +540,8 @@ void tst_qdeclarativetext::horizontalAlignment()
QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
QCOMPARE((int)textObject->hAlign(), (int)horizontalAlignmentments.at(j));
+
+ delete textObject;
}
}
@@ -648,6 +680,8 @@ void tst_qdeclarativetext::verticalAlignment()
QVERIFY(textObject != 0);
QCOMPARE((int)textObject->vAlign(), (int)verticalAlignmentments.at(j));
+
+ delete textObject;
}
}
@@ -662,6 +696,8 @@ void tst_qdeclarativetext::verticalAlignment()
QVERIFY(textObject != 0);
QCOMPARE((int)textObject->vAlign(), (int)verticalAlignmentments.at(j));
+
+ delete textObject;
}
}
@@ -697,6 +733,8 @@ void tst_qdeclarativetext::font()
QCOMPARE(textObject->font().pointSize(), 40);
QCOMPARE(textObject->font().bold(), false);
QCOMPARE(textObject->font().italic(), false);
+
+ delete textObject;
}
{
@@ -708,6 +746,8 @@ void tst_qdeclarativetext::font()
QCOMPARE(textObject->font().pixelSize(), 40);
QCOMPARE(textObject->font().bold(), false);
QCOMPARE(textObject->font().italic(), false);
+
+ delete textObject;
}
{
@@ -718,6 +758,8 @@ void tst_qdeclarativetext::font()
QCOMPARE(textObject->font().bold(), true);
QCOMPARE(textObject->font().italic(), false);
+
+ delete textObject;
}
{
@@ -728,6 +770,8 @@ void tst_qdeclarativetext::font()
QCOMPARE(textObject->font().italic(), true);
QCOMPARE(textObject->font().bold(), false);
+
+ delete textObject;
}
{
@@ -739,6 +783,8 @@ void tst_qdeclarativetext::font()
QCOMPARE(textObject->font().family(), QString("Helvetica"));
QCOMPARE(textObject->font().bold(), false);
QCOMPARE(textObject->font().italic(), false);
+
+ delete textObject;
}
{
@@ -748,6 +794,8 @@ void tst_qdeclarativetext::font()
QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
QCOMPARE(textObject->font().family(), QString(""));
+
+ delete textObject;
}
}
@@ -763,6 +811,8 @@ void tst_qdeclarativetext::style()
QCOMPARE((int)textObject->style(), (int)styles.at(i));
QCOMPARE(textObject->styleColor(), QColor("white"));
+
+ delete textObject;
}
QString componentStr = "import QtQuick 1.0\nText { text: \"Hello World\" }";
QDeclarativeComponent textComponent(&engine);
@@ -775,6 +825,8 @@ void tst_qdeclarativetext::style()
QVERIFY(brPre.width() < brPost.width());
QVERIFY(brPre.height() < brPost.height());
+
+ delete textObject;
}
void tst_qdeclarativetext::color()
@@ -789,6 +841,8 @@ void tst_qdeclarativetext::color()
QCOMPARE(textObject->color(), QColor(colorStrings.at(i)));
QCOMPARE(textObject->styleColor(), QColor());
+
+ delete textObject;
}
for (int i = 0; i < colorStrings.size(); i++)
@@ -801,6 +855,8 @@ void tst_qdeclarativetext::color()
QCOMPARE(textObject->styleColor(), QColor(colorStrings.at(i)));
// default color to black?
QCOMPARE(textObject->color(), QColor("black"));
+
+ delete textObject;
}
for (int i = 0; i < colorStrings.size(); i++)
@@ -814,6 +870,8 @@ void tst_qdeclarativetext::color()
QCOMPARE(textObject->color(), QColor(colorStrings.at(i)));
QCOMPARE(textObject->styleColor(), QColor(colorStrings.at(j)));
+
+ delete textObject;
}
}
{
@@ -827,6 +885,8 @@ void tst_qdeclarativetext::color()
QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
QCOMPARE(textObject->color(), testColor);
+
+ delete textObject;
}
}
@@ -840,6 +900,8 @@ void tst_qdeclarativetext::smooth()
textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
QCOMPARE(textObject->smooth(), true);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { text: \"" + standard.at(i) + "\" }";
@@ -847,6 +909,8 @@ void tst_qdeclarativetext::smooth()
textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
QCOMPARE(textObject->smooth(), false);
+
+ delete textObject;
}
}
for (int i = 0; i < richText.size(); i++)
@@ -857,6 +921,8 @@ void tst_qdeclarativetext::smooth()
textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
QCOMPARE(textObject->smooth(), true);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { text: \"" + richText.at(i) + "\" }";
@@ -864,6 +930,8 @@ void tst_qdeclarativetext::smooth()
textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
QDeclarativeText *textObject = qobject_cast<QDeclarativeText*>(textComponent.create());
QCOMPARE(textObject->smooth(), false);
+
+ delete textObject;
}
}
}
@@ -878,6 +946,8 @@ void tst_qdeclarativetext::weight()
QVERIFY(textObject != 0);
QCOMPARE((int)textObject->font().weight(), (int)QDeclarativeFontValueType::Normal);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { font.weight: \"Bold\"; text: \"Hello world!\" }";
@@ -887,6 +957,8 @@ void tst_qdeclarativetext::weight()
QVERIFY(textObject != 0);
QCOMPARE((int)textObject->font().weight(), (int)QDeclarativeFontValueType::Bold);
+
+ delete textObject;
}
}
@@ -900,6 +972,8 @@ void tst_qdeclarativetext::underline()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().underline(), false);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { font.underline: true; text: \"Hello world!\" }";
@@ -909,6 +983,8 @@ void tst_qdeclarativetext::underline()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().underline(), true);
+
+ delete textObject;
}
}
@@ -922,6 +998,8 @@ void tst_qdeclarativetext::overline()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().overline(), false);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { font.overline: true; text: \"Hello world!\" }";
@@ -931,6 +1009,8 @@ void tst_qdeclarativetext::overline()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().overline(), true);
+
+ delete textObject;
}
}
@@ -944,6 +1024,8 @@ void tst_qdeclarativetext::strikeout()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().strikeOut(), false);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { font.strikeout: true; text: \"Hello world!\" }";
@@ -953,6 +1035,8 @@ void tst_qdeclarativetext::strikeout()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().strikeOut(), true);
+
+ delete textObject;
}
}
@@ -966,6 +1050,8 @@ void tst_qdeclarativetext::capitalization()
QVERIFY(textObject != 0);
QCOMPARE((int)textObject->font().capitalization(), (int)QDeclarativeFontValueType::MixedCase);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { text: \"Hello world!\"; font.capitalization: \"AllUppercase\" }";
@@ -975,6 +1061,8 @@ void tst_qdeclarativetext::capitalization()
QVERIFY(textObject != 0);
QCOMPARE((int)textObject->font().capitalization(), (int)QDeclarativeFontValueType::AllUppercase);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { text: \"Hello world!\"; font.capitalization: \"AllLowercase\" }";
@@ -984,6 +1072,8 @@ void tst_qdeclarativetext::capitalization()
QVERIFY(textObject != 0);
QCOMPARE((int)textObject->font().capitalization(), (int)QDeclarativeFontValueType::AllLowercase);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { text: \"Hello world!\"; font.capitalization: \"SmallCaps\" }";
@@ -993,6 +1083,8 @@ void tst_qdeclarativetext::capitalization()
QVERIFY(textObject != 0);
QCOMPARE((int)textObject->font().capitalization(), (int)QDeclarativeFontValueType::SmallCaps);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { text: \"Hello world!\"; font.capitalization: \"Capitalize\" }";
@@ -1002,6 +1094,8 @@ void tst_qdeclarativetext::capitalization()
QVERIFY(textObject != 0);
QCOMPARE((int)textObject->font().capitalization(), (int)QDeclarativeFontValueType::Capitalize);
+
+ delete textObject;
}
}
@@ -1015,6 +1109,8 @@ void tst_qdeclarativetext::letterSpacing()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().letterSpacing(), 0.0);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { text: \"Hello world!\"; font.letterSpacing: -2 }";
@@ -1024,6 +1120,8 @@ void tst_qdeclarativetext::letterSpacing()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().letterSpacing(), -2.);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { text: \"Hello world!\"; font.letterSpacing: 3 }";
@@ -1033,6 +1131,8 @@ void tst_qdeclarativetext::letterSpacing()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().letterSpacing(), 3.);
+
+ delete textObject;
}
}
@@ -1046,6 +1146,8 @@ void tst_qdeclarativetext::wordSpacing()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().wordSpacing(), 0.0);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { text: \"Hello world!\"; font.wordSpacing: -50 }";
@@ -1055,6 +1157,8 @@ void tst_qdeclarativetext::wordSpacing()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().wordSpacing(), -50.);
+
+ delete textObject;
}
{
QString componentStr = "import QtQuick 1.0\nText { text: \"Hello world!\"; font.wordSpacing: 200 }";
@@ -1064,6 +1168,8 @@ void tst_qdeclarativetext::wordSpacing()
QVERIFY(textObject != 0);
QCOMPARE(textObject->font().wordSpacing(), 200.);
+
+ delete textObject;
}
}
@@ -1132,6 +1238,8 @@ void tst_qdeclarativetext::clickLink()
}
QCOMPARE(test.link, QLatin1String("http://qt.nokia.com"));
+
+ delete textObject;
}
}
@@ -1269,6 +1377,8 @@ void tst_qdeclarativetext::implicitSize()
textObject->resetWidth();
QVERIFY(textObject->width() == textObject->implicitWidth());
QVERIFY(textObject->height() == textObject->implicitHeight());
+
+ delete textObject;
}
void tst_qdeclarativetext::testQtQuick11Attributes()
diff --git a/tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro b/tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro
index aaf753e640..2cc9a8c05b 100644
--- a/tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro
+++ b/tests/auto/declarative/qdeclarativetextedit/qdeclarativetextedit.pro
@@ -12,3 +12,4 @@ symbian: {
} else {
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro b/tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro
index 0fee1c9391..df765db9ec 100644
--- a/tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro
+++ b/tests/auto/declarative/qdeclarativetextinput/qdeclarativetextinput.pro
@@ -12,3 +12,4 @@ symbian: {
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
index 1720c330b3..f1f23af423 100644
--- a/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
+++ b/tests/auto/declarative/qdeclarativetextinput/tst_qdeclarativetextinput.cpp
@@ -713,6 +713,8 @@ void tst_qdeclarativetextinput::moveCursorSelection()
QCOMPARE(textinputObject->selectionStart(), selectionStart);
QCOMPARE(textinputObject->selectionEnd(), selectionEnd);
}
+
+ delete textinputObject;
}
void tst_qdeclarativetextinput::moveCursorSelectionSequence_data()
@@ -915,6 +917,8 @@ void tst_qdeclarativetextinput::moveCursorSelectionSequence()
QCOMPARE(textinputObject->selectedText(), testStr.mid(selection2Start, selection2End - selection2Start));
QCOMPARE(textinputObject->selectionStart(), selection2Start);
QCOMPARE(textinputObject->selectionEnd(), selection2End);
+
+ delete textinputObject;
}
void tst_qdeclarativetextinput::mouseSelection_data()
@@ -1712,6 +1716,8 @@ void tst_qdeclarativetextinput::copyAndPaste() {
}
index++;
}
+
+ delete textInput;
#endif
}
@@ -1764,6 +1770,8 @@ void tst_qdeclarativetextinput::passwordCharacter()
textInput->setPasswordCharacter(".");
// QTBUG-12383 content is updated and redrawn
QVERIFY(contentsSize != textInput->contentsSize());
+
+ delete textInput;
}
void tst_qdeclarativetextinput::cursorDelegate()
diff --git a/tests/auto/declarative/qdeclarativetimer/qdeclarativetimer.pro b/tests/auto/declarative/qdeclarativetimer/qdeclarativetimer.pro
index 398139a86a..3e0b355f1d 100644
--- a/tests/auto/declarative/qdeclarativetimer/qdeclarativetimer.pro
+++ b/tests/auto/declarative/qdeclarativetimer/qdeclarativetimer.pro
@@ -9,3 +9,4 @@ SOURCES += tst_qdeclarativetimer.cpp
}
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativev4/data/conditionalExpr.qml b/tests/auto/declarative/qdeclarativev4/data/conditionalExpr.qml
new file mode 100644
index 0000000000..b74a95a94b
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/conditionalExpr.qml
@@ -0,0 +1,6 @@
+import Qt.v4 1.0
+
+Result {
+ property int n: 2
+ result: !n ? 100 : 0
+}
diff --git a/tests/auto/declarative/qdeclarativev4/data/doubleBoolJump.qml b/tests/auto/declarative/qdeclarativev4/data/doubleBoolJump.qml
new file mode 100644
index 0000000000..e7fb82ca36
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/doubleBoolJump.qml
@@ -0,0 +1,18 @@
+import QtQuick 1.0
+
+Rectangle {
+ QtObject {
+ property real output: i1.p1 || i2.p2 == "text" ? 0.7 : 0
+ }
+
+ QtObject {
+ id: i2
+ property string p2
+ }
+
+ QtObject {
+ id: i1
+ property bool p1: false
+ }
+}
+
diff --git a/tests/auto/declarative/qdeclarativev4/data/fetchException.qml b/tests/auto/declarative/qdeclarativev4/data/fetchException.qml
new file mode 100644
index 0000000000..ece8e73199
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/fetchException.qml
@@ -0,0 +1,6 @@
+import QtQuick 1.0
+
+Item {
+ property Item data
+ property int a: data.x, 1
+}
diff --git a/tests/auto/declarative/qdeclarativev4/data/logicalOr.2.qml b/tests/auto/declarative/qdeclarativev4/data/logicalOr.2.qml
new file mode 100644
index 0000000000..54fb78b127
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/logicalOr.2.qml
@@ -0,0 +1,6 @@
+import Qt.v4 1.0
+
+Result {
+ property string s: "foo" || "bar"
+ result: s == "foo"
+}
diff --git a/tests/auto/declarative/qdeclarativev4/data/logicalOr.qml b/tests/auto/declarative/qdeclarativev4/data/logicalOr.qml
new file mode 100644
index 0000000000..406a7d83eb
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/logicalOr.qml
@@ -0,0 +1,6 @@
+import Qt.v4 1.0
+
+Result {
+ property int a: 10
+ result: a == 1 || a == 2
+}
diff --git a/tests/auto/declarative/qdeclarativev4/data/nestedObjectAccess.qml b/tests/auto/declarative/qdeclarativev4/data/nestedObjectAccess.qml
new file mode 100644
index 0000000000..56cd17e41e
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/nestedObjectAccess.qml
@@ -0,0 +1,5 @@
+import Qt.v4 1.0
+
+Result {
+ result: nested.result
+}
diff --git a/tests/auto/declarative/qdeclarativev4/data/nullQObject.qml b/tests/auto/declarative/qdeclarativev4/data/nullQObject.qml
new file mode 100644
index 0000000000..283c1a199b
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/nullQObject.qml
@@ -0,0 +1,7 @@
+import QtQuick 1.0
+
+Item {
+ property QtObject obj
+ property QtObject test
+ test: obj
+}
diff --git a/tests/auto/declarative/qdeclarativev4/data/qrealToIntRounding.qml b/tests/auto/declarative/qdeclarativev4/data/qrealToIntRounding.qml
new file mode 100644
index 0000000000..f961910f15
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/qrealToIntRounding.qml
@@ -0,0 +1,10 @@
+import QtQuick 1.0
+
+QtObject {
+ property int data: 1
+
+ property int test1: 6.6 + data
+ property int test2: 6.2 + data
+ property int test3: 6 + data
+}
+
diff --git a/tests/auto/declarative/qdeclarativev4/data/subscriptionsInConditionalExpressions.qml b/tests/auto/declarative/qdeclarativev4/data/subscriptionsInConditionalExpressions.qml
new file mode 100644
index 0000000000..25483b207d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/subscriptionsInConditionalExpressions.qml
@@ -0,0 +1,11 @@
+import QtQuick 1.0
+
+Item {
+ id: thisTest
+
+ property bool cond: true
+ property real a: 1
+ property real result: cond ? a : a
+
+ PropertyAction { running: true; target: thisTest; property: "a"; value: 2; }
+}
diff --git a/tests/auto/declarative/qdeclarativev4/data/unaryMinus.qml b/tests/auto/declarative/qdeclarativev4/data/unaryMinus.qml
new file mode 100644
index 0000000000..3cfa0492c0
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/unaryMinus.qml
@@ -0,0 +1,18 @@
+import QtQuick 1.0
+
+Item {
+ property real test1: -i1.p2
+ property int test2: -i1.p2
+ property real test3: -i1.p1
+ property int test4: -i1.p1
+ property real test5: -i1.p3
+ property int test6: -i1.p3
+
+ QtObject {
+ id: i1
+ property real p1: -3.7
+ property int p2: 18
+ property real p3: -3.3
+ }
+ }
+
diff --git a/tests/auto/declarative/qdeclarativev4/data/unnecessaryReeval.qml b/tests/auto/declarative/qdeclarativev4/data/unnecessaryReeval.qml
new file mode 100644
index 0000000000..48662d7a2d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/data/unnecessaryReeval.qml
@@ -0,0 +1,7 @@
+import Qt.v4 1.0
+
+Result {
+ property int a: 8
+ property int b: 19
+ result: (a == 8)?b:7
+}
diff --git a/tests/auto/declarative/qdeclarativev4/qdeclarativev4.pro b/tests/auto/declarative/qdeclarativev4/qdeclarativev4.pro
new file mode 100644
index 0000000000..0a2005d15d
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/qdeclarativev4.pro
@@ -0,0 +1,19 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative script network
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qdeclarativev4.cpp \
+ testtypes.cpp
+HEADERS += testtypes.h
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativev4/testtypes.cpp b/tests/auto/declarative/qdeclarativev4/testtypes.cpp
new file mode 100644
index 0000000000..f4544b6e21
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/testtypes.cpp
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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 "testtypes.h"
+
+#include <QtDeclarative/qdeclarative.h>
+
+void registerTypes()
+{
+ qmlRegisterType<ResultObject>("Qt.v4", 1,0, "Result");
+ qmlRegisterType<NestedObject>();
+}
diff --git a/tests/auto/declarative/qdeclarativev4/testtypes.h b/tests/auto/declarative/qdeclarativev4/testtypes.h
new file mode 100644
index 0000000000..0933eff8b7
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/testtypes.h
@@ -0,0 +1,83 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+#ifndef TESTTYPES_H
+#define TESTTYPES_H
+
+#include <QtCore/qobject.h>
+
+class NestedObject : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int dummy READ dummy);
+ Q_PROPERTY(int result READ result FINAL CONSTANT);
+
+public:
+ int dummy() const { return 7; }
+ int result() const { return 37; }
+};
+
+class ResultObject : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int result READ result WRITE setResult FINAL)
+ Q_PROPERTY(NestedObject *nested READ nested CONSTANT)
+public:
+ ResultObject() : m_result(0), m_resultCounter(0) {}
+
+ int resultCounter() const { return m_resultCounter; }
+ void resetResultCounter() { m_resultCounter = 0; }
+
+ int result() const { return m_result; }
+ void setResult(int result) { m_result = result; m_resultCounter++; }
+
+ NestedObject *nested() { return &m_nested; }
+
+private:
+ int m_result;
+ int m_resultCounter;
+
+ NestedObject m_nested;
+};
+
+void registerTypes();
+
+#endif // TESTTYPES_H
+
diff --git a/tests/auto/declarative/qdeclarativev4/tst_qdeclarativev4.cpp b/tests/auto/declarative/qdeclarativev4/tst_qdeclarativev4.cpp
new file mode 100644
index 0000000000..fb34696ef5
--- /dev/null
+++ b/tests/auto/declarative/qdeclarativev4/tst_qdeclarativev4.cpp
@@ -0,0 +1,244 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QtCore/qobject.h>
+#include <QtCore/qfileinfo.h>
+#include <QtCore/qdir.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtCore/qdebug.h>
+
+#include <private/qdeclarativev4compiler_p.h>
+
+#include "testtypes.h"
+
+inline QUrl TEST_FILE(const QString &filename)
+{
+ QFileInfo fileInfo(__FILE__);
+ return QUrl::fromLocalFile(fileInfo.absoluteDir().filePath("data/" + filename));
+}
+
+inline QUrl TEST_FILE(const char *filename)
+{
+ return TEST_FILE(QLatin1String(filename));
+}
+
+class tst_qdeclarativev4 : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qdeclarativev4() {}
+
+private slots:
+ void initTestCase();
+
+ void unnecessaryReeval();
+ void logicalOr();
+ void conditionalExpr();
+ void qtscript();
+ void qtscript_data();
+ void nestedObjectAccess();
+ void subscriptionsInConditionalExpressions();
+
+private:
+ QDeclarativeEngine engine;
+};
+
+void tst_qdeclarativev4::initTestCase()
+{
+ registerTypes();
+}
+
+static int v4ErrorsMsgCount = 0;
+static void v4ErrorsMsgHandler(QtMsgType, const char *message)
+{
+ QByteArray m(message);
+ if (m.contains("QDeclarativeV4"))
+ v4ErrorsMsgCount++;
+}
+
+void tst_qdeclarativev4::qtscript()
+{
+ QFETCH(QString, file);
+ QDeclarativeV4Compiler::enableBindingsTest(true);
+
+ QDeclarativeComponent component(&engine, TEST_FILE(file));
+
+ v4ErrorsMsgCount = 0;
+ QtMsgHandler old = qInstallMsgHandler(v4ErrorsMsgHandler);
+
+ QObject *o = component.create();
+ delete o;
+
+ qInstallMsgHandler(old);
+
+ QCOMPARE(v4ErrorsMsgCount, 0);
+
+ QDeclarativeV4Compiler::enableBindingsTest(false);
+}
+
+void tst_qdeclarativev4::qtscript_data()
+{
+ QTest::addColumn<QString>("file");
+
+ QTest::newRow("qreal -> int rounding") << "qrealToIntRounding.qml";
+ QTest::newRow("exception on fetch") << "fetchException.qml";
+ QTest::newRow("logical or") << "logicalOr.qml";
+ QTest::newRow("conditional expressions") << "conditionalExpr.qml";
+ QTest::newRow("double bool jump") << "doubleBoolJump.qml";
+ QTest::newRow("unary minus") << "unaryMinus.qml";
+ QTest::newRow("null qobject") << "nullQObject.qml";
+}
+
+void tst_qdeclarativev4::unnecessaryReeval()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("unnecessaryReeval.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ ResultObject *ro = qobject_cast<ResultObject *>(o);
+ QVERIFY(ro != 0);
+
+ QCOMPARE(ro->resultCounter(), 1);
+ QCOMPARE(ro->result(), 19);
+ ro->resetResultCounter();
+
+ ro->setProperty("b", 6);
+
+ QCOMPARE(ro->resultCounter(), 1);
+ QCOMPARE(ro->result(), 6);
+ ro->resetResultCounter();
+
+ ro->setProperty("a", 14);
+
+ QCOMPARE(ro->resultCounter(), 1);
+ QCOMPARE(ro->result(), 7);
+ ro->resetResultCounter();
+
+ ro->setProperty("b", 14);
+ QCOMPARE(ro->resultCounter(), 0);
+ QCOMPARE(ro->result(), 7);
+
+ delete o;
+}
+
+void tst_qdeclarativev4::logicalOr()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("logicalOr.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ ResultObject *ro = qobject_cast<ResultObject *>(o);
+ QVERIFY(ro != 0);
+
+ QCOMPARE(ro->result(), 0);
+ delete o;
+ }
+
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("logicalOr.2.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ ResultObject *ro = qobject_cast<ResultObject *>(o);
+ QVERIFY(ro != 0);
+
+ QCOMPARE(ro->result(), 1);
+ delete o;
+ }
+}
+
+void tst_qdeclarativev4::conditionalExpr()
+{
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("conditionalExpr.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ ResultObject *ro = qobject_cast<ResultObject *>(o);
+ QVERIFY(ro != 0);
+
+ QCOMPARE(ro->result(), 0);
+ delete o;
+ }
+}
+
+// This would previously use the metaObject of the root element to result the nested access.
+// That is, the index for accessing "result" would have been RootObject::result, instead of
+// NestedObject::result.
+void tst_qdeclarativev4::nestedObjectAccess()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("nestedObjectAccess.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ ResultObject *ro = qobject_cast<ResultObject *>(o);
+ QVERIFY(ro != 0);
+
+ QCOMPARE(ro->result(), 37);
+
+ delete o;
+}
+
+void tst_qdeclarativev4::subscriptionsInConditionalExpressions()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("subscriptionsInConditionalExpressions.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QObject *ro = qobject_cast<QObject *>(o);
+ QVERIFY(ro != 0);
+
+ QCOMPARE(ro->property("result").toReal(), qreal(2));
+
+ delete o;
+}
+
+QTEST_MAIN(tst_qdeclarativev4)
+
+#include "tst_qdeclarativev4.moc"
diff --git a/tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro b/tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro
index 59b3526838..f5567e96ed 100644
--- a/tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro
+++ b/tests/auto/declarative/qdeclarativevaluetypes/qdeclarativevaluetypes.pro
@@ -17,3 +17,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro b/tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro
index fc4790d21f..5b401973f9 100644
--- a/tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro
+++ b/tests/auto/declarative/qdeclarativeview/qdeclarativeview.pro
@@ -11,3 +11,4 @@ symbian: {
} else {
DEFINES += SRCDIR=\\\"$$PWD\\\"
}
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativeview/tst_qdeclarativeview.cpp b/tests/auto/declarative/qdeclarativeview/tst_qdeclarativeview.cpp
index 2b0e70475e..0483e0a0e8 100644
--- a/tests/auto/declarative/qdeclarativeview/tst_qdeclarativeview.cpp
+++ b/tests/auto/declarative/qdeclarativeview/tst_qdeclarativeview.cpp
@@ -93,6 +93,8 @@ void tst_QDeclarativeView::scene()
QVERIFY(declarativeItem);
QVERIFY(scene.items().count() > 0);
QCOMPARE(scene.items().at(0), declarativeItem);
+
+ delete view;
}
void tst_QDeclarativeView::resizemodedeclarativeitem()
diff --git a/tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro b/tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro
index 46a3daec42..c24467575f 100644
--- a/tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro
+++ b/tests/auto/declarative/qdeclarativeviewer/qdeclarativeviewer.pro
@@ -17,3 +17,4 @@ symbian: {
}
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro b/tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro
index fe3d79461b..e15a7b0577 100644
--- a/tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro
+++ b/tests/auto/declarative/qdeclarativevisualdatamodel/qdeclarativevisualdatamodel.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro b/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro
index e20c3e6a53..08ae7c164c 100644
--- a/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro
+++ b/tests/auto/declarative/qdeclarativeworkerscript/qdeclarativeworkerscript.pro
@@ -14,3 +14,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro b/tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro
index 8aefb8e685..441a9cfc64 100644
--- a/tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro
+++ b/tests/auto/declarative/qdeclarativexmlhttprequest/qdeclarativexmlhttprequest.pro
@@ -18,3 +18,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp b/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
index 194ecf97fa..de16cf41f5 100644
--- a/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
+++ b/tests/auto/declarative/qdeclarativexmlhttprequest/tst_qdeclarativexmlhttprequest.cpp
@@ -524,7 +524,7 @@ void tst_qdeclarativexmlhttprequest::send_ignoreData()
QVERIFY(server.isValid());
QVERIFY(server.wait(TEST_FILE("send_ignoreData_PUT.expect"),
TEST_FILE("send_ignoreData.reply"),
- TEST_FILE("testdocument.html")));
+ QUrl()));
QDeclarativeComponent component(&engine, TEST_FILE("send_ignoreData.qml"));
QObject *object = component.beginCreate(engine.rootContext());
diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro b/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro
index 64b8267707..bedd0a4602 100644
--- a/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro
+++ b/tests/auto/declarative/qdeclarativexmllistmodel/qdeclarativexmllistmodel.pro
@@ -18,3 +18,4 @@ symbian: {
CONFIG += parallel_test
+QT += core-private gui-private declarative-private script-private
diff --git a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp
index 20744688e8..7df2dc340d 100644
--- a/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp
+++ b/tests/auto/declarative/qdeclarativexmllistmodel/tst_qdeclarativexmllistmodel.cpp
@@ -126,7 +126,10 @@ private:
QStringList fields = item.split(",");
foreach(const QString &field, fields) {
QStringList values = field.split("=");
- Q_ASSERT(values.count() == 2);
+ if (values.count() != 2) {
+ qWarning() << "makeItemXmlAndData: invalid field:" << field;
+ continue;
+ }
xml += QString("<%1>%2</%1>").arg(values[0], values[1]);
if (!modelData)
continue;
diff --git a/tests/auto/declarative/qmetaobjectbuilder/qmetaobjectbuilder.pro b/tests/auto/declarative/qmetaobjectbuilder/qmetaobjectbuilder.pro
index 988177e5b2..15a4e76aa6 100644
--- a/tests/auto/declarative/qmetaobjectbuilder/qmetaobjectbuilder.pro
+++ b/tests/auto/declarative/qmetaobjectbuilder/qmetaobjectbuilder.pro
@@ -6,3 +6,4 @@ SOURCES += \
tst_qmetaobjectbuilder.cpp
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp b/tests/auto/declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp
index 81c11c4227..d7ca8e6f1e 100644
--- a/tests/auto/declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp
+++ b/tests/auto/declarative/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp
@@ -546,6 +546,8 @@ void tst_QMetaObjectBuilder::property()
QVERIFY(!nullProp.isUser());
QVERIFY(!nullProp.hasStdCppSet());
QVERIFY(!nullProp.isEnumOrFlag());
+ QVERIFY(!nullProp.isConstant());
+ QVERIFY(!nullProp.isFinal());
QCOMPARE(nullProp.index(), 0);
// Add a property and check its attributes.
@@ -563,6 +565,8 @@ void tst_QMetaObjectBuilder::property()
QVERIFY(!prop1.isUser());
QVERIFY(!prop1.hasStdCppSet());
QVERIFY(!prop1.isEnumOrFlag());
+ QVERIFY(!prop1.isConstant());
+ QVERIFY(!prop1.isFinal());
QCOMPARE(prop1.index(), 0);
QCOMPARE(builder.propertyCount(), 1);
@@ -581,6 +585,8 @@ void tst_QMetaObjectBuilder::property()
QVERIFY(!prop2.isUser());
QVERIFY(!prop2.hasStdCppSet());
QVERIFY(!prop2.isEnumOrFlag());
+ QVERIFY(!prop2.isConstant());
+ QVERIFY(!prop2.isFinal());
QCOMPARE(prop2.index(), 1);
QCOMPARE(builder.propertyCount(), 2);
@@ -602,6 +608,8 @@ void tst_QMetaObjectBuilder::property()
prop1.setUser(true);
prop1.setStdCppSet(true);
prop1.setEnumOrFlag(true);
+ prop1.setConstant(true);
+ prop1.setFinal(true);
// Check that prop1 is changed, but prop2 is not.
QCOMPARE(prop1.name(), QByteArray("foo"));
@@ -616,6 +624,8 @@ void tst_QMetaObjectBuilder::property()
QVERIFY(prop1.isUser());
QVERIFY(prop1.hasStdCppSet());
QVERIFY(prop1.isEnumOrFlag());
+ QVERIFY(prop1.isConstant());
+ QVERIFY(prop1.isFinal());
QVERIFY(prop2.isReadable());
QVERIFY(prop2.isWritable());
QCOMPARE(prop2.name(), QByteArray("bar"));
@@ -628,6 +638,8 @@ void tst_QMetaObjectBuilder::property()
QVERIFY(!prop2.isUser());
QVERIFY(!prop2.hasStdCppSet());
QVERIFY(!prop2.isEnumOrFlag());
+ QVERIFY(!prop2.isConstant());
+ QVERIFY(!prop2.isFinal());
// Remove prop1 and check that prop2 becomes index 0.
builder.removeProperty(0);
@@ -643,6 +655,8 @@ void tst_QMetaObjectBuilder::property()
QVERIFY(!prop2.isUser());
QVERIFY(!prop2.hasStdCppSet());
QVERIFY(!prop2.isEnumOrFlag());
+ QVERIFY(!prop2.isConstant());
+ QVERIFY(!prop2.isFinal());
QCOMPARE(prop2.index(), 0);
// Perform index-based lookup again.
@@ -666,6 +680,8 @@ void tst_QMetaObjectBuilder::property()
prop2.setUser(false); \
prop2.setStdCppSet(false); \
prop2.setEnumOrFlag(false); \
+ prop2.setConstant(false); \
+ prop2.setFinal(false); \
} while (0)
#define COUNT_FLAGS() \
((prop2.isReadable() ? 1 : 0) + \
@@ -677,7 +693,9 @@ void tst_QMetaObjectBuilder::property()
(prop2.isEditable() ? 1 : 0) + \
(prop2.isUser() ? 1 : 0) + \
(prop2.hasStdCppSet() ? 1 : 0) + \
- (prop2.isEnumOrFlag() ? 1 : 0))
+ (prop2.isEnumOrFlag() ? 1 : 0) + \
+ (prop2.isConstant() ? 1 : 0) + \
+ (prop2.isFinal() ? 1 : 0))
#define CHECK_FLAG(setFunc,isFunc) \
do { \
CLEAR_FLAGS(); \
@@ -696,6 +714,8 @@ void tst_QMetaObjectBuilder::property()
CHECK_FLAG(setUser, isUser);
CHECK_FLAG(setStdCppSet, hasStdCppSet);
CHECK_FLAG(setEnumOrFlag, isEnumOrFlag);
+ CHECK_FLAG(setConstant, isConstant);
+ CHECK_FLAG(setFinal, isFinal);
// Check that nothing else changed.
QVERIFY(checkForSideEffects(builder, QMetaObjectBuilder::Properties));
diff --git a/tests/auto/declarative/qmlvisual/ListView/basic1.qml b/tests/auto/declarative/qmlvisual/ListView/basic1.qml
deleted file mode 100644
index 8c1b56e5dd..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/basic1.qml
+++ /dev/null
@@ -1,30 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "blue"
- width: 200
- height: 300
- id: page
- ListView {
- anchors.fill: parent
- delegate: Rectangle {
- color: "red"
- width: 100
- height: 100
- Rectangle {
- anchors.centerIn: parent
- width: 60
- height: 60
- color: name
- }
- }
- model: ListModel {
- ListElement {
- name: "palegoldenrod"
- }
- ListElement {
- name: "lightsteelblue"
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/basic2.qml b/tests/auto/declarative/qmlvisual/ListView/basic2.qml
deleted file mode 100644
index 9d26c737eb..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/basic2.qml
+++ /dev/null
@@ -1,34 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "blue"
- width: 200
- height: 300
- id: page
- Component {
- id: delegate
- Rectangle {
- color: "red"
- width: 100
- height: 100
- Rectangle {
- anchors.centerIn: parent
- width: 60
- height: 60
- color: name
- }
- }
- }
- ListView {
- anchors.fill: parent
- delegate: delegate
- model: ListModel {
- ListElement {
- name: "palegoldenrod"
- }
- ListElement {
- name: "lightsteelblue"
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/basic3.qml b/tests/auto/declarative/qmlvisual/ListView/basic3.qml
deleted file mode 100644
index 982df9a68a..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/basic3.qml
+++ /dev/null
@@ -1,32 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "blue"
- width: 200
- height: 300
- id: page
- ListModel {
- id: model
- ListElement {
- name: "palegoldenrod"
- }
- ListElement {
- name: "lightsteelblue"
- }
- }
- ListView {
- anchors.fill: parent
- model: model
- delegate: Rectangle {
- color: "red"
- width: 100
- height: 100
- Rectangle {
- anchors.centerIn: parent
- width: 60
- height: 60
- color: name
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/basic4.qml b/tests/auto/declarative/qmlvisual/ListView/basic4.qml
deleted file mode 100644
index 2c5d1e3eae..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/basic4.qml
+++ /dev/null
@@ -1,36 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "blue"
- width: 200
- height: 300
- id: page
- ListModel {
- id: model
- ListElement {
- name: "palegoldenrod"
- }
- ListElement {
- name: "lightsteelblue"
- }
- }
- Component {
- id: delegate
- Rectangle {
- color: "red"
- width: 100
- height: 100
- Rectangle {
- anchors.centerIn: parent
- width: 60
- height: 60
- color: name
- }
- }
- }
- ListView {
- anchors.fill: parent
- model: model
- delegate: delegate
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic1.0.png b/tests/auto/declarative/qmlvisual/ListView/data/basic1.0.png
deleted file mode 100644
index 049d9c8d6f..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/basic1.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic1.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic1.qml
deleted file mode 100644
index aad4858ca4..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/basic1.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "basic1.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic2.0.png b/tests/auto/declarative/qmlvisual/ListView/data/basic2.0.png
deleted file mode 100644
index 049d9c8d6f..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/basic2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic2.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic2.qml
deleted file mode 100644
index 373ad27cb3..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/basic2.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "basic2.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic3.0.png b/tests/auto/declarative/qmlvisual/ListView/data/basic3.0.png
deleted file mode 100644
index 049d9c8d6f..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/basic3.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic3.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic3.qml
deleted file mode 100644
index f5dbf65a43..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/basic3.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "basic3.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic4.0.png b/tests/auto/declarative/qmlvisual/ListView/data/basic4.0.png
deleted file mode 100644
index 049d9c8d6f..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/basic4.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/basic4.qml b/tests/auto/declarative/qmlvisual/ListView/data/basic4.qml
deleted file mode 100644
index 5e494d13a7..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/basic4.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "basic4.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.0.png b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.0.png
deleted file mode 100644
index 5c0b6a6a72..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.1.png b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.1.png
deleted file mode 100644
index 5c0b6a6a72..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.2.png b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.2.png
deleted file mode 100644
index 304aed8b34..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.3.png b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.3.png
deleted file mode 100644
index 4abc58e03a..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.4.png b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.4.png
deleted file mode 100644
index 5c0b6a6a72..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.5.png b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.5.png
deleted file mode 100644
index 8d421afa38..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.6.png b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.6.png
deleted file mode 100644
index 81ea1ff41a..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.qml b/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.qml
deleted file mode 100644
index de3f49c813..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/enforcerange.qml
+++ /dev/null
@@ -1,2119 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "enforcerange.0.png"
- }
- Frame {
- msec: 32
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 48
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 64
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 80
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 96
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 112
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 128
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 144
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 160
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 176
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 192
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 208
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 224
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 240
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 256
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 272
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 288
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 304
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 320
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 336
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 352
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 368
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 384
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 400
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 416
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 432
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 448
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 464
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 480
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 496
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 512
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 528
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 544
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 560
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 576
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 592
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 608
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 624
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 640
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 656
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 672
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 688
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 704
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 720
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 736
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 752
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 768
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 784
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 800
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 816
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 832
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 848
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 864
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 880
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 896
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 912
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 928
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 944
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 960
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 976
- image: "enforcerange.1.png"
- }
- Frame {
- msec: 992
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1008
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1024
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1040
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1056
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1072
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1088
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1104
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1120
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1136
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1152
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1168
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1184
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1200
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 77; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1216
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1232
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 1248
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 77; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1264
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 77; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 76; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1280
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 75; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 74; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1296
- hash: "c7667b5af9f2ee912abe5879266cb1e0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 73; y: 131
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 72; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1312
- hash: "1e762d6ffe1ceb53046d7953645d02d5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 118
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1328
- hash: "0d2b7130a84a8efac1cf4fe8a1768231"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1344
- hash: "6ef2715c3fd26d50d26fb740afa6dece"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 98
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 71; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1360
- hash: "f489b6f951281ff9a981ec046ca5b17d"
- }
- Frame {
- msec: 1376
- hash: "fd6e7d7db7c4571ee606269fb9680ed9"
- }
- Frame {
- msec: 1392
- hash: "398a238f59a2edf07870b624b914c81d"
- }
- Frame {
- msec: 1408
- hash: "fdce64faab7e7e31a229adda47924cd1"
- }
- Frame {
- msec: 1424
- hash: "8d474956331fdd0c35beb13a06b7c557"
- }
- Frame {
- msec: 1440
- hash: "f89fed6f7fa07a8320f07a1e68240a7e"
- }
- Frame {
- msec: 1456
- hash: "940b70f15082ff138579892bb6f20ce9"
- }
- Frame {
- msec: 1472
- hash: "35ab744ce2a91567dbbd769f9486f870"
- }
- Frame {
- msec: 1488
- hash: "6b2d32b8f1df871c2c014af8b5d87329"
- }
- Frame {
- msec: 1504
- hash: "edf3b33b80cca53999779555f9cd6162"
- }
- Frame {
- msec: 1520
- hash: "180f3cc4ea5ff5b6f9e8be0294732d4e"
- }
- Frame {
- msec: 1536
- hash: "28e9ca60a873910380b2d22d6b3df565"
- }
- Frame {
- msec: 1552
- hash: "3bb1e8d69f171f09eb4c6f9914fc9576"
- }
- Frame {
- msec: 1568
- hash: "0501da09be444df6cee4b19617290317"
- }
- Frame {
- msec: 1584
- hash: "8ce1ac0163b0353167488aff2879e841"
- }
- Frame {
- msec: 1600
- hash: "18e53bf6337cf6590fc3c73c00469d8e"
- }
- Frame {
- msec: 1616
- hash: "0c31ede980d07069f4977d5753d00ddf"
- }
- Frame {
- msec: 1632
- hash: "0a854a54176c24f0ebbb6cb747dc0ab7"
- }
- Frame {
- msec: 1648
- hash: "8dba1ebca6f00b7a64a6982fb8c28c50"
- }
- Frame {
- msec: 1664
- hash: "8d273efc36ba722af4d044e6552c9dcb"
- }
- Frame {
- msec: 1680
- hash: "674b07dc5b99bf2da93c40d42dc9023d"
- }
- Frame {
- msec: 1696
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 1712
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 1728
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 1744
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 1760
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 1776
- hash: "81110f17d191f9795a2c57d136e86550"
- }
- Frame {
- msec: 1792
- hash: "090a76cf068a5041ff993f21e6ebd087"
- }
- Frame {
- msec: 1808
- hash: "30eb157c89ad0aeb17fd0012afb9246b"
- }
- Frame {
- msec: 1824
- hash: "6b317b59e1b0f5b17a6d7d96e745f576"
- }
- Frame {
- msec: 1840
- hash: "f9fc8467c6dbcb00d1f41a57b550193c"
- }
- Frame {
- msec: 1856
- hash: "744227adbdd31be2920a232ea0dbc85d"
- }
- Frame {
- msec: 1872
- hash: "d4b370ff8c3b66fc8a616dd9b944abd1"
- }
- Frame {
- msec: 1888
- hash: "674b07dc5b99bf2da93c40d42dc9023d"
- }
- Frame {
- msec: 1904
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 1920
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 1936
- image: "enforcerange.2.png"
- }
- Frame {
- msec: 1952
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 1968
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 1984
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 2000
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2016
- hash: "81110f17d191f9795a2c57d136e86550"
- }
- Frame {
- msec: 2032
- hash: "090a76cf068a5041ff993f21e6ebd087"
- }
- Frame {
- msec: 2048
- hash: "090a76cf068a5041ff993f21e6ebd087"
- }
- Frame {
- msec: 2064
- hash: "30eb157c89ad0aeb17fd0012afb9246b"
- }
- Frame {
- msec: 2080
- hash: "6b317b59e1b0f5b17a6d7d96e745f576"
- }
- Frame {
- msec: 2096
- hash: "f9fc8467c6dbcb00d1f41a57b550193c"
- }
- Frame {
- msec: 2112
- hash: "f9fc8467c6dbcb00d1f41a57b550193c"
- }
- Frame {
- msec: 2128
- hash: "711274e9b6811b4662ac29d813574fb6"
- }
- Frame {
- msec: 2144
- hash: "744227adbdd31be2920a232ea0dbc85d"
- }
- Frame {
- msec: 2160
- hash: "744227adbdd31be2920a232ea0dbc85d"
- }
- Frame {
- msec: 2176
- hash: "d4b370ff8c3b66fc8a616dd9b944abd1"
- }
- Frame {
- msec: 2192
- hash: "d4b370ff8c3b66fc8a616dd9b944abd1"
- }
- Frame {
- msec: 2208
- hash: "674b07dc5b99bf2da93c40d42dc9023d"
- }
- Frame {
- msec: 2224
- hash: "674b07dc5b99bf2da93c40d42dc9023d"
- }
- Frame {
- msec: 2240
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2256
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2272
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 2288
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 2304
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 2320
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 2336
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 2352
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 2368
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 2384
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 2400
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 2416
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 2432
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 2448
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 2464
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 2480
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2496
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2512
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2528
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2544
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2560
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2576
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2592
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2608
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2624
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2640
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 2656
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 2672
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 2688
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 2704
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 2720
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 2736
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 2752
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 2768
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 2784
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 2800
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 2816
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2832
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2848
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2864
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2880
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2896
- image: "enforcerange.3.png"
- }
- Frame {
- msec: 2912
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2928
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2944
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2960
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2976
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 2992
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 3008
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 3024
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 82; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3040
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 3056
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 82; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3072
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 82; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3088
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3104
- hash: "89016574205e00cf42723446d6a3437e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 69
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3120
- hash: "e2db9b1ae5c4be51a548834a7776da1f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 80; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 80; y: 87
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3136
- hash: "fcfad57224192065782a77ad3398d0d1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 80; y: 93
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 80; y: 107
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3152
- hash: "bae4fc0fc2d33008ebe827ece94af196"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 84; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 88; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3168
- hash: "569581944bf18c8165f72c60bdbf1011"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 96; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3184
- hash: "613ff94a26bfaa9a4dc94fcbf6c3eb57"
- }
- Frame {
- msec: 3200
- hash: "a63f8e6b194f900acb1b7a332f9fb9ae"
- }
- Frame {
- msec: 3216
- hash: "6c04761cc86d28112c16f692cda58ba4"
- }
- Frame {
- msec: 3232
- hash: "544275da3f7e2ccaedc8c521bf17f59b"
- }
- Frame {
- msec: 3248
- hash: "52831480eb69184341b12ffb09ace736"
- }
- Frame {
- msec: 3264
- hash: "52831480eb69184341b12ffb09ace736"
- }
- Frame {
- msec: 3280
- hash: "52831480eb69184341b12ffb09ace736"
- }
- Frame {
- msec: 3296
- hash: "58f2b900bc335424fc70eaaeb23ceb56"
- }
- Frame {
- msec: 3312
- hash: "58f2b900bc335424fc70eaaeb23ceb56"
- }
- Frame {
- msec: 3328
- hash: "544275da3f7e2ccaedc8c521bf17f59b"
- }
- Frame {
- msec: 3344
- hash: "df9fef370c2f6ff300b20fc24b5b9e34"
- }
- Frame {
- msec: 3360
- hash: "0662898d246e5ff6981610d32e2b8375"
- }
- Frame {
- msec: 3376
- hash: "6c04761cc86d28112c16f692cda58ba4"
- }
- Frame {
- msec: 3392
- hash: "82b31c8e8794ce3a9a6a635ef93b29b3"
- }
- Frame {
- msec: 3408
- hash: "388658b5e03f3853e93173bd9501b77b"
- }
- Frame {
- msec: 3424
- hash: "cf1856e961e6b8277a82c03ace5ba864"
- }
- Frame {
- msec: 3440
- hash: "e1d022cc1b41098baffe49925b20678f"
- }
- Frame {
- msec: 3456
- hash: "a63f8e6b194f900acb1b7a332f9fb9ae"
- }
- Frame {
- msec: 3472
- hash: "044c3712a6a5f6a973defe85643c8d02"
- }
- Frame {
- msec: 3488
- hash: "044c3712a6a5f6a973defe85643c8d02"
- }
- Frame {
- msec: 3504
- hash: "e4fe2f1a81a4a4806f4155807f285a2d"
- }
- Frame {
- msec: 3520
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3536
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3552
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3568
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3584
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3600
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3616
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3632
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3648
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3664
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3680
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3696
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3712
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3728
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3744
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3760
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3776
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3792
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3808
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3824
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3840
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3856
- image: "enforcerange.4.png"
- }
- Frame {
- msec: 3872
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3888
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3904
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3920
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3936
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3952
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3968
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 3984
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 4000
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 4016
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Frame {
- msec: 4032
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 105; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4048
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 168
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 167
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4064
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 163
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4080
- hash: "19c43fcf2875769c9a15f1ce317a0f1e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 162
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4096
- hash: "331164730fb7ccf37dc08ddc26c0e182"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 107; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 107; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4112
- hash: "73e27ff972eefc421bc65897ad8b9a11"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 108; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4128
- hash: "c5e903fd827f8f1ec060dcb9a925bf6d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 109; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4144
- hash: "74d4357dff4d6e00c5ae9ea0c34f1010"
- }
- Frame {
- msec: 4160
- hash: "790274ee21ba257b84671a6fb19c142f"
- }
- Frame {
- msec: 4176
- hash: "65ccc26f20be484fefa8ea25a7daf825"
- }
- Frame {
- msec: 4192
- hash: "e435e2fbba7f0f6a65b9fecf07893eb0"
- }
- Frame {
- msec: 4208
- hash: "6a994a18a9331731d5fca50dce2b9cff"
- }
- Frame {
- msec: 4224
- hash: "9fc4405cddc06310215969a4583b2353"
- }
- Frame {
- msec: 4240
- hash: "0d2b7130a84a8efac1cf4fe8a1768231"
- }
- Frame {
- msec: 4256
- hash: "791db15db47090e1af299e5b32e53918"
- }
- Frame {
- msec: 4272
- hash: "0ec6cf7a6ed9a073d2ce8f9e534e2ee5"
- }
- Frame {
- msec: 4288
- hash: "c7b358f51a9500ca4958d266de5307e6"
- }
- Frame {
- msec: 4304
- hash: "d24d00e4cd1ea3aaacf202e2fdf1eaa0"
- }
- Frame {
- msec: 4320
- hash: "169f1a7a933d84071c449132a3c2745e"
- }
- Frame {
- msec: 4336
- hash: "b6bf9c15ed40d6e862f693155c884035"
- }
- Frame {
- msec: 4352
- hash: "8639955aa7a03f54d50d7e9051a4b997"
- }
- Frame {
- msec: 4368
- hash: "411bc9a9aedbfb75f3122eaea6be0c16"
- }
- Frame {
- msec: 4384
- hash: "827094da86716daf69386af2c8d4027a"
- }
- Frame {
- msec: 4400
- hash: "ddddd5457e4a54ca5e7415dc2c7eabe5"
- }
- Frame {
- msec: 4416
- hash: "632a5756af20083504fb1faaa019dd48"
- }
- Frame {
- msec: 4432
- hash: "0cc2901b1b25412f13865887a8c9d13e"
- }
- Frame {
- msec: 4448
- hash: "4c8a9473eb9843634340d70f8eab9487"
- }
- Frame {
- msec: 4464
- hash: "398a238f59a2edf07870b624b914c81d"
- }
- Frame {
- msec: 4480
- hash: "a7c282235e9166b900ea2ff68800a5f5"
- }
- Frame {
- msec: 4496
- hash: "bae4fc0fc2d33008ebe827ece94af196"
- }
- Frame {
- msec: 4512
- hash: "45e0670a2b4c18b847a3c7870539b962"
- }
- Frame {
- msec: 4528
- hash: "8d474956331fdd0c35beb13a06b7c557"
- }
- Frame {
- msec: 4544
- hash: "5d5bdffc30d90fd5b061c6fcf24c2599"
- }
- Frame {
- msec: 4560
- hash: "15721b103981f5fe40b5dfe7d65c5b38"
- }
- Frame {
- msec: 4576
- hash: "940b70f15082ff138579892bb6f20ce9"
- }
- Frame {
- msec: 4592
- hash: "5137ea98fd291a4b967fb66d93253a37"
- }
- Frame {
- msec: 4608
- hash: "35ab744ce2a91567dbbd769f9486f870"
- }
- Frame {
- msec: 4624
- hash: "d5c55c00b07735e5d7c02dfa99ef2f45"
- }
- Frame {
- msec: 4640
- hash: "6b2d32b8f1df871c2c014af8b5d87329"
- }
- Frame {
- msec: 4656
- hash: "edf3b33b80cca53999779555f9cd6162"
- }
- Frame {
- msec: 4672
- hash: "180f3cc4ea5ff5b6f9e8be0294732d4e"
- }
- Frame {
- msec: 4688
- hash: "9b99a1b0c0bb0ce37655d92854ee4d19"
- }
- Frame {
- msec: 4704
- hash: "28e9ca60a873910380b2d22d6b3df565"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 109; y: 131
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4720
- hash: "28e9ca60a873910380b2d22d6b3df565"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 124
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4736
- hash: "18e53bf6337cf6590fc3c73c00469d8e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 110
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4752
- hash: "81110f17d191f9795a2c57d136e86550"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 108; y: 99
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4768
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 105; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 103; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4784
- hash: "711274e9b6811b4662ac29d813574fb6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 102; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 100; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 100; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4800
- hash: "da5a30a6f9f40fbb5e2b150965be8ac0"
- }
- Frame {
- msec: 4816
- image: "enforcerange.5.png"
- }
- Frame {
- msec: 4832
- hash: "090a76cf068a5041ff993f21e6ebd087"
- }
- Frame {
- msec: 4848
- hash: "6b317b59e1b0f5b17a6d7d96e745f576"
- }
- Frame {
- msec: 4864
- hash: "744227adbdd31be2920a232ea0dbc85d"
- }
- Frame {
- msec: 4880
- hash: "674b07dc5b99bf2da93c40d42dc9023d"
- }
- Frame {
- msec: 4896
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 4912
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 4928
- hash: "81110f17d191f9795a2c57d136e86550"
- }
- Frame {
- msec: 4944
- hash: "30eb157c89ad0aeb17fd0012afb9246b"
- }
- Frame {
- msec: 4960
- hash: "f9fc8467c6dbcb00d1f41a57b550193c"
- }
- Frame {
- msec: 4976
- hash: "711274e9b6811b4662ac29d813574fb6"
- }
- Frame {
- msec: 4992
- hash: "d4b370ff8c3b66fc8a616dd9b944abd1"
- }
- Frame {
- msec: 5008
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 5024
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 5040
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 5056
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 5072
- hash: "81110f17d191f9795a2c57d136e86550"
- }
- Frame {
- msec: 5088
- hash: "30eb157c89ad0aeb17fd0012afb9246b"
- }
- Frame {
- msec: 5104
- hash: "6b317b59e1b0f5b17a6d7d96e745f576"
- }
- Frame {
- msec: 5120
- hash: "711274e9b6811b4662ac29d813574fb6"
- }
- Frame {
- msec: 5136
- hash: "744227adbdd31be2920a232ea0dbc85d"
- }
- Frame {
- msec: 5152
- hash: "674b07dc5b99bf2da93c40d42dc9023d"
- }
- Frame {
- msec: 5168
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 5184
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 5200
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 5216
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 5232
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 5248
- hash: "81110f17d191f9795a2c57d136e86550"
- }
- Frame {
- msec: 5264
- hash: "090a76cf068a5041ff993f21e6ebd087"
- }
- Frame {
- msec: 5280
- hash: "30eb157c89ad0aeb17fd0012afb9246b"
- }
- Frame {
- msec: 5296
- hash: "6b317b59e1b0f5b17a6d7d96e745f576"
- }
- Frame {
- msec: 5312
- hash: "f9fc8467c6dbcb00d1f41a57b550193c"
- }
- Frame {
- msec: 5328
- hash: "744227adbdd31be2920a232ea0dbc85d"
- }
- Frame {
- msec: 5344
- hash: "d4b370ff8c3b66fc8a616dd9b944abd1"
- }
- Frame {
- msec: 5360
- hash: "674b07dc5b99bf2da93c40d42dc9023d"
- }
- Frame {
- msec: 5376
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 5392
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 5408
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 5424
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 5440
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 5456
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 5472
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 5488
- hash: "81110f17d191f9795a2c57d136e86550"
- }
- Frame {
- msec: 5504
- hash: "090a76cf068a5041ff993f21e6ebd087"
- }
- Frame {
- msec: 5520
- hash: "090a76cf068a5041ff993f21e6ebd087"
- }
- Frame {
- msec: 5536
- hash: "30eb157c89ad0aeb17fd0012afb9246b"
- }
- Frame {
- msec: 5552
- hash: "6b317b59e1b0f5b17a6d7d96e745f576"
- }
- Frame {
- msec: 5568
- hash: "f9fc8467c6dbcb00d1f41a57b550193c"
- }
- Frame {
- msec: 5584
- hash: "f9fc8467c6dbcb00d1f41a57b550193c"
- }
- Frame {
- msec: 5600
- hash: "711274e9b6811b4662ac29d813574fb6"
- }
- Frame {
- msec: 5616
- hash: "744227adbdd31be2920a232ea0dbc85d"
- }
- Frame {
- msec: 5632
- hash: "744227adbdd31be2920a232ea0dbc85d"
- }
- Frame {
- msec: 5648
- hash: "d4b370ff8c3b66fc8a616dd9b944abd1"
- }
- Frame {
- msec: 5664
- hash: "d4b370ff8c3b66fc8a616dd9b944abd1"
- }
- Frame {
- msec: 5680
- hash: "674b07dc5b99bf2da93c40d42dc9023d"
- }
- Frame {
- msec: 5696
- hash: "674b07dc5b99bf2da93c40d42dc9023d"
- }
- Frame {
- msec: 5712
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 5728
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 5744
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 5760
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 5776
- image: "enforcerange.6.png"
- }
- Frame {
- msec: 5792
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 5808
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 5824
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 5840
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 5856
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 5872
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 5888
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 5904
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 5920
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 5936
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 5952
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 5968
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 5984
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 6000
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 6016
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 6032
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 6048
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 6064
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 6080
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 6096
- hash: "b061ee3784fbd4a287758ffd100a623e"
- }
- Frame {
- msec: 6112
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 6128
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 6144
- hash: "7eb75e8e83874d52448a7dbf6a0ad29c"
- }
- Frame {
- msec: 6160
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 6176
- hash: "70b475e88060ead84d05f0ba1b47c139"
- }
- Frame {
- msec: 6192
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 6208
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 6224
- hash: "87aaa82b96131fed8822e57e226162a0"
- }
- Frame {
- msec: 6240
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 6256
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 6272
- hash: "b64810845a97bedf6fe11c043457c197"
- }
- Frame {
- msec: 6288
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6304
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6320
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6336
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6352
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6368
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6384
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6400
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6416
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6432
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6448
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6464
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6480
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6496
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6512
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6528
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6544
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6560
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6576
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6592
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6608
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6624
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6640
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
- Frame {
- msec: 6656
- hash: "a4ff6c6c43697808f9ad7387d152cef3"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png
deleted file mode 100644
index 75d2089cda..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.1.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.1.png
deleted file mode 100644
index 75d2089cda..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.2.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.2.png
deleted file mode 100644
index bc7dc2c489..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.3.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.3.png
deleted file mode 100644
index def378f40d..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.4.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.4.png
deleted file mode 100644
index e23b9033c8..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.5.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.5.png
deleted file mode 100644
index def378f40d..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.6.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.6.png
deleted file mode 100644
index b81e713aec..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.7.png b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.7.png
deleted file mode 100644
index 75d2089cda..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml b/tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml
deleted file mode 100644
index 6438e425b5..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/itemlist.qml
+++ /dev/null
@@ -1,2203 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "itemlist.0.png"
- }
- Frame {
- msec: 32
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 48
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 64
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 80
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 96
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 112
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 128
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 144
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 160
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 176
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 192
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 208
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 224
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 240
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 256
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 272
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 288
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 304
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 320
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 336
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 352
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 368
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 384
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 400
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 416
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 432
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 448
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 464
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 480
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 496
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 512
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 528
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 544
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 560
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 576
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 592
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 608
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 624
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 640
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 656
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 672
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 688
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 704
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 720
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 736
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 752
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 768
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 784
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 800
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 816
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 832
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 848
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 864
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 880
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 896
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 912
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 928
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 944
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 960
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 976
- image: "itemlist.1.png"
- }
- Frame {
- msec: 992
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1008
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1024
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1040
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1056
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1072
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1088
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1104
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1120
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1136
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1152
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1168
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1184
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1200
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1216
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1232
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1248
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1264
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1280
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1296
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1312
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1328
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1344
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1360
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1376
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1392
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1408
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1424
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1440
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1456
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1472
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1488
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1504
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1520
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1536
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1552
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1568
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1584
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1600
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1616
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1632
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 1648
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 192; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1664
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1680
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 190; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 187; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1696
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 184; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 180; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1712
- hash: "b6e433a23282a50db2e165a2447ba3f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 174; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 167; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1728
- hash: "68d443f16c16821ffc9ca68b17c76034"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 160; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1744
- hash: "04b9041c6f10969889d92e94785c7e88"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: 121
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 132; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1760
- hash: "64b902fe7ab4d89ef0c7b760974e3488"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 114; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 98; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1776
- hash: "c2125b59e00f1a1c189c778c44fe39b0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 91; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1792
- hash: "c78175071f2e95649d529b9e1cf045b2"
- }
- Frame {
- msec: 1808
- hash: "ca8ef2c2a7b06e55899b1b63208e257d"
- }
- Frame {
- msec: 1824
- hash: "b54957726e6257956b63e1d7ebbc96e4"
- }
- Frame {
- msec: 1840
- hash: "48847db78ddde75bb96edf01c52c3400"
- }
- Frame {
- msec: 1856
- hash: "48dab5cd1feedf1b5dd67390d6f40fda"
- }
- Frame {
- msec: 1872
- hash: "fe32013c245091b577d0e38eea05705d"
- }
- Frame {
- msec: 1888
- hash: "e4b6e31029c1ea26405537c6d2304b72"
- }
- Frame {
- msec: 1904
- hash: "b5fc9ab0a96ef526e6eb1c022f26c6a7"
- }
- Frame {
- msec: 1920
- hash: "75ab445a739fb2415e20e8997b043656"
- }
- Frame {
- msec: 1936
- image: "itemlist.2.png"
- }
- Frame {
- msec: 1952
- hash: "1bce9b85235e9a1a472c079dfec70ec5"
- }
- Frame {
- msec: 1968
- hash: "98e707a3e39a5f7bd4a101c2ed83535c"
- }
- Frame {
- msec: 1984
- hash: "f73470027601a0c1a2382d5ded9e5fa6"
- }
- Frame {
- msec: 2000
- hash: "d917b18a47b4e90821cba8987492cd1f"
- }
- Frame {
- msec: 2016
- hash: "fa526c5ef57eaa210fb4d03b72c35b69"
- }
- Frame {
- msec: 2032
- hash: "15cbc226b032d5a97199735ea7a1408b"
- }
- Frame {
- msec: 2048
- hash: "6ffd2b79cf0e941a59e74bc6f9025bcb"
- }
- Frame {
- msec: 2064
- hash: "c009924bfa30153f22ab168b539494e9"
- }
- Frame {
- msec: 2080
- hash: "0525908c0302ada989e28990bac3f2ca"
- }
- Frame {
- msec: 2096
- hash: "75c1295ef99680784b2e11fb88fa1423"
- }
- Frame {
- msec: 2112
- hash: "53064c1938f08a55603a99b0db225174"
- }
- Frame {
- msec: 2128
- hash: "99d9e58697736198e0a00443d237e85b"
- }
- Frame {
- msec: 2144
- hash: "6c1e860aef983367365d53f5849ad441"
- }
- Frame {
- msec: 2160
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2176
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2192
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2208
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2224
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2240
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2256
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2272
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2288
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2304
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2320
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2336
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2352
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2368
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2384
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2400
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2416
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2432
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2448
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2464
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2480
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2496
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2512
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2528
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2544
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2560
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2576
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2592
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2608
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2624
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2640
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2656
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2672
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2688
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2704
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2720
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2736
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2752
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2768
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2784
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2800
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2816
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2832
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2848
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2864
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 181; y: 104
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2880
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 2896
- image: "itemlist.3.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 179; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 177; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2912
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 174; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 170; y: 110
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2928
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 166; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 160; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2944
- hash: "52af1b81022e8572b9123461d123197f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 154; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: 123
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2960
- hash: "e1390ad02ae7a6e757df4a7af9032167"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 124; y: 127
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 124; y: 127
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2976
- hash: "bf57f309378c956dfd70aa79a7dd97c5"
- }
- Frame {
- msec: 2992
- hash: "408b59b96ecad0541ecbb97262c2567b"
- }
- Frame {
- msec: 3008
- hash: "c52f691a0a6cf155118bdfea2dfea623"
- }
- Frame {
- msec: 3024
- hash: "9aabf0500b1272375f5f6db1bd1d7b04"
- }
- Frame {
- msec: 3040
- hash: "2e92065ca9425d1645d69c1734804518"
- }
- Frame {
- msec: 3056
- hash: "c73b2e430a0e96a660aa4447697e5adf"
- }
- Frame {
- msec: 3072
- hash: "875560b509215a869d1cad8a05f38850"
- }
- Frame {
- msec: 3088
- hash: "fd8e51cca3432f6edcf949857737095f"
- }
- Frame {
- msec: 3104
- hash: "aa5d4e65932b3ec2f5549079dfc7718d"
- }
- Frame {
- msec: 3120
- hash: "f811f3c6b022730dd68ebd7b1659ea40"
- }
- Frame {
- msec: 3136
- hash: "e51a2e41972cfc3df46a7d4375024d80"
- }
- Frame {
- msec: 3152
- hash: "275f3594a0e2cc4b6717f9f336e7e1b6"
- }
- Frame {
- msec: 3168
- hash: "9229054bb70662b12a4f7e45ac5b7a90"
- }
- Frame {
- msec: 3184
- hash: "89ff346eca0b71cad3b04a2cb8064fb0"
- }
- Frame {
- msec: 3200
- hash: "94e6ecb87a7efca6344d6d63a1e3829f"
- }
- Frame {
- msec: 3216
- hash: "bc5eb6b0eeae316ddd0b308da2cc32e2"
- }
- Frame {
- msec: 3232
- hash: "240081760f0cf2f02be4d6d2600d2bbc"
- }
- Frame {
- msec: 3248
- hash: "69b335aeb81fc2ae6173f2ec5cdc4c55"
- }
- Frame {
- msec: 3264
- hash: "10d481e57cc8cd694500d9ed6ae1f8bb"
- }
- Frame {
- msec: 3280
- hash: "6b21f71d0bedef4bbcb445a13f61e7a3"
- }
- Frame {
- msec: 3296
- hash: "aa94ebdbb4b8423aff28c95daff0baf5"
- }
- Frame {
- msec: 3312
- hash: "5f6708f615654c459f5749676fc09016"
- }
- Frame {
- msec: 3328
- hash: "8ef246d322446e7f0848b99495f89e2b"
- }
- Frame {
- msec: 3344
- hash: "c3b219bdd7710427d134402a8d3e6429"
- }
- Frame {
- msec: 3360
- hash: "3b2e2d957585fb44a7165186a146892c"
- }
- Frame {
- msec: 3376
- hash: "124da0099a7dd6fbf6dfd0ecfb09638c"
- }
- Frame {
- msec: 3392
- hash: "e4dacafba5ab5f8db53f08cef458cf42"
- }
- Frame {
- msec: 3408
- hash: "b554512bac0766063870c5b3acb1d24f"
- }
- Frame {
- msec: 3424
- hash: "bb5ea2a238920a8486263bc7450edfb4"
- }
- Frame {
- msec: 3440
- hash: "bb5ea2a238920a8486263bc7450edfb4"
- }
- Frame {
- msec: 3456
- hash: "bb5ea2a238920a8486263bc7450edfb4"
- }
- Frame {
- msec: 3472
- hash: "b554512bac0766063870c5b3acb1d24f"
- }
- Frame {
- msec: 3488
- hash: "b554512bac0766063870c5b3acb1d24f"
- }
- Frame {
- msec: 3504
- hash: "e4dacafba5ab5f8db53f08cef458cf42"
- }
- Frame {
- msec: 3520
- hash: "de7f3c83f37cc89c87009626c72e7642"
- }
- Frame {
- msec: 3536
- hash: "124da0099a7dd6fbf6dfd0ecfb09638c"
- }
- Frame {
- msec: 3552
- hash: "40204fdb7a84b86f1380224908092354"
- }
- Frame {
- msec: 3568
- hash: "ff93c3290b7d9a9743cc11d41a112a0a"
- }
- Frame {
- msec: 3584
- hash: "c3b219bdd7710427d134402a8d3e6429"
- }
- Frame {
- msec: 3600
- hash: "56e2f6b2ac103caf7ada3b56c19622c2"
- }
- Frame {
- msec: 3616
- hash: "8ef246d322446e7f0848b99495f89e2b"
- }
- Frame {
- msec: 3632
- hash: "8eb6d69d9833d0fbf87f951f489b71fe"
- }
- Frame {
- msec: 3648
- hash: "17deb6b26fc9d27d5194995c102da4ac"
- }
- Frame {
- msec: 3664
- hash: "5f6708f615654c459f5749676fc09016"
- }
- Frame {
- msec: 3680
- hash: "1734205ea5e7539b47d80c5a93ec74aa"
- }
- Frame {
- msec: 3696
- hash: "1734205ea5e7539b47d80c5a93ec74aa"
- }
- Frame {
- msec: 3712
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3728
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3744
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3760
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3776
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3792
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3808
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3824
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3840
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3856
- image: "itemlist.4.png"
- }
- Frame {
- msec: 3872
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3888
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3904
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3920
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3936
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3952
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3968
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 3984
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 4000
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 4016
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 4032
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 4048
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 4064
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 4080
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Frame {
- msec: 4096
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 31; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4112
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 32; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4128
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 33; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 36; y: 135
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4144
- hash: "88143ff6c278a5433b314b551b7b8b1d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 40; y: 134
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4160
- hash: "f619097356671f6eb54d3b1c481e709d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4176
- hash: "240081760f0cf2f02be4d6d2600d2bbc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 86; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 110; y: 118
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 110; y: 118
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4192
- hash: "3b85c1739fdf3933d8cb0b2eaf22e6e3"
- }
- Frame {
- msec: 4208
- hash: "f811f3c6b022730dd68ebd7b1659ea40"
- }
- Frame {
- msec: 4224
- hash: "2e97a74eb9ddb1c9613c89e2d78db018"
- }
- Frame {
- msec: 4240
- hash: "7b7f5daf5eaf047e69d04b5bcb73240c"
- }
- Frame {
- msec: 4256
- hash: "1af58a2f44f1f613712d4df85e38356d"
- }
- Frame {
- msec: 4272
- hash: "1bbdda445cec7f95a189c15d7e3c77b8"
- }
- Frame {
- msec: 4288
- hash: "91d8bcfebff29d2caf526b4012daaf46"
- }
- Frame {
- msec: 4304
- hash: "71ec8c363ca6a6f7556afb70faccffe6"
- }
- Frame {
- msec: 4320
- hash: "303ebc28d09a49de52cb1adaa03872dd"
- }
- Frame {
- msec: 4336
- hash: "9402e86bf4ffa62c60b02531a3735275"
- }
- Frame {
- msec: 4352
- hash: "5652de6fb2e107d41c0c5aeacf5a3055"
- }
- Frame {
- msec: 4368
- hash: "b6a2ade6565a86b1f8e369b02e0b93f9"
- }
- Frame {
- msec: 4384
- hash: "30dd35e0b9ffa846f3cfc39edcbae511"
- }
- Frame {
- msec: 4400
- hash: "401975fb4c9a48953aec25adb593eec4"
- }
- Frame {
- msec: 4416
- hash: "71f9039c7aa9c8dc6d1de4561b1d5537"
- }
- Frame {
- msec: 4432
- hash: "e1390ad02ae7a6e757df4a7af9032167"
- }
- Frame {
- msec: 4448
- hash: "53a26f00bd49b8a9c065be99f9402d9c"
- }
- Frame {
- msec: 4464
- hash: "b6e515e9a27af23b895f5024a41ce7b3"
- }
- Frame {
- msec: 4480
- hash: "85d143505d56f53c629358b37ad11581"
- }
- Frame {
- msec: 4496
- hash: "de5cbdd848a07b78f9c5eb510cca2d3e"
- }
- Frame {
- msec: 4512
- hash: "0ad7411316031e22034c14e81ca3a806"
- }
- Frame {
- msec: 4528
- hash: "32bef6f5005ad94e29ff59165958fbdc"
- }
- Frame {
- msec: 4544
- hash: "87758dd311f91193bf1e3536c2f58525"
- }
- Frame {
- msec: 4560
- hash: "d4c34ed49317c6692d71681fcd9842b6"
- }
- Frame {
- msec: 4576
- hash: "abaa235bb946a8abaddd52981d632c2d"
- }
- Frame {
- msec: 4592
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4608
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4624
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4640
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4656
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4672
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4688
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4704
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4720
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4736
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4752
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4768
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4784
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4800
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4816
- image: "itemlist.5.png"
- }
- Frame {
- msec: 4832
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4848
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4864
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4880
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4896
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4912
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4928
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4944
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4960
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4976
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 4992
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5008
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5024
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5040
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5056
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5072
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5088
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5104
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5120
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5136
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5152
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5168
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5184
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5200
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5216
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Frame {
- msec: 5232
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 17; y: 120
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5248
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 19; y: 120
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 21; y: 120
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5264
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 24; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 28; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5280
- hash: "99f9988040a389576cb6420b5391f768"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 35; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 44; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5296
- hash: "6ffd2b79cf0e941a59e74bc6f9025bcb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 96; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5312
- hash: "4aa05d978267325ae00cb45e310a2f01"
- }
- Frame {
- msec: 5328
- hash: "b5717b311259c77a0210e26ab99dd401"
- }
- Frame {
- msec: 5344
- hash: "9b3fde82278fa2f0caaf64cf23bb6530"
- }
- Frame {
- msec: 5360
- hash: "e7795610115593e78bb32f7bcc0ae2eb"
- }
- Frame {
- msec: 5376
- hash: "0dc7c4c161e0b3c3d176e5e6bc08a805"
- }
- Frame {
- msec: 5392
- hash: "7c2b0307c4040d8d9e88425b3bf3fb70"
- }
- Frame {
- msec: 5408
- hash: "06ce7db518da042e04dd3f79b7220974"
- }
- Frame {
- msec: 5424
- hash: "7aeec517e845c1c5012ed63be6bbd006"
- }
- Frame {
- msec: 5440
- hash: "53e9d5a0098f2e91bbea45360b876607"
- }
- Frame {
- msec: 5456
- hash: "22a6c7f3dcb5a36592909783b2466c8d"
- }
- Frame {
- msec: 5472
- hash: "9d8da9199efebb95f56e5d4ebc9a585e"
- }
- Frame {
- msec: 5488
- hash: "c553400402f233a6246be4e544b433ae"
- }
- Frame {
- msec: 5504
- hash: "c2e41a54c03340832db93f6f88393f00"
- }
- Frame {
- msec: 5520
- hash: "3622a619a99c939e96636a86c4428ba3"
- }
- Frame {
- msec: 5536
- hash: "e65d5e6c756e750e6d98096fe211465c"
- }
- Frame {
- msec: 5552
- hash: "cabd6d30b1f4e42b38b73803aae6d5be"
- }
- Frame {
- msec: 5568
- hash: "68d443f16c16821ffc9ca68b17c76034"
- }
- Frame {
- msec: 5584
- hash: "a68b1bc6c2963ee92c3a45f500667b3b"
- }
- Frame {
- msec: 5600
- hash: "805319ac7ca842feb3649e92f8b5b72f"
- }
- Frame {
- msec: 5616
- hash: "fd8d3f5688b1806998c6087e18c6c730"
- }
- Frame {
- msec: 5632
- hash: "b135c8c9975f4d45d2054cf31d0b1fe1"
- }
- Frame {
- msec: 5648
- hash: "40382f644935dc4e99353fa29c3e0b21"
- }
- Frame {
- msec: 5664
- hash: "aa32e4c20c6a43c4ef7991a9418e57fe"
- }
- Frame {
- msec: 5680
- hash: "b8db9180b4ad15fdbd25a4e974512f92"
- }
- Frame {
- msec: 5696
- hash: "127871a98123b7bd44f4c38f27cbc836"
- }
- Frame {
- msec: 5712
- hash: "35fe67a91e50f8ebc896451b39cb8f1c"
- }
- Frame {
- msec: 5728
- hash: "35fe67a91e50f8ebc896451b39cb8f1c"
- }
- Frame {
- msec: 5744
- hash: "0b7fc796f818bddcada99e9981f1cce0"
- }
- Frame {
- msec: 5760
- hash: "35fe67a91e50f8ebc896451b39cb8f1c"
- }
- Frame {
- msec: 5776
- image: "itemlist.6.png"
- }
- Frame {
- msec: 5792
- hash: "35fe67a91e50f8ebc896451b39cb8f1c"
- }
- Frame {
- msec: 5808
- hash: "2311ce1a83a43619ab7ce537a2b948e1"
- }
- Frame {
- msec: 5824
- hash: "2311ce1a83a43619ab7ce537a2b948e1"
- }
- Frame {
- msec: 5840
- hash: "127871a98123b7bd44f4c38f27cbc836"
- }
- Frame {
- msec: 5856
- hash: "b8db9180b4ad15fdbd25a4e974512f92"
- }
- Frame {
- msec: 5872
- hash: "65af7a4a4aea5a983ea3fb9324e74256"
- }
- Frame {
- msec: 5888
- hash: "aa32e4c20c6a43c4ef7991a9418e57fe"
- }
- Frame {
- msec: 5904
- hash: "b3e92eb4cfe548b92ac526066dfc7d23"
- }
- Frame {
- msec: 5920
- hash: "39fcad34db24d591e24c8ae1c7094d5b"
- }
- Frame {
- msec: 5936
- hash: "165b91b850bcb8dd1d9b1eaa6f81be57"
- }
- Frame {
- msec: 5952
- hash: "f34d2248999f5f51210064315d631f60"
- }
- Frame {
- msec: 5968
- hash: "f34d2248999f5f51210064315d631f60"
- }
- Frame {
- msec: 5984
- hash: "b135c8c9975f4d45d2054cf31d0b1fe1"
- }
- Frame {
- msec: 6000
- hash: "b135c8c9975f4d45d2054cf31d0b1fe1"
- }
- Frame {
- msec: 6016
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6032
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6048
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6064
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6080
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6096
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6112
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6128
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6144
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6160
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6176
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6192
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6208
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6224
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6240
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6256
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6272
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6288
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6304
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6320
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6336
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6352
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6368
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6384
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6400
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6416
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6432
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6448
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6464
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6480
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6496
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6512
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6528
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6544
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6560
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6576
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6592
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6608
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6624
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6640
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6656
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6672
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6688
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6704
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6720
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6736
- image: "itemlist.7.png"
- }
- Frame {
- msec: 6752
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6768
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6784
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6800
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6816
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6832
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6848
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6864
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6880
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6896
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6912
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6928
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6944
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6960
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6976
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 6992
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7008
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7024
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7040
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7056
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7072
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7088
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7104
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7120
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7136
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7152
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7168
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7184
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7200
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7216
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7232
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7248
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7264
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7280
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7296
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
- Frame {
- msec: 7312
- hash: "bf47cc398a702dd17c8efebb3d2f8073"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.0.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.0.png
deleted file mode 100644
index 71926d71d4..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/listview.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.1.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.1.png
deleted file mode 100644
index 80f82e4178..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/listview.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.2.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.2.png
deleted file mode 100644
index 61501bb17e..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/listview.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.3.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.3.png
deleted file mode 100644
index 51c4eb137c..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/listview.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.4.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.4.png
deleted file mode 100644
index 81e00ed6bf..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/listview.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.5.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.5.png
deleted file mode 100644
index d1f06fa03e..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/listview.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.6.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.6.png
deleted file mode 100644
index 9e6e29c62a..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/listview.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.7.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.7.png
deleted file mode 100644
index 9e7bd6eb31..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/listview.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.8.png b/tests/auto/declarative/qmlvisual/ListView/data/listview.8.png
deleted file mode 100644
index 9e7bd6eb31..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/listview.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/ListView/data/listview.qml b/tests/auto/declarative/qmlvisual/ListView/data/listview.qml
deleted file mode 100644
index b1ffe8f5a8..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/data/listview.qml
+++ /dev/null
@@ -1,2227 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "listview.0.png"
- }
- Frame {
- msec: 32
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 48
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 64
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 80
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 96
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 112
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 128
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 144
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 160
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 176
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 192
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 208
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 224
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 240
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 256
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 272
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 288
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 304
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 320
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 336
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 352
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 368
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 384
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 400
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 416
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 432
- hash: "3b88645092be28037fca4a6034f5b2f7"
- }
- Frame {
- msec: 448
- hash: "435ac0668ad4d0e196eb040d385053cb"
- }
- Frame {
- msec: 464
- hash: "e9532fe1acc1c27a2119e6dde3e01637"
- }
- Frame {
- msec: 480
- hash: "9c757feaf5a8d1e88c659fca97e3b7b2"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 496
- hash: "ccc7785a45a41615db01580835a4638e"
- }
- Frame {
- msec: 512
- hash: "11ad92022bcd5d3fbd28ffb9f51c69eb"
- }
- Frame {
- msec: 528
- hash: "a8a94e1f95216864c368b8c3d0ae682b"
- }
- Frame {
- msec: 544
- hash: "d83e213d35e7fcff2580b4e197547f24"
- }
- Frame {
- msec: 560
- hash: "9e5a57fabdc443e395cacbaf6e0c9bef"
- }
- Frame {
- msec: 576
- hash: "9e5a57fabdc443e395cacbaf6e0c9bef"
- }
- Frame {
- msec: 592
- hash: "9e5a57fabdc443e395cacbaf6e0c9bef"
- }
- Frame {
- msec: 608
- hash: "9e5a57fabdc443e395cacbaf6e0c9bef"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 624
- hash: "9e5a57fabdc443e395cacbaf6e0c9bef"
- }
- Frame {
- msec: 640
- hash: "0e9c577fa86d9b3734da0d50040624e0"
- }
- Frame {
- msec: 656
- hash: "834cf83f0f8d613191cac775b5737664"
- }
- Frame {
- msec: 672
- hash: "495ea7650b2ae45f9afd7f9f6ecdd793"
- }
- Frame {
- msec: 688
- hash: "55c761ccee6543bb3b9564bb813df58e"
- }
- Frame {
- msec: 704
- hash: "e29e5f86cb3b1fb5ec77fde696024812"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 720
- hash: "f24b7d5a8f5ab03460505d6203269d1b"
- }
- Frame {
- msec: 736
- hash: "893473965efe9e0540b197cbaa3f765d"
- }
- Frame {
- msec: 752
- hash: "a541b7be2f370f948048b2101b037ab7"
- }
- Frame {
- msec: 768
- hash: "a541b7be2f370f948048b2101b037ab7"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 784
- hash: "da065f1e72883a45241630b96ee5b1f8"
- }
- Frame {
- msec: 800
- hash: "e97f78604c0c6d468c8dd225642e2ebd"
- }
- Frame {
- msec: 816
- hash: "7b9d4b14eedfa4ff10dd7e3747c4a7f5"
- }
- Frame {
- msec: 832
- hash: "6d55ba6287c720614854d36bb681a9f3"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 848
- hash: "3e7a44811f59bfb81de2f4f884a7af17"
- }
- Frame {
- msec: 864
- hash: "101113a7723b9d09275f66152b82142f"
- }
- Frame {
- msec: 880
- hash: "0044e068522f912630868476f8bf49f8"
- }
- Frame {
- msec: 896
- hash: "92065f9f170ee09abf67f0d0c7a1b6ba"
- }
- Frame {
- msec: 912
- hash: "92065f9f170ee09abf67f0d0c7a1b6ba"
- }
- Frame {
- msec: 928
- hash: "92065f9f170ee09abf67f0d0c7a1b6ba"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 944
- hash: "92065f9f170ee09abf67f0d0c7a1b6ba"
- }
- Frame {
- msec: 960
- hash: "d193987835dc12e4391e55ff5fee4ce1"
- }
- Frame {
- msec: 976
- image: "listview.1.png"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 992
- hash: "9b07b6861a97d0871ed89369ff7449da"
- }
- Frame {
- msec: 1008
- hash: "7d95daf35c1823ea7187162b62010c57"
- }
- Frame {
- msec: 1024
- hash: "cc1e70fd1235d50ca291580bef1d6fc4"
- }
- Frame {
- msec: 1040
- hash: "c8250f4cf69642e78523412b7b75501c"
- }
- Frame {
- msec: 1056
- hash: "c57e421c803e8bfa1a85409cbb858829"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1072
- hash: "19b429a90d9877e62a7dee53ebf01fb2"
- }
- Frame {
- msec: 1088
- hash: "7c810f174bed3826016272515df2d525"
- }
- Frame {
- msec: 1104
- hash: "9034cf480bda0d8b55aa6c43fc96b23d"
- }
- Frame {
- msec: 1120
- hash: "f62697a1f4e4df2869c14462a0d514fd"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1136
- hash: "c878f53b338d1ce332973193b0fa4b86"
- }
- Frame {
- msec: 1152
- hash: "5d26f27061b319c391961dc30d985593"
- }
- Frame {
- msec: 1168
- hash: "e038ae877e8dddd3d99bf97475f59b3d"
- }
- Frame {
- msec: 1184
- hash: "f44adc5e46d320c62095e1285ca8848b"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1200
- hash: "17f6b13e0556ac07dc527a9013a307a1"
- }
- Frame {
- msec: 1216
- hash: "70a1cc3b6dd3be4e30bb6763344fb980"
- }
- Frame {
- msec: 1232
- hash: "097c37d2243a27b8e800b5d4ec94b2e3"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1248
- hash: "15839227c002b1c71eb516f6653a7531"
- }
- Frame {
- msec: 1264
- hash: "f4a8103ef9010c651368d325fe9eee98"
- }
- Frame {
- msec: 1280
- hash: "d158ec1c83719c58c1d0a2e4cc90998f"
- }
- Frame {
- msec: 1296
- hash: "6f66a44f5dc3fe150db2291b8cbc7327"
- }
- Frame {
- msec: 1312
- hash: "8a016eac5befb215a157f7fe5bc743de"
- }
- Frame {
- msec: 1328
- hash: "8a016eac5befb215a157f7fe5bc743de"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1344
- hash: "807129a4c578b1a5f0d3d84686eb0553"
- }
- Frame {
- msec: 1360
- hash: "f9f2da990518048f0b050cc193567a20"
- }
- Frame {
- msec: 1376
- hash: "762de7b1f4e56df6d7a245a23446884b"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1392
- hash: "84ba7354badc3dca92974933c3610010"
- }
- Frame {
- msec: 1408
- hash: "36c3018870d74cff638d00acd03a0cf0"
- }
- Frame {
- msec: 1424
- hash: "82b756a14eb0e802cd3e2d2d2a07f28e"
- }
- Frame {
- msec: 1440
- hash: "74af1c12613130dc53533fe1178d5534"
- }
- Frame {
- msec: 1456
- hash: "c32818b0ba24f11295580d1ccffffdc0"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1472
- hash: "b858be109fac6852234bf1db161e515b"
- }
- Frame {
- msec: 1488
- hash: "9b3f8cffd3e79241d8a3b1f7d80790db"
- }
- Frame {
- msec: 1504
- hash: "840dc72aabc4a9b28bae641354676324"
- }
- Frame {
- msec: 1520
- hash: "c60bfd5cc8b26a841035db29baba5dab"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1536
- hash: "88d80dc8b0d968aa718ff464e507f53b"
- }
- Frame {
- msec: 1552
- hash: "f7ffc82d3448c415b4997401fb61b96b"
- }
- Frame {
- msec: 1568
- hash: "df8e9a09752fe2b2eff9184ba8e88ef1"
- }
- Frame {
- msec: 1584
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1600
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1616
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1632
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1648
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1664
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1680
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1696
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1712
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1728
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1744
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1760
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1776
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1808
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1824
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1840
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1856
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1872
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1888
- hash: "97330e949a609f5f33832dd17e0c3716"
- }
- Frame {
- msec: 1904
- hash: "15e45e1f64438d7c31e79a9602e1db7a"
- }
- Frame {
- msec: 1920
- hash: "02f34b6fde613c7c5928285bf81837d6"
- }
- Frame {
- msec: 1936
- image: "listview.2.png"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1952
- hash: "33091359f9e6f21a14bf415d32d4d3b1"
- }
- Frame {
- msec: 1968
- hash: "0fdcffa304f3eadde5cd7866d0a74e72"
- }
- Frame {
- msec: 1984
- hash: "024539dbf8e66f1ba7d5d8c91bd278f0"
- }
- Frame {
- msec: 2000
- hash: "4900babcc0a7bbd622a72590dcb0eea4"
- }
- Frame {
- msec: 2016
- hash: "d6f68d576fe46bb832accf5e9e590f7e"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2032
- hash: "5a54bcb9a59268d70a2bb99bd32395be"
- }
- Frame {
- msec: 2048
- hash: "72fbb18da8c5ef3e98390796dad31390"
- }
- Frame {
- msec: 2064
- hash: "ac073b398e3d50ef10c92d8e6b4b3fa0"
- }
- Frame {
- msec: 2080
- hash: "41e38d866d65bf1d42448b07a133cd93"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2096
- hash: "c45310b94cd2ff276e97be1706e1d432"
- }
- Frame {
- msec: 2112
- hash: "aefc6994644d266d4be0310f01c28be7"
- }
- Frame {
- msec: 2128
- hash: "f07bcb1d8ad693e1ddd79bf651126554"
- }
- Frame {
- msec: 2144
- hash: "62ff227caab71d2d98daf0da302ec796"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "72350eeeaefd043354c82ca2039cff59"
- }
- Frame {
- msec: 2176
- hash: "d89f288f0b231b4ec4a634b3856ecf8e"
- }
- Frame {
- msec: 2192
- hash: "bc7d7e2253651cb3ea1cdebf9f188ae0"
- }
- Frame {
- msec: 2208
- hash: "7c89cdb693489708fe2db327ae66d083"
- }
- Frame {
- msec: 2224
- hash: "8ca778c1812ede19545c3c70020faa67"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2240
- hash: "bd50cd99f177eb3f70b2ffad9f7a49e1"
- }
- Frame {
- msec: 2256
- hash: "b439c3576cad17689e7b6b134bb04e14"
- }
- Frame {
- msec: 2272
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Frame {
- msec: 2288
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Frame {
- msec: 2304
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Frame {
- msec: 2320
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Frame {
- msec: 2336
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Frame {
- msec: 2352
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Frame {
- msec: 2368
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Frame {
- msec: 2384
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Frame {
- msec: 2400
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Frame {
- msec: 2416
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 488; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2432
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Frame {
- msec: 2448
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 489; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2464
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 490; y: 59
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 491; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2480
- hash: "9489c0e1e8cc5675bbc42b78e567eab6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 494; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 497; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2496
- hash: "6502b3a17af7ebca92d4794f0c2a62ac"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 499; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 501; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2512
- hash: "8a7ac12d59126b2784fd0af8d6b762a5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 505; y: 170
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2528
- hash: "12fa9c4e2d6681f3a0643d8243d83e23"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 509; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2544
- hash: "ccf18952f7c9686bd12fa196af9919e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 516; y: 289
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2560
- hash: "70d654eecaf2163971596a503d2925a0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 518; y: 316
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 518; y: 316
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2576
- hash: "01ef888104f290f25612970a91e64620"
- }
- Frame {
- msec: 2592
- hash: "25b730c7c126875078c64cce118f6277"
- }
- Frame {
- msec: 2608
- hash: "68f3366932fed9156bf68dce6660b2a8"
- }
- Frame {
- msec: 2624
- hash: "9f4be0b58c46035a11c5b80ec60618d5"
- }
- Frame {
- msec: 2640
- hash: "6d38a4eaa2a41c57599cca381957ec4c"
- }
- Frame {
- msec: 2656
- hash: "1061db26c9080067bf121eb1d164a3f3"
- }
- Frame {
- msec: 2672
- hash: "c78d271711dc8f13fb48b41871249141"
- }
- Frame {
- msec: 2688
- hash: "c5825611f6c429fddd8c20495507ea5f"
- }
- Frame {
- msec: 2704
- hash: "9888b608bcf80496a3fe8848be4e3629"
- }
- Frame {
- msec: 2720
- hash: "9995d6ba039045d94903d5095b018ca8"
- }
- Frame {
- msec: 2736
- hash: "f8ea705b4710b3ffb11c2fe08ccccda2"
- }
- Frame {
- msec: 2752
- hash: "7354c2fcabdede9fb1ee823ce098da3b"
- }
- Frame {
- msec: 2768
- hash: "0d6beff960fa26771f09748356accedb"
- }
- Frame {
- msec: 2784
- hash: "0720a8a1ed85344a1de6682b3aefd502"
- }
- Frame {
- msec: 2800
- hash: "0245488740e13dbfc836b587b2bdf917"
- }
- Frame {
- msec: 2816
- hash: "25c4fcdd85017d18df7e83c15f1accbc"
- }
- Frame {
- msec: 2832
- hash: "51192ae0eae814f3dead9d949e2e4676"
- }
- Frame {
- msec: 2848
- hash: "ddbe6b273882c6018c01e0a4480b1adb"
- }
- Frame {
- msec: 2864
- hash: "bb840a0677114b67d9b08589e8a8192b"
- }
- Frame {
- msec: 2880
- hash: "5387de4152cac542735a4debf997b56f"
- }
- Frame {
- msec: 2896
- image: "listview.3.png"
- }
- Frame {
- msec: 2912
- hash: "f5c99d06e0b3055374ee4c6bf3e634f4"
- }
- Frame {
- msec: 2928
- hash: "18fe01fadf4c5acbd369f4450db1efa6"
- }
- Frame {
- msec: 2944
- hash: "bed738f1883a76c5169dd2726456b9ea"
- }
- Frame {
- msec: 2960
- hash: "c80c45be3189269d8edc5be22db7227d"
- }
- Frame {
- msec: 2976
- hash: "3dcb08dd8ac8f083ad6aacbafaae05f4"
- }
- Frame {
- msec: 2992
- hash: "38850ecc15cdcd55b758f94e8ac7fe55"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 517; y: 241
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3008
- hash: "033c44c51b8ab8f1555e153e20a80699"
- }
- Frame {
- msec: 3024
- hash: "b6dc510369c679a028bb059e74796f6c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 518; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 519; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3040
- hash: "f3606887493ee9c0db86b1c6cc6fef6d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 524; y: 229
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3056
- hash: "79975f978ebf4556381d08b500dcab72"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 530; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3072
- hash: "1345974969c1a56c4c14c74301985289"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 532; y: 167
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3088
- hash: "fd623f2bf161f326da6dec8b5d8bf16f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 530; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 530; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3104
- hash: "f1dfb47c5d4449e6cf7e2e6a2e86b1c5"
- }
- Frame {
- msec: 3120
- hash: "26b31d08a1d50614771bec0458a2776b"
- }
- Frame {
- msec: 3136
- hash: "dd017925e34f942c279ceb18b5e222da"
- }
- Frame {
- msec: 3152
- hash: "be400b4ad1d9a1ccca56b8ff6b809272"
- }
- Frame {
- msec: 3168
- hash: "4a4faa75155bb2c260f3a35675bd113e"
- }
- Frame {
- msec: 3184
- hash: "3884c5d0d4c127876ba92a7b3a416339"
- }
- Frame {
- msec: 3200
- hash: "b3d15196484410e24084b0f0d8fd683f"
- }
- Frame {
- msec: 3216
- hash: "ed636ae433d185338ddbf7bffae731e1"
- }
- Frame {
- msec: 3232
- hash: "0e1f352c163ad8fe852c2e4857881d2f"
- }
- Frame {
- msec: 3248
- hash: "3c3b44481a6c2330a4a03076e35055f4"
- }
- Frame {
- msec: 3264
- hash: "6ea3210a929774aea84a7beb4a784842"
- }
- Frame {
- msec: 3280
- hash: "74dd747f9a64b19e5c5230c90ad3b642"
- }
- Frame {
- msec: 3296
- hash: "c02be4ebefd19f4c5e864e8bbab7c13e"
- }
- Frame {
- msec: 3312
- hash: "ce661af9085c833ec7d1fd66ebe67649"
- }
- Frame {
- msec: 3328
- hash: "4bf921874cfdc1b7d14e3a110b9e70a1"
- }
- Frame {
- msec: 3344
- hash: "f3e9cf8ac9e109e88d8c426fdcee28a9"
- }
- Frame {
- msec: 3360
- hash: "aa718a37f7ccf655d176adb799b5ddfb"
- }
- Frame {
- msec: 3376
- hash: "aa114a9676af508b4a106b21f7a2ed10"
- }
- Frame {
- msec: 3392
- hash: "a5bbbaebb61b83384f5be82a9c3181ba"
- }
- Frame {
- msec: 3408
- hash: "83deebf650b192de7c8a764d5379eeb4"
- }
- Frame {
- msec: 3424
- hash: "5b433e1f5b97b39b6e86c837f0b91f2b"
- }
- Frame {
- msec: 3440
- hash: "b5236be4e416f89a91eda7afbd75fc63"
- }
- Frame {
- msec: 3456
- hash: "1713477f5484a1b35686f2f4bff27612"
- }
- Frame {
- msec: 3472
- hash: "77f91f90744a23bbe172629f311d1a4e"
- }
- Frame {
- msec: 3488
- hash: "3963753a90d6cbf74bc21c9d06f4227b"
- }
- Frame {
- msec: 3504
- hash: "7f64804cd07a0ae63d0e3a1b9f8f8a84"
- }
- Frame {
- msec: 3520
- hash: "9ae6bc952da97239bfee88633637aeb7"
- }
- Frame {
- msec: 3536
- hash: "ba34cd0d57d5d027ad6c2de102676399"
- }
- Frame {
- msec: 3552
- hash: "c49632f9369aa901fcb702e76295c1e8"
- }
- Frame {
- msec: 3568
- hash: "3adab59e06a635a033564dfc8edc4877"
- }
- Frame {
- msec: 3584
- hash: "67643cbfb3c9864b7447a9a8e316b251"
- }
- Frame {
- msec: 3600
- hash: "d04d288cbf89e1ad3bbf25ffebd7a382"
- }
- Frame {
- msec: 3616
- hash: "e6c4d34b9b3de464ec0dcf8719b86313"
- }
- Frame {
- msec: 3632
- hash: "f73462d0fe19cbbd771f9f78d7bc4384"
- }
- Frame {
- msec: 3648
- hash: "6369f075a492240aee36eae8dcb2ace5"
- }
- Frame {
- msec: 3664
- hash: "1e9424a3b93833f8ae855c5f7877679a"
- }
- Frame {
- msec: 3680
- hash: "da274c1ae57d217ef4515326d32646b4"
- }
- Frame {
- msec: 3696
- hash: "1cbe684ba95e6ef635873f746e942f3d"
- }
- Frame {
- msec: 3712
- hash: "228e13c1d3dea6e666637de7cedd6dd4"
- }
- Frame {
- msec: 3728
- hash: "a3f8fec49fb88652e9339b621ea8b972"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 487; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3744
- hash: "7c3eb16bf4f66d2b9889c9d80aaae8b2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 488; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "1825d33eb9ae94a63d334d93e07ce9af"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 489; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3776
- hash: "306652a5a179cf23ee87c10571814f53"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 490; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3792
- hash: "3d3ba7cd968a1f91f7534cabd7cc034b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 490; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3808
- hash: "862f70151938a5d27db37a9f5dd53faa"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 491; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3824
- hash: "92b9283fa8b5642ce9bd14d875a12b75"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 491; y: 72
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3840
- hash: "294e6961316b028201657ab6b244559f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 493; y: 93
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3856
- image: "listview.4.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 493; y: 123
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3872
- hash: "6cdd764ee39789307e5e313bfbbb7765"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 494; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 494; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3888
- hash: "a88656d49e4636b18c4f6f4a0ab943d6"
- }
- Frame {
- msec: 3904
- hash: "f1ec9a65d5f8d2020db1b70bcd419417"
- }
- Frame {
- msec: 3920
- hash: "ca7d3d7d26445d13acd7fe4a2c5d1d4d"
- }
- Frame {
- msec: 3936
- hash: "90016f51541a15ba4b6265f6843a2998"
- }
- Frame {
- msec: 3952
- hash: "bdb992552a5c5707ddb372631f72e6a3"
- }
- Frame {
- msec: 3968
- hash: "af69ed47f0f40648d55af10c87866805"
- }
- Frame {
- msec: 3984
- hash: "33e77562bdf839ca1e969b918d90a07b"
- }
- Frame {
- msec: 4000
- hash: "2001b5ca444808a79c49adc9d03c960e"
- }
- Frame {
- msec: 4016
- hash: "e4186283e5fe0c1efb29eca6f59e9079"
- }
- Frame {
- msec: 4032
- hash: "dab82d0bbba66df3297712b42f74f25a"
- }
- Frame {
- msec: 4048
- hash: "b180ad3acdfd736276ef4d1de040bb55"
- }
- Frame {
- msec: 4064
- hash: "577445b0e4d6f8079830c2b87ce5829d"
- }
- Frame {
- msec: 4080
- hash: "45fffe51376abef4cb28842b392ab0b7"
- }
- Frame {
- msec: 4096
- hash: "fc14e3b2d16e1f078d223876ef71c81e"
- }
- Frame {
- msec: 4112
- hash: "4ef2b65280a00a6a4e66185f41479aef"
- }
- Frame {
- msec: 4128
- hash: "131181ce7ff2f4d4e69823fcb7a20755"
- }
- Frame {
- msec: 4144
- hash: "8e6db058e96dad9c4963b881083ab9bf"
- }
- Frame {
- msec: 4160
- hash: "e2d407b6dff40625790d4fd9e599b374"
- }
- Frame {
- msec: 4176
- hash: "631fe708fdcb1e4f4ea89b10da5db623"
- }
- Frame {
- msec: 4192
- hash: "e11831f37a3a1da78cbdc7604ddccd68"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 491; y: 193
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4208
- hash: "c2dccc4e890b2302edd413dcdb87b50b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 491; y: 189
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4224
- hash: "b4f6a6650dd779c8ad8696c23f44411a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 493; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4240
- hash: "ad913e53e63c030ffdf4560766722760"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 494; y: 182
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 495; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4256
- hash: "ef31f8a4d5bde5a2e308d19ee6d5e759"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 496; y: 174
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4272
- hash: "3ba07527f66e8bea5a8fb7647b0b4f3f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 496; y: 168
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4288
- hash: "70e5fe656f5fd843383964825690b678"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 497; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 497; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4304
- hash: "b7d8738be4cd6caa63dbecdb0f810a2f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 497; y: 147
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4320
- hash: "d6312191f9d7bbddc07f9253d8a93469"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 497; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4336
- hash: "b182da64886cf4f444296e5fde26701e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 497; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4352
- hash: "ebefef14b6fb990e0c6900884528bbd3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 497; y: 120
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4368
- hash: "9a3451ed091b1bb6b975a9c5506b1ea4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 497; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4384
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 498; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4400
- hash: "eaaf9ea1d7fcf4a2a9dd58b1b5bb3cae"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 498; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4416
- hash: "7ca8e3d76cf913d85f84f0b96acde829"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 498; y: 110
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4432
- hash: "7cfef56b24a552c6d4ecb3d0b88a1d08"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 498; y: 109
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 498; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4448
- hash: "d032b257259810b4fe514c63ca5c9e4b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 498; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4464
- hash: "568f6a57e6f1644b0dc245d03a1d7b85"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 499; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4480
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4496
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4512
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4528
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4544
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4560
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4576
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4592
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4608
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4624
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4640
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4656
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4672
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4688
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4704
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4720
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4736
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4752
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4768
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4784
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4800
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4816
- image: "listview.5.png"
- }
- Frame {
- msec: 4832
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Frame {
- msec: 4848
- hash: "5cb4cf2c527d821db2a5072dd3702653"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 499; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 498; y: 107
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4864
- hash: "d48ecbd0661e08b2117fe2fd96ffeb2c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 497; y: 110
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4880
- hash: "7cfef56b24a552c6d4ecb3d0b88a1d08"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 496; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4896
- hash: "5b12e9d17d9d464b055601db9cf0da44"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 495; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4912
- hash: "25333e1f0cc9cfc664fd7369af544c06"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 494; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4928
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 4944
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 4960
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 4976
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 4992
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5008
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5024
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5040
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5056
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 494; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5072
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5088
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5104
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5120
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5136
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5152
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5168
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5184
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5200
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5216
- hash: "04290d8d62436c8a812f886e0a56ec1b"
- }
- Frame {
- msec: 5232
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5248
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5264
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5280
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5296
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5312
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5328
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5344
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5360
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5376
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5392
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5408
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5424
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5440
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5456
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5472
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5488
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5504
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5520
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5536
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5552
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5568
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5584
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5600
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5616
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5632
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5648
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5664
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5680
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5696
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5712
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5728
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5744
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5760
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5776
- image: "listview.6.png"
- }
- Frame {
- msec: 5792
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5808
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5824
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5840
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5856
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5872
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5888
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5904
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5920
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5936
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5952
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5968
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 5984
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 6000
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 6016
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 6032
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 6048
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 6064
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 6080
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 6096
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 6112
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
- Frame {
- msec: 6128
- hash: "dbd87bf02d698b7f053d307ef0c98452"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/enforcerange.qml b/tests/auto/declarative/qmlvisual/ListView/enforcerange.qml
deleted file mode 100644
index a796be73ab..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/enforcerange.qml
+++ /dev/null
@@ -1,31 +0,0 @@
-import QtQuick 1.0
-
-Item {
- id: document
- width: 200; height: 200
-
- ListView {
- id: serviceListView
- anchors.fill: parent
- model: 100
-
- preferredHighlightBegin: 90
- preferredHighlightEnd: 90
-
- highlightRangeMode: ListView.StrictlyEnforceRange
-
- delegate: Component {
- Item {
- height: 15 + ((serviceListView.currentIndex == index) ? 20 : 0)
- width: 200
- Rectangle { width: 180; height: parent.height - 4; x: 10; y: 2; color: "red" }
- }
- }
- }
-
- Rectangle {
- y: 90; width: 200; height: 35
- border.color: "black"
- color: "transparent"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/itemlist.qml b/tests/auto/declarative/qmlvisual/ListView/itemlist.qml
deleted file mode 100644
index 7e5d634726..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/itemlist.qml
+++ /dev/null
@@ -1,40 +0,0 @@
-// This example demonstrates placing items in a view using
-// a VisualItemModel
-
-import QtQuick 1.0
-
-Rectangle {
- color: "lightgray"
- width: 240
- height: 320
-
- VisualItemModel {
- id: itemModel
- objectName: "itemModel"
- Rectangle {
- objectName: "item1"
- height: view.height; width: view.width; color: "#FFFEF0"
- }
- Rectangle {
- objectName: "item2"
- height: view.height; width: view.width; color: "#F0FFF7"
- }
- Rectangle {
- objectName: "item3"
- height: view.height; width: view.width; color: "#F4F0FF"
- }
- }
-
- ListView {
- id: view
- objectName: "view"
- anchors.fill: parent
- anchors.bottomMargin: 30
- model: itemModel
- preferredHighlightBegin: 0
- preferredHighlightEnd: 0
- highlightRangeMode: "StrictlyEnforceRange"
- orientation: ListView.Horizontal
- flickDeceleration: 2000
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/ListView/listview.qml b/tests/auto/declarative/qmlvisual/ListView/listview.qml
deleted file mode 100644
index 6171c75a6c..0000000000
--- a/tests/auto/declarative/qmlvisual/ListView/listview.qml
+++ /dev/null
@@ -1,86 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- id: root
- property int current: 0
- width: 600; height: 300; color: "white"
-
- ListModel {
- id: myModel
- ListElement {
- itemColor: "red"
- }
- ListElement {
- itemColor: "green"
- }
- ListElement {
- itemColor: "blue"
- }
- ListElement {
- itemColor: "orange"
- }
- ListElement {
- itemColor: "brown"
- }
- ListElement {
- itemColor: "yellow"
- }
- ListElement {
- itemColor: "purple"
- }
- ListElement {
- itemColor: "darkred"
- }
- ListElement {
- itemColor: "darkblue"
- }
- }
-
- Component {
- id: myDelegate
- Item {
- width: 200; height: 50
- Rectangle {
- x: 5; y : 5
- width: 190; height: 40
- opacity: 0.5
- color: itemColor
- }
- }
- }
-
- Component {
- id: myHighlight
- Rectangle { width: 200; height: 50; color: "black" }
- }
-
- ListView {
- id: list1
- width: 200; height: parent.height
- model: myModel; delegate: myDelegate
- highlight: myHighlight
- currentIndex: root.current
- onCurrentIndexChanged: root.current = currentIndex
- focus: true
- }
- ListView {
- id: list2
- x: 200; width: 200; height: parent.height
- model: myModel; delegate: myDelegate; highlight: myHighlight
- preferredHighlightBegin: 80
- preferredHighlightEnd: 220
- highlightRangeMode: "ApplyRange"
- currentIndex: root.current
- }
- ListView {
- id: list3
- x: 400; width: 200; height: parent.height
- model: myModel; delegate: myDelegate; highlight: myHighlight
- currentIndex: root.current
- onCurrentIndexChanged: root.current = currentIndex
- preferredHighlightBegin: 125
- preferredHighlightEnd: 125
- highlightRangeMode: "StrictlyEnforceRange"
- flickDeceleration: 1000
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png
deleted file mode 100644
index 85f86916b8..0000000000
--- a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.1.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.1.png
deleted file mode 100644
index 3cbb470e0e..0000000000
--- a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.2.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.2.png
deleted file mode 100644
index 521e818775..0000000000
--- a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.3.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.3.png
deleted file mode 100644
index f5e76401dc..0000000000
--- a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.4.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.4.png
deleted file mode 100644
index 7b0c620fdf..0000000000
--- a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.5.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.5.png
deleted file mode 100644
index 8c40a7a757..0000000000
--- a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.6.png b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.6.png
deleted file mode 100644
index 8dfcf7bad8..0000000000
--- a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml b/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml
deleted file mode 100644
index af9e005c2d..0000000000
--- a/tests/auto/declarative/qmlvisual/Package_Views/data/packageviews.qml
+++ /dev/null
@@ -1,1767 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "packageviews.0.png"
- }
- Frame {
- msec: 32
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 48
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 64
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 80
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 96
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 112
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 128
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 144
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 160
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 176
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 192
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 208
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 224
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 240
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 256
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 272
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 288
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 304
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 320
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 336
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 352
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 368
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 384
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 400
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 416
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 432
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 448
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 464
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 480
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 496
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 512
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 528
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 544
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 560
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 576
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 592
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 608
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 624
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 640
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 656
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 672
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 688
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 704
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 720
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 736
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 752
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 768
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 784
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 26; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 800
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 816
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 832
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 848
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 26; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 864
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 880
- hash: "ae75402b2fa678a20c32d743e2b297a0"
- }
- Frame {
- msec: 896
- hash: "76a9721ada8280925ff32e7207c01944"
- }
- Frame {
- msec: 912
- hash: "87fb13adce4e2af05a7ad2f8cd18bad9"
- }
- Frame {
- msec: 928
- hash: "cd7be3a5b9bae876998770dc52dbcd86"
- }
- Frame {
- msec: 944
- hash: "3ba0b907dad0bfa9b20337d41661030b"
- }
- Frame {
- msec: 960
- hash: "9748e4da669f474bf10abfe7a9c013fd"
- }
- Frame {
- msec: 976
- image: "packageviews.1.png"
- }
- Frame {
- msec: 992
- hash: "5af677254d12dc96b82cde90c5a65140"
- }
- Frame {
- msec: 1008
- hash: "72cb4e75acb87de293a3cb1872eb946b"
- }
- Frame {
- msec: 1024
- hash: "9b057090349c0c544036a33a60710920"
- }
- Frame {
- msec: 1040
- hash: "ae19cf81092e75979b6471c0b05541cf"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 48; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1056
- hash: "0f42c19fee319bc8c27a89e9692c5cd9"
- }
- Frame {
- msec: 1072
- hash: "865e19e35f361b08e6e844aa88d149eb"
- }
- Frame {
- msec: 1088
- hash: "d5fcf7bd78da8918a3512a76189c7202"
- }
- Frame {
- msec: 1104
- hash: "d2a6b42c2a3f7ca9eb35acc47f1faaf6"
- }
- Frame {
- msec: 1120
- hash: "1388e856eb04fc24091c94406f4b5118"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 48; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1136
- hash: "1388e856eb04fc24091c94406f4b5118"
- }
- Frame {
- msec: 1152
- hash: "d529b6dcf510392488b370f6cfb87b3c"
- }
- Frame {
- msec: 1168
- hash: "a50b1f2869c95f97a194a95581fa7be9"
- }
- Frame {
- msec: 1184
- hash: "4bbee959f95548c3e76fb60ad363c184"
- }
- Frame {
- msec: 1200
- hash: "5ec0185f4479377579822f92eb7f375a"
- }
- Frame {
- msec: 1216
- hash: "263d09b9447d942c6c048139164d4427"
- }
- Frame {
- msec: 1232
- hash: "291cc81fc3f82bca46db4e4403f39d49"
- }
- Frame {
- msec: 1248
- hash: "c212f98ededa9ce7fc0fec697116a8e2"
- }
- Frame {
- msec: 1264
- hash: "4309ef22d0c36d28a462ab2d4bf2cabd"
- }
- Frame {
- msec: 1280
- hash: "f899f861c569416708c6754d821239e9"
- }
- Frame {
- msec: 1296
- hash: "ed5ec237020ff06f258ce6e1b31e5eb8"
- }
- Frame {
- msec: 1312
- hash: "98f3fe1c211d4f7bdc47b4a485226f14"
- }
- Frame {
- msec: 1328
- hash: "40e376d37a85d225c46579b8f7c27159"
- }
- Frame {
- msec: 1344
- hash: "cc8a178bf0cfc285185d17b37722bf41"
- }
- Frame {
- msec: 1360
- hash: "b612439873d0eeb015d31cccd8e5a436"
- }
- Frame {
- msec: 1376
- hash: "48c436165872098b474d0c691df11473"
- }
- Frame {
- msec: 1392
- hash: "48c436165872098b474d0c691df11473"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 44; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1408
- hash: "48c436165872098b474d0c691df11473"
- }
- Frame {
- msec: 1424
- hash: "48c436165872098b474d0c691df11473"
- }
- Frame {
- msec: 1440
- hash: "48c436165872098b474d0c691df11473"
- }
- Frame {
- msec: 1456
- hash: "48c436165872098b474d0c691df11473"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 44; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1472
- hash: "48c436165872098b474d0c691df11473"
- }
- Frame {
- msec: 1488
- hash: "33cb50c11326c0589c7cc43ba6193e03"
- }
- Frame {
- msec: 1504
- hash: "3f7e7534ccd7105762c78afab5ab997d"
- }
- Frame {
- msec: 1520
- hash: "53b23d3eb2aaa1b21e4abaf9c0bfc7f2"
- }
- Frame {
- msec: 1536
- hash: "609b37b12154291a28961210e81049fb"
- }
- Frame {
- msec: 1552
- hash: "33cc6e17d087c251381ecf1b4cb9887c"
- }
- Frame {
- msec: 1568
- hash: "dcb3e716035ca3f43895fda99c27e0d8"
- }
- Frame {
- msec: 1584
- hash: "56bb753199873fac4ed9f30682bd1a3c"
- }
- Frame {
- msec: 1600
- hash: "8b744c5cbf6154b73bd6c4fe6b087f0a"
- }
- Frame {
- msec: 1616
- hash: "f2d5996d7fd5391a4d96493e9ef6a637"
- }
- Frame {
- msec: 1632
- hash: "4407a05b64c68d43b29124df1f0d8f44"
- }
- Frame {
- msec: 1648
- hash: "b71e43a8f7aa7a58cea80629b782a972"
- }
- Frame {
- msec: 1664
- hash: "cca961a04dfdf9da8282219f2022fd2e"
- }
- Frame {
- msec: 1680
- hash: "f3349a7ae7d7a97a6665476244d46dd6"
- }
- Frame {
- msec: 1696
- hash: "78fc6123a10c027faa08dc2ff8318acc"
- }
- Frame {
- msec: 1712
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1728
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1744
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1760
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1776
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1792
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1808
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1824
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1840
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1856
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1872
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1888
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1904
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1920
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1936
- image: "packageviews.2.png"
- }
- Frame {
- msec: 1952
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1968
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 1984
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 181; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2000
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 2016
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Frame {
- msec: 2032
- hash: "6056cb02b921b56c63696d7fe9fe90fa"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 181; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2048
- hash: "9f94c38547da1855e4bd3ae498aed705"
- }
- Frame {
- msec: 2064
- hash: "783f73da3736a2c554c8d749ce0522c0"
- }
- Frame {
- msec: 2080
- hash: "9a0e1c2bed75874381e4b1ce275d0f68"
- }
- Frame {
- msec: 2096
- hash: "e2ce85192977e6422c89190b3cea4518"
- }
- Frame {
- msec: 2112
- hash: "ba9c80ff0ed723bca702cb6b4c6dfb76"
- }
- Frame {
- msec: 2128
- hash: "7e194db1b86bc7346248d2acf34af286"
- }
- Frame {
- msec: 2144
- hash: "cdd013bb8ee5880b16449efc99dd3ae5"
- }
- Frame {
- msec: 2160
- hash: "3ef7d0fb43c2a1c1398f1152573974e0"
- }
- Frame {
- msec: 2176
- hash: "176d1a86257cc85315dac4ecfe33f543"
- }
- Frame {
- msec: 2192
- hash: "6def1267e573217a19e7b8e2cf6d7b6c"
- }
- Frame {
- msec: 2208
- hash: "f679db34d99e24cda2e41c2afeaf551e"
- }
- Frame {
- msec: 2224
- hash: "54a27193c5e59cd7220b65d8fbbd9061"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 112; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2240
- hash: "171db3d0bf50062a0d7edd8e4c174024"
- }
- Frame {
- msec: 2256
- hash: "9a7d293dc455e1ef0d18f44c3db7eed7"
- }
- Frame {
- msec: 2272
- hash: "83bef2586d5abeb0ac8765d62135d308"
- }
- Frame {
- msec: 2288
- hash: "56fed2e01cc8a6b9ccbf15731d4e533b"
- }
- Frame {
- msec: 2304
- hash: "10174f2574c51155b8ee77ae545ac76d"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 112; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2320
- hash: "107928ffebd936080325a1f4e39a0ac0"
- }
- Frame {
- msec: 2336
- hash: "107928ffebd936080325a1f4e39a0ac0"
- }
- Frame {
- msec: 2352
- hash: "d46e040f85295e66d8b22185be553d3e"
- }
- Frame {
- msec: 2368
- hash: "3368a34c316486a779d62d143588b425"
- }
- Frame {
- msec: 2384
- hash: "8f4cd4223c05e1b06a688c5eabc2a854"
- }
- Frame {
- msec: 2400
- hash: "b576bf54b4bae38e8af6d922b3c73463"
- }
- Frame {
- msec: 2416
- hash: "a3a238f5bf182ec6afc398569fd51ac7"
- }
- Frame {
- msec: 2432
- hash: "a31329ba054a6fe144c030cffb5bd401"
- }
- Frame {
- msec: 2448
- hash: "0a4b96a93e62359b6003daa703af1a5f"
- }
- Frame {
- msec: 2464
- hash: "a16f126d874d957b879f45d36e88df34"
- }
- Frame {
- msec: 2480
- hash: "89735c5b14f075b8f65533d16b3f714a"
- }
- Frame {
- msec: 2496
- hash: "5d67dac0c4d2cf60e4cb717f4e4bc25f"
- }
- Frame {
- msec: 2512
- hash: "dbfcc86e621a140466dd2a9215087e81"
- }
- Frame {
- msec: 2528
- hash: "9f8dfa788048466dc07463e83d0377ff"
- }
- Frame {
- msec: 2544
- hash: "021e1edec94a1909790a4acdbbc71fd8"
- }
- Frame {
- msec: 2560
- hash: "f16be9ff4aba07708d469d6cfb80f1c2"
- }
- Frame {
- msec: 2576
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2592
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2608
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2624
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2640
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2656
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2672
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2688
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2704
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2720
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2736
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 116; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2752
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2768
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2784
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Frame {
- msec: 2800
- hash: "1ab35df24a27349264ec282eb1f53018"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 116; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2816
- hash: "a0aa5583886efc9bb0571bbb02fdb051"
- }
- Frame {
- msec: 2832
- hash: "a0aa5583886efc9bb0571bbb02fdb051"
- }
- Frame {
- msec: 2848
- hash: "edec25fdce2e05c0456434be4b8fad84"
- }
- Frame {
- msec: 2864
- hash: "0c2061fc908c98980404b9e08acdc2f2"
- }
- Frame {
- msec: 2880
- hash: "7bb02b032c1dcb4a7b3e6604ea5a8a8d"
- }
- Frame {
- msec: 2896
- image: "packageviews.3.png"
- }
- Frame {
- msec: 2912
- hash: "3a80012f6ca448fc30db70e9bcb23ddc"
- }
- Frame {
- msec: 2928
- hash: "22a68838e9f6039e782facce7cfe0c9b"
- }
- Frame {
- msec: 2944
- hash: "243fcc73e46db96ab6a91748adeff1a9"
- }
- Frame {
- msec: 2960
- hash: "433bf03a821da5641909785b4c22cb55"
- }
- Frame {
- msec: 2976
- hash: "66be8aa73b1e7173d899df3c0b9072a6"
- }
- Frame {
- msec: 2992
- hash: "d7e563c1a1db45865794351daea5eb08"
- }
- Frame {
- msec: 3008
- hash: "cc4345c2d4d0d7748c352a22f63030cb"
- }
- Frame {
- msec: 3024
- hash: "382172adf3a339cac16a3e185ef4bb05"
- }
- Frame {
- msec: 3040
- hash: "6019a3eac1825acdeac24d39c898d506"
- }
- Frame {
- msec: 3056
- hash: "ac4b9427592a6fe7585625de8d1bff96"
- }
- Frame {
- msec: 3072
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 3088
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 3104
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 3120
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 3136
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 3152
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 3168
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 80; y: 189
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3184
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 3200
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 3216
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 3232
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 80; y: 189
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3248
- hash: "7cf95f1bc67a90c0df788787589a75a9"
- }
- Frame {
- msec: 3264
- hash: "a623e09cddb4304db658e30aef433dd8"
- }
- Frame {
- msec: 3280
- hash: "4dce74fbb6649138a6ea6c288818fda5"
- }
- Frame {
- msec: 3296
- hash: "2356d6d1f8481cf60542126f197ee0b1"
- }
- Frame {
- msec: 3312
- hash: "7553601e70a7ccc3c60306fcf4999bed"
- }
- Frame {
- msec: 3328
- hash: "bc86afd210d18dc68b433d70705b6603"
- }
- Frame {
- msec: 3344
- hash: "8538d87120dd14958f92b81ceff304a3"
- }
- Frame {
- msec: 3360
- hash: "2a8d299ff16589069d493bbab2ceda53"
- }
- Frame {
- msec: 3376
- hash: "9f92b838c36e46d61a78f9013f04b580"
- }
- Frame {
- msec: 3392
- hash: "7e6710b5491d5b9ad9a84691eadaa66c"
- }
- Frame {
- msec: 3408
- hash: "1b165e39ff01747d5e9ad0d8769c8ee9"
- }
- Frame {
- msec: 3424
- hash: "f78ad1eeb030eb58f8140da041acf4cd"
- }
- Frame {
- msec: 3440
- hash: "f009dcb6b085ae38a45206f35ab37754"
- }
- Frame {
- msec: 3456
- hash: "371dd67bf5a16ea085a256dd2e2583f9"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 75; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3472
- hash: "9a0606cd6930b3f992f0533f3f6a0f7a"
- }
- Frame {
- msec: 3488
- hash: "1d538ccb1874fe2ddb410d48ca668d74"
- }
- Frame {
- msec: 3504
- hash: "71e08cb1eced66950e5893306b3043e7"
- }
- Frame {
- msec: 3520
- hash: "71e08cb1eced66950e5893306b3043e7"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 75; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3536
- hash: "71e08cb1eced66950e5893306b3043e7"
- }
- Frame {
- msec: 3552
- hash: "2da0d9bb50d97ca78ee56f3c528a7db5"
- }
- Frame {
- msec: 3568
- hash: "7f5105df4d41a6739ce13d69451d6059"
- }
- Frame {
- msec: 3584
- hash: "8d171773d643ca5bfb095208efe841a9"
- }
- Frame {
- msec: 3600
- hash: "8aa93bddb58d0533b03d2b7fc6efb839"
- }
- Frame {
- msec: 3616
- hash: "26e2bcff7c3de9995e29fd8a06db4139"
- }
- Frame {
- msec: 3632
- hash: "94fe4626d8f978649bf200bf79885ec0"
- }
- Frame {
- msec: 3648
- hash: "61e92064d9da2db6ea0adfdffaad81f6"
- }
- Frame {
- msec: 3664
- hash: "54d5845c08eb5cc9263c84146fd9fcd2"
- }
- Frame {
- msec: 3680
- hash: "d10a128980a46713093899696110d81e"
- }
- Frame {
- msec: 3696
- hash: "ff6301533f4fb29194f20a4520824030"
- }
- Frame {
- msec: 3712
- hash: "598b6e7c6c6c0de77b4793d1f68beea6"
- }
- Frame {
- msec: 3728
- hash: "e3d123e179a6930e1bc1864095621607"
- }
- Frame {
- msec: 3744
- hash: "b1bb4c350969f579630680803e622662"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 72; y: 147
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "3dd276bb96dd3a5ef96095e0b8251c05"
- }
- Frame {
- msec: 3776
- hash: "144402c1397313fb5d13b4972bb3a450"
- }
- Frame {
- msec: 3792
- hash: "144402c1397313fb5d13b4972bb3a450"
- }
- Frame {
- msec: 3808
- hash: "144402c1397313fb5d13b4972bb3a450"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 72; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 72; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3824
- hash: "144402c1397313fb5d13b4972bb3a450"
- }
- Frame {
- msec: 3840
- hash: "6dbc00069eca813c20731afdf0d25e35"
- }
- Frame {
- msec: 3856
- image: "packageviews.4.png"
- }
- Frame {
- msec: 3872
- hash: "1f7a173f70f04adcc28481cfa40ad82e"
- }
- Frame {
- msec: 3888
- hash: "5189e3a7f4c93d6095d526ee4583adea"
- }
- Frame {
- msec: 3904
- hash: "03ef5fa51d7455e58c34c52be2b2625b"
- }
- Frame {
- msec: 3920
- hash: "6589088e4efab3426d5b3c08f885fcc4"
- }
- Frame {
- msec: 3936
- hash: "35593c99aa3f7040efe6420ce90426f7"
- }
- Frame {
- msec: 3952
- hash: "61e13ba4ed7251e607ae299841b55fea"
- }
- Frame {
- msec: 3968
- hash: "7bc5f663e54b6ac10b7aa8787de0483a"
- }
- Frame {
- msec: 3984
- hash: "141e2fa188fabeef8587770b2d18538c"
- }
- Frame {
- msec: 4000
- hash: "5f59ea38bb55096d6ca50ffb9e9706ec"
- }
- Frame {
- msec: 4016
- hash: "9ff31c7768afa3eba211e862bbfddda1"
- }
- Frame {
- msec: 4032
- hash: "f8731aa264c5e534f13f4fa89fc320a1"
- }
- Frame {
- msec: 4048
- hash: "87bc86979d05432f8ad16ca1f0537fa0"
- }
- Frame {
- msec: 4064
- hash: "749f93235f677af13d162aacfde3840a"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 69; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4080
- hash: "3af211e45026670fef0e5b391bad3455"
- }
- Frame {
- msec: 4096
- hash: "3af211e45026670fef0e5b391bad3455"
- }
- Frame {
- msec: 4112
- hash: "3af211e45026670fef0e5b391bad3455"
- }
- Frame {
- msec: 4128
- hash: "3af211e45026670fef0e5b391bad3455"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4144
- hash: "3af211e45026670fef0e5b391bad3455"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 70; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4160
- hash: "3af211e45026670fef0e5b391bad3455"
- }
- Frame {
- msec: 4176
- hash: "de1b3a0b2ffb02f4969ce532bb7d6ad9"
- }
- Frame {
- msec: 4192
- hash: "1e0bb98146f64975c4d5b8f8ef65319c"
- }
- Frame {
- msec: 4208
- hash: "3540ee1fc403cc923100888e3bd15168"
- }
- Frame {
- msec: 4224
- hash: "8f8178db769ed067e40c06ec2a8f3e3f"
- }
- Frame {
- msec: 4240
- hash: "18310df1f8f735313e71739c58b2e42d"
- }
- Frame {
- msec: 4256
- hash: "0797a57080ad60f00a185ad7eecbc40f"
- }
- Frame {
- msec: 4272
- hash: "80cffb466c0e8947f775a4b7a677cd20"
- }
- Frame {
- msec: 4288
- hash: "3f80ed589a282924e1dd4fbbd99078b0"
- }
- Frame {
- msec: 4304
- hash: "7368b2da0c37d4b212fff8222244d413"
- }
- Frame {
- msec: 4320
- hash: "7fb81e12fc1cb3e6f08a4bd0af23f40d"
- }
- Frame {
- msec: 4336
- hash: "6677c15df6babf38036d4083c63c2684"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 67; y: 89
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4352
- hash: "106d90e84bd5b88c5df048ffc717e843"
- }
- Frame {
- msec: 4368
- hash: "ce69c7e561e9f0c1fd5f3dba2ffda3e8"
- }
- Frame {
- msec: 4384
- hash: "63b2956e9bad879bef156a318162656c"
- }
- Frame {
- msec: 4400
- hash: "e9f02812bdd7071d1ceb71e0c2195f3a"
- }
- Frame {
- msec: 4416
- hash: "e9f02812bdd7071d1ceb71e0c2195f3a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4432
- hash: "e9f02812bdd7071d1ceb71e0c2195f3a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 87
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 67; y: 87
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4448
- hash: "e9f02812bdd7071d1ceb71e0c2195f3a"
- }
- Frame {
- msec: 4464
- hash: "e33d1f7d03ec85600cb61896c66fd9ca"
- }
- Frame {
- msec: 4480
- hash: "72347f42ad925abdc614244b2ec01e7a"
- }
- Frame {
- msec: 4496
- hash: "5fbd0e2ce5e2fe609dfc5e5643bfbc8a"
- }
- Frame {
- msec: 4512
- hash: "4bcb24b700ac09da7387738bce36def5"
- }
- Frame {
- msec: 4528
- hash: "7c489062131ef9fcdfe765cd0361361b"
- }
- Frame {
- msec: 4544
- hash: "c4c1834200b2b7b3eb38b20d7147b8ee"
- }
- Frame {
- msec: 4560
- hash: "49994b7471ec620ff52e5ba516bbb5d4"
- }
- Frame {
- msec: 4576
- hash: "e1cf4e92e291b8509a8eb8a84f70dcad"
- }
- Frame {
- msec: 4592
- hash: "9c7d6d53aa6089712389b1c2b4207d15"
- }
- Frame {
- msec: 4608
- hash: "408731f3b11d888fff1ef9340ad1c568"
- }
- Frame {
- msec: 4624
- hash: "d34f3092b84dea762adf7cf86c80abc6"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 67; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4640
- hash: "d0202d3154721c968301e4fdb759b5d2"
- }
- Frame {
- msec: 4656
- hash: "89601cb9b82465f6ae96156b7e259e70"
- }
- Frame {
- msec: 4672
- hash: "7c775a699646acf45f26dea5bd5db783"
- }
- Frame {
- msec: 4688
- hash: "be285c318afaeb932a2fd50fdc357813"
- }
- Frame {
- msec: 4704
- hash: "5ddee39853aa1b8d1be287c86e5b763c"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 67; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4720
- hash: "5ddee39853aa1b8d1be287c86e5b763c"
- }
- Frame {
- msec: 4736
- hash: "8386713865c12636ce442cd31eacb8ba"
- }
- Frame {
- msec: 4752
- hash: "9f4df793b3b6320e238b451e35183b9f"
- }
- Frame {
- msec: 4768
- hash: "3cd41f6ab2303dd666269cca13dc95e3"
- }
- Frame {
- msec: 4784
- hash: "504a3dd9018c3c725a92a9d6e84743fc"
- }
- Frame {
- msec: 4800
- hash: "a703cbbef38b49be2d3033163ad450e7"
- }
- Frame {
- msec: 4816
- image: "packageviews.5.png"
- }
- Frame {
- msec: 4832
- hash: "c4f7130484f17854eace9e541c92207a"
- }
- Frame {
- msec: 4848
- hash: "406a0371c7366fadefcbae7d428d1879"
- }
- Frame {
- msec: 4864
- hash: "f9d6128c4fe60d95a001642cb80ccb99"
- }
- Frame {
- msec: 4880
- hash: "2fb6886550a0eb7927274cd9cfc46819"
- }
- Frame {
- msec: 4896
- hash: "dd4ac1eb6d18bc267b2f39d6d291a8bd"
- }
- Frame {
- msec: 4912
- hash: "7f1e1114fe65b7a54364a04ad7697d4c"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 66; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4928
- hash: "60a4882d0384489465fec8660933c29c"
- }
- Frame {
- msec: 4944
- hash: "2330e35830fb707c9d9074b54cd5c7f6"
- }
- Frame {
- msec: 4960
- hash: "02c275412e380c7f2878bc1f01e2850a"
- }
- Frame {
- msec: 4976
- hash: "02c275412e380c7f2878bc1f01e2850a"
- }
- Frame {
- msec: 4992
- hash: "02c275412e380c7f2878bc1f01e2850a"
- }
- Frame {
- msec: 5008
- hash: "02c275412e380c7f2878bc1f01e2850a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 66; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5024
- hash: "02c275412e380c7f2878bc1f01e2850a"
- }
- Frame {
- msec: 5040
- hash: "a304ddc3e20220f7ed06aeae22589927"
- }
- Frame {
- msec: 5056
- hash: "8ef8e13dff7e5f12c1d0a7a0e438a24f"
- }
- Frame {
- msec: 5072
- hash: "ef7ef97e56c6b7579e11022861dd3eb5"
- }
- Frame {
- msec: 5088
- hash: "133613dd5ac9242ce0b6926986cd384a"
- }
- Frame {
- msec: 5104
- hash: "eb5125c97b9deca07e999ec7e78986b3"
- }
- Frame {
- msec: 5120
- hash: "123c37efefdc1c8e6b27b7eff3bffff8"
- }
- Frame {
- msec: 5136
- hash: "8443d904bcb63ab2d14cbb5a2e2a8fe7"
- }
- Frame {
- msec: 5152
- hash: "379826db02c7e5cb8ab9007a419e34f9"
- }
- Frame {
- msec: 5168
- hash: "672d45cdc24a2e1286956e3ce00cab56"
- }
- Frame {
- msec: 5184
- hash: "cbaa7c4f52b2ebc1176a3bbe3e029487"
- }
- Frame {
- msec: 5200
- hash: "35d70b84722fecd08b1c03f01c5a9895"
- }
- Frame {
- msec: 5216
- hash: "65c1d1c4fc845229853836afd2e7a3c4"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 68; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5232
- hash: "a238ffd4f6de5ca91bcf0e629407ad11"
- }
- Frame {
- msec: 5248
- hash: "42322853eef74b9b849d81d7aa2ea4af"
- }
- Frame {
- msec: 5264
- hash: "25fb0c4c04d9dcda865a8b254970330c"
- }
- Frame {
- msec: 5280
- hash: "565891a25190705df8b424e1e5e73ddd"
- }
- Frame {
- msec: 5296
- hash: "565891a25190705df8b424e1e5e73ddd"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 68; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5312
- hash: "565891a25190705df8b424e1e5e73ddd"
- }
- Frame {
- msec: 5328
- hash: "39e05f846071d4ec9a1413922a928995"
- }
- Frame {
- msec: 5344
- hash: "7040400386930b34d989df4cdf36d125"
- }
- Frame {
- msec: 5360
- hash: "2d3c081a1bbb94952becfd486d455de5"
- }
- Frame {
- msec: 5376
- hash: "7a0719f22b0b74e4139ada77ca8d38d6"
- }
- Frame {
- msec: 5392
- hash: "40d070285de7865fa8f415ff06be69d3"
- }
- Frame {
- msec: 5408
- hash: "875ba6c617a4b5d157c747ead185247c"
- }
- Frame {
- msec: 5424
- hash: "2d0ef679259f503d42cc2267b8d95a4e"
- }
- Frame {
- msec: 5440
- hash: "b2aeceddd4d36e600f617578d64a4c32"
- }
- Frame {
- msec: 5456
- hash: "a065ec04aff7a7c164ed8c152130589f"
- }
- Frame {
- msec: 5472
- hash: "a09d94403ce40a8afb12e390aea3d848"
- }
- Frame {
- msec: 5488
- hash: "34b116228527a669dadbfc75f309d045"
- }
- Frame {
- msec: 5504
- hash: "5bee91cba46537ddaefe87f4e118d3d5"
- }
- Frame {
- msec: 5520
- hash: "d0d8bd32268f3e3a62a08514f0d53799"
- }
- Frame {
- msec: 5536
- hash: "b90c3915255d3f98700f8af0181fa6ee"
- }
- Frame {
- msec: 5552
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5568
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5584
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5600
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5616
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5632
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5648
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5664
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5680
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5696
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5712
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5728
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5744
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5760
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5776
- image: "packageviews.6.png"
- }
- Frame {
- msec: 5792
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5808
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5824
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5840
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5856
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5872
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5888
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5904
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5920
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5936
- hash: "8d52a504170547407fad6d8785b7199b"
- }
- Frame {
- msec: 5952
- hash: "8d52a504170547407fad6d8785b7199b"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/Package_Views/packageviews.qml b/tests/auto/declarative/qmlvisual/Package_Views/packageviews.qml
deleted file mode 100644
index a9de3f87d4..0000000000
--- a/tests/auto/declarative/qmlvisual/Package_Views/packageviews.qml
+++ /dev/null
@@ -1,82 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- id: root
- width: 200
- height: 200
- color: "black"
-
- VisualDataModel {
- id: model
- model: ListModel {
- ListElement { itemColor: "red" }
- ListElement { itemColor: "green" }
- ListElement { itemColor: "blue" }
- ListElement { itemColor: "orange" }
- ListElement { itemColor: "purple" }
- ListElement { itemColor: "yellow" }
- ListElement { itemColor: "slategrey" }
- ListElement { itemColor: "cyan" }
- }
- delegate: Package {
- Rectangle {
- id: listItem; Package.name: "list"; width:root.width/2; height: 25; color: "transparent"; border.color: "white"
- MouseArea {
- anchors.fill: parent
- onClicked: myState.state = myState.state == "list" ? "grid" : "list"
- }
- }
- Rectangle {
- id: gridItem; Package.name: "grid"; width:50; height: 50; color: "transparent"; border.color: "white"
- MouseArea {
- anchors.fill: parent
- onClicked: myState.state = myState.state == "list" ? "grid" : "list"
- }
- }
- Rectangle { id: myContent; width:50; height: 50; color: itemColor }
-
- StateGroup {
- id: myState
- state: "list"
- states: [
- State {
- name: "list"
- ParentChange { target: myContent; parent: listItem }
- PropertyChanges { target: myContent; x: 0; y: 0; width: listItem.width; height: listItem.height }
- },
- State {
- name: "grid"
- ParentChange { target: myContent; parent: gridItem }
- PropertyChanges { target: myContent; x: 0; y: 0; width: gridItem.width; height: gridItem.height }
- }
- ]
-
- transitions: [
- Transition {
- from: "*"; to: "*"
- SequentialAnimation {
- ParentAnimation{
- NumberAnimation { properties: "x,y,width,height"; easing.type: "InOutQuad" }
- }
- }
- }
- ]
- }
- }
- }
-
- ListView {
- width: parent.width/2
- height: parent.height
- model: model.parts.list
- }
-
- GridView {
- x: parent.width/2
- width: parent.width/2
- cellWidth: 50
- cellHeight: 50
- height: parent.height
- model: model.parts.grid
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/TEST_GUIDELINES b/tests/auto/declarative/qmlvisual/TEST_GUIDELINES
deleted file mode 100644
index 469832f501..0000000000
--- a/tests/auto/declarative/qmlvisual/TEST_GUIDELINES
+++ /dev/null
@@ -1,7 +0,0 @@
-Guidelines for creating new visual tests:
-
-1. Keep it small. All visual tests should be able to run on a device with a screen of at least 640x360 pixels. Smaller than that is even better, because images of this side need to be processed and saved for every test (and even committed to the repository).
-
-2. Keep it short. It is hoped that these tests can be run regularly, perhaps even for every commit, and if you add up ten seconds for every time someone commits a change to QML then we'll be sitting here for a long time. Completeness is more important than haste, but consider the most time efficient ways to achieve said completeness. Do not forget about snapshot mode (tst_qmlvisual -help for details on -recordsnapshot) when testing that a static scene looks right.
-
-3. Avoid text. Text is relatively unstable due to platform specific peculiarities. If you need to identify an area, consider a unique color as opposed to a unique text label. If you must use Text, TextEdit, or TextInput, use the test-friendlier versions in the 'shared' directory. Also keep in mind that text anti-aliasing is disabled during tests for greater consistency, and you should never use point sizes in tests. Text autotests can thus only test some aspects of the elements.
diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/bindinganimation.qml b/tests/auto/declarative/qmlvisual/animation/bindinganimation/bindinganimation.qml
deleted file mode 100644
index 901981263c..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/bindinganimation/bindinganimation.qml
+++ /dev/null
@@ -1,36 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "blue"
- width: 320
- height: 240
- id: page
- Rectangle {
- id: myRectangle
- width: 100
- height: 100
- color: "red"
- x: 10
- }
- states: [
- State {
- when: myMouseArea.pressed
- name: "hello"
- PropertyChanges {
- target: myRectangle
- x: 50 + 50
- }
- }
- ]
- transitions: [
- Transition {
- NumberAnimation {
- properties: "x"
- }
- }
- ]
- MouseArea {
- id: myMouseArea
- anchors.fill: parent
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png
deleted file mode 100644
index 24c11beead..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.1.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.1.png
deleted file mode 100644
index 82492d4998..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.2.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.2.png
deleted file mode 100644
index a31f02a3ed..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.3.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.3.png
deleted file mode 100644
index a029af69ed..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.4.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.4.png
deleted file mode 100644
index c8367ec3e2..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.5.png b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.5.png
deleted file mode 100644
index 900156f67d..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml b/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml
deleted file mode 100644
index be0637e47a..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/bindinganimation/data/bindinganimation.qml
+++ /dev/null
@@ -1,1055 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "bindinganimation.0.png"
- }
- Frame {
- msec: 32
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 48
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 64
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 80
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 96
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 112
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 128
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 144
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 160
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 176
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 192
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 208
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 224
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 240
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 256
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 272
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 288
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 304
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 320
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 336
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 352
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 368
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 384
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 400
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 416
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 432
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 448
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 464
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 480
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 496
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 512
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 87; y: 129
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 528
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 544
- hash: "a78c9394bf3b81f192f42710cd7218b1"
- }
- Frame {
- msec: 560
- hash: "7f08e8170feb1d02373c9ab42b6e882d"
- }
- Frame {
- msec: 576
- hash: "967fbad8ac664400a3efbe66617d62aa"
- }
- Frame {
- msec: 592
- hash: "abc2ec0bc7a93e75b5823310e6284db1"
- }
- Frame {
- msec: 608
- hash: "afbd5b24e2f86646f5ec2aa22f3a4b5b"
- }
- Frame {
- msec: 624
- hash: "9413dffb7ee853ba0125ac22ab22abbd"
- }
- Frame {
- msec: 640
- hash: "fcae0317f81a3ddd713f4db1349a9da0"
- }
- Frame {
- msec: 656
- hash: "37739777a5979f3ebf85e47e63341660"
- }
- Frame {
- msec: 672
- hash: "72731478d80f024076ea639b55152360"
- }
- Frame {
- msec: 688
- hash: "69058485ced6bc992a1a7c5ee34add4c"
- }
- Frame {
- msec: 704
- hash: "391ad7ff2362e059f6170dfe306f94a7"
- }
- Frame {
- msec: 720
- hash: "f9f74a2e38b52c9266f33e428b6acd9d"
- }
- Frame {
- msec: 736
- hash: "25152412c4ea2aec6caf89486c073484"
- }
- Frame {
- msec: 752
- hash: "ba403842ba3128b1cdf6a9cb28c90751"
- }
- Frame {
- msec: 768
- hash: "e90cd68490cf3ce6ef9fe4e8f92feaa9"
- }
- Frame {
- msec: 784
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 800
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 816
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 832
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 848
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 864
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 880
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 896
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 912
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 928
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 944
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 960
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 976
- image: "bindinganimation.1.png"
- }
- Frame {
- msec: 992
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1008
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1024
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1040
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1056
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1072
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1088
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1104
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1120
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1136
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1152
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 87; y: 129
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1168
- hash: "383ba6b9efcc58fca512982a207631f6"
- }
- Frame {
- msec: 1184
- hash: "adc501a3a2b8aaf72f58ba985b57424e"
- }
- Frame {
- msec: 1200
- hash: "bfa51b7c19753ef7b16d78afffc7b9dd"
- }
- Frame {
- msec: 1216
- hash: "ffa8471f57765b49fcdb9155393251e5"
- }
- Frame {
- msec: 1232
- hash: "ddb65481469c38f2331546ee03a44206"
- }
- Frame {
- msec: 1248
- hash: "6f48d1a9977b77cafd38a5903017605b"
- }
- Frame {
- msec: 1264
- hash: "4279c814163af3bd069ce21b3cd1c729"
- }
- Frame {
- msec: 1280
- hash: "17c46242c17983478f34cb49cb91ca6e"
- }
- Frame {
- msec: 1296
- hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f"
- }
- Frame {
- msec: 1312
- hash: "6a74d6dc91a8b370200d3765c55c1136"
- }
- Frame {
- msec: 1328
- hash: "ecda10356cca33901c2acd0a702fee46"
- }
- Frame {
- msec: 1344
- hash: "4f58226bdbda7339d972eca065f75766"
- }
- Frame {
- msec: 1360
- hash: "a39c80859a7643c9879da9c77b644703"
- }
- Frame {
- msec: 1376
- hash: "16fe17b15900ff0464ab20ea921e5b1f"
- }
- Frame {
- msec: 1392
- hash: "bc5c83b2014b7260900587ae3637598f"
- }
- Frame {
- msec: 1408
- hash: "96c077e3a572edff04fa9b2f7020ffd0"
- }
- Frame {
- msec: 1424
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1440
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1456
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1472
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1488
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1504
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1520
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1536
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1552
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1568
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1584
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1600
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1616
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1632
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1648
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1664
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1680
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1696
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1712
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1728
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1744
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1760
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1776
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1792
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1808
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1824
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1840
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 81; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1856
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 1872
- hash: "a78c9394bf3b81f192f42710cd7218b1"
- }
- Frame {
- msec: 1888
- hash: "7f08e8170feb1d02373c9ab42b6e882d"
- }
- Frame {
- msec: 1904
- hash: "967fbad8ac664400a3efbe66617d62aa"
- }
- Frame {
- msec: 1920
- hash: "abc2ec0bc7a93e75b5823310e6284db1"
- }
- Frame {
- msec: 1936
- image: "bindinganimation.2.png"
- }
- Frame {
- msec: 1952
- hash: "9413dffb7ee853ba0125ac22ab22abbd"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 81; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1968
- hash: "9413dffb7ee853ba0125ac22ab22abbd"
- }
- Frame {
- msec: 1984
- hash: "ecda10356cca33901c2acd0a702fee46"
- }
- Frame {
- msec: 2000
- hash: "5fae0bdc65c609cb766ce585b8c649db"
- }
- Frame {
- msec: 2016
- hash: "575d30ac088448b01f49082519bbb3a1"
- }
- Frame {
- msec: 2032
- hash: "ffeb3db6d3f177acf6f92049359a9025"
- }
- Frame {
- msec: 2048
- hash: "abc2ec0bc7a93e75b5823310e6284db1"
- }
- Frame {
- msec: 2064
- hash: "fcb17070ef24575c61046928a8bbe440"
- }
- Frame {
- msec: 2080
- hash: "4ab21e266919fb8d340f87091d8e1f62"
- }
- Frame {
- msec: 2096
- hash: "f141c7c4402c6bacff31d4e77785f5f1"
- }
- Frame {
- msec: 2112
- hash: "29e5f1388c6aaf23abe9f514d7e902d1"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 81; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2128
- hash: "29e5f1388c6aaf23abe9f514d7e902d1"
- }
- Frame {
- msec: 2144
- hash: "4ab21e266919fb8d340f87091d8e1f62"
- }
- Frame {
- msec: 2160
- hash: "2d21b4af3780ef2bbccfcec957ce49c8"
- }
- Frame {
- msec: 2176
- hash: "527b1f9e7a222483134675a73f9cf5b7"
- }
- Frame {
- msec: 2192
- hash: "5edaad77f334e6a01982ee89a733b1f8"
- }
- Frame {
- msec: 2208
- hash: "6a74d6dc91a8b370200d3765c55c1136"
- }
- Frame {
- msec: 2224
- hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f"
- }
- Frame {
- msec: 2240
- hash: "3223ed179c828fadb3eca9c6373176c1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 81; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2256
- hash: "3223ed179c828fadb3eca9c6373176c1"
- }
- Frame {
- msec: 2272
- hash: "516c44b44c23f213f5db01f9eb164b0b"
- }
- Frame {
- msec: 2288
- hash: "4f41101378a104e72228eeb4ba395ca8"
- }
- Frame {
- msec: 2304
- hash: "f9deee3a204c939562b896a6179743d2"
- }
- Frame {
- msec: 2320
- hash: "772396bb23c713f34ea5c23bfbcb115e"
- }
- Frame {
- msec: 2336
- hash: "ecda10356cca33901c2acd0a702fee46"
- }
- Frame {
- msec: 2352
- hash: "527b1f9e7a222483134675a73f9cf5b7"
- }
- Frame {
- msec: 2368
- hash: "4f58226bdbda7339d972eca065f75766"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 81; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2384
- hash: "4f58226bdbda7339d972eca065f75766"
- }
- Frame {
- msec: 2400
- hash: "5fae0bdc65c609cb766ce585b8c649db"
- }
- Frame {
- msec: 2416
- hash: "9413dffb7ee853ba0125ac22ab22abbd"
- }
- Frame {
- msec: 2432
- hash: "6a74d6dc91a8b370200d3765c55c1136"
- }
- Frame {
- msec: 2448
- hash: "4f41101378a104e72228eeb4ba395ca8"
- }
- Frame {
- msec: 2464
- hash: "37739777a5979f3ebf85e47e63341660"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 81; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2480
- hash: "37739777a5979f3ebf85e47e63341660"
- }
- Frame {
- msec: 2496
- hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f"
- }
- Frame {
- msec: 2512
- hash: "fcae0317f81a3ddd713f4db1349a9da0"
- }
- Frame {
- msec: 2528
- hash: "082e0e7650d187a54ef0948ccca98e5a"
- }
- Frame {
- msec: 2544
- hash: "9413dffb7ee853ba0125ac22ab22abbd"
- }
- Frame {
- msec: 2560
- hash: "d9af30557f99b086bb1a185a946b580d"
- }
- Frame {
- msec: 2576
- hash: "afbd5b24e2f86646f5ec2aa22f3a4b5b"
- }
- Frame {
- msec: 2592
- hash: "ffeb3db6d3f177acf6f92049359a9025"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 81; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2608
- hash: "ffeb3db6d3f177acf6f92049359a9025"
- }
- Frame {
- msec: 2624
- hash: "5fae0bdc65c609cb766ce585b8c649db"
- }
- Frame {
- msec: 2640
- hash: "9413dffb7ee853ba0125ac22ab22abbd"
- }
- Frame {
- msec: 2656
- hash: "6a74d6dc91a8b370200d3765c55c1136"
- }
- Frame {
- msec: 2672
- hash: "4f41101378a104e72228eeb4ba395ca8"
- }
- Frame {
- msec: 2688
- hash: "37739777a5979f3ebf85e47e63341660"
- }
- Frame {
- msec: 2704
- hash: "f4fe2cc93d65e086ba8ded1438269eb2"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 81; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2720
- hash: "f4fe2cc93d65e086ba8ded1438269eb2"
- }
- Frame {
- msec: 2736
- hash: "56c72b5da44bd5efdc47c3b9c3eac409"
- }
- Frame {
- msec: 2752
- hash: "b08811b237ce7a460c80d285f04d53d8"
- }
- Frame {
- msec: 2768
- hash: "fcae0317f81a3ddd713f4db1349a9da0"
- }
- Frame {
- msec: 2784
- hash: "082e0e7650d187a54ef0948ccca98e5a"
- }
- Frame {
- msec: 2800
- hash: "9413dffb7ee853ba0125ac22ab22abbd"
- }
- Frame {
- msec: 2816
- hash: "d9af30557f99b086bb1a185a946b580d"
- }
- Frame {
- msec: 2832
- hash: "575d30ac088448b01f49082519bbb3a1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 81; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2848
- hash: "575d30ac088448b01f49082519bbb3a1"
- }
- Frame {
- msec: 2864
- hash: "d9af30557f99b086bb1a185a946b580d"
- }
- Frame {
- msec: 2880
- hash: "82363265ed2b611a54f8d48b2af22f11"
- }
- Frame {
- msec: 2896
- image: "bindinganimation.3.png"
- }
- Frame {
- msec: 2912
- hash: "42f65c58b1f5f4b5ba70855f4aaa7d2f"
- }
- Frame {
- msec: 2928
- hash: "56c72b5da44bd5efdc47c3b9c3eac409"
- }
- Frame {
- msec: 2944
- hash: "72731478d80f024076ea639b55152360"
- }
- Frame {
- msec: 2960
- hash: "4279c814163af3bd069ce21b3cd1c729"
- }
- Frame {
- msec: 2976
- hash: "72a0c017a2fa90a4aeadfa6e552ff573"
- }
- Frame {
- msec: 2992
- hash: "391ad7ff2362e059f6170dfe306f94a7"
- }
- Frame {
- msec: 3008
- hash: "0b0c6419e1e5b016d9c22bd98fd452b1"
- }
- Frame {
- msec: 3024
- hash: "365c824c330398d267ea52ae9468b9ee"
- }
- Frame {
- msec: 3040
- hash: "65ad7e0189c096792331bd1bb0daf0db"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 81; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3056
- hash: "65ad7e0189c096792331bd1bb0daf0db"
- }
- Frame {
- msec: 3072
- hash: "a21aa1984f068650cce2a124a82c12be"
- }
- Frame {
- msec: 3088
- hash: "8006ceaa02d22b5fdfeab400d39a0caf"
- }
- Frame {
- msec: 3104
- hash: "6f48d1a9977b77cafd38a5903017605b"
- }
- Frame {
- msec: 3120
- hash: "07f751ea4cf877ba72fbb36f9da268d7"
- }
- Frame {
- msec: 3136
- hash: "72731478d80f024076ea639b55152360"
- }
- Frame {
- msec: 3152
- hash: "37739777a5979f3ebf85e47e63341660"
- }
- Frame {
- msec: 3168
- hash: "ed47684a0b21836cd27549e0989e96dd"
- }
- Frame {
- msec: 3184
- hash: "772396bb23c713f34ea5c23bfbcb115e"
- }
- Frame {
- msec: 3200
- hash: "ecda10356cca33901c2acd0a702fee46"
- }
- Frame {
- msec: 3216
- hash: "575d30ac088448b01f49082519bbb3a1"
- }
- Frame {
- msec: 3232
- hash: "2e3f134664df8204a291af2c9f81239a"
- }
- Frame {
- msec: 3248
- hash: "967fbad8ac664400a3efbe66617d62aa"
- }
- Frame {
- msec: 3264
- hash: "2b93a05b0e78e52d8d8bc2c71d898d3e"
- }
- Frame {
- msec: 3280
- hash: "c7a9850ed078eb0cfdb5a7ef11840d64"
- }
- Frame {
- msec: 3296
- hash: "96c077e3a572edff04fa9b2f7020ffd0"
- }
- Frame {
- msec: 3312
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3328
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3344
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3360
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3376
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3392
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3408
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3424
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3440
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3456
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3472
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3488
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3504
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3520
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3536
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3552
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3568
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3584
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3600
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3616
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3632
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3648
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3664
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3680
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3696
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3712
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3728
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3744
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3760
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3776
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3792
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
- Frame {
- msec: 3808
- hash: "7cb5fc371040e587de9f06ce14a4b29a"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/colorAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/colorAnimation/colorAnimation-visual.qml
deleted file mode 100644
index 235ad9d94b..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/colorAnimation-visual.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- id: mainrect
- width: 200; height: 200
- state: "first"
- states: [
- State {
- name: "first"
- PropertyChanges {
- target: mainrect
- color: "red"
- }
- },
- State {
- name: "second"
- PropertyChanges {
- target: mainrect
- color: "blue"
- }
- }
- ]
- transitions: [
- Transition {
- from: "first"
- to: "second"
- reversible: true
- SequentialAnimation {
- ColorAnimation {
- duration: 2000
- target: mainrect
- property: "color"
- }
- }
- }
- ]
- MouseArea {
- anchors.fill: parent
- onClicked: { mainrect.state = 'second' }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png
deleted file mode 100644
index 99748a7a3c..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png
deleted file mode 100644
index 5393dd83c9..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png
deleted file mode 100644
index 8c17bf7679..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.3.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.3.png
deleted file mode 100644
index 1317eef8a7..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml
deleted file mode 100644
index 930f08f79e..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data-X11/colorAnimation-visual.qml
+++ /dev/null
@@ -1,951 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "colorAnimation-visual.0.png"
- }
- Frame {
- msec: 32
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 48
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 64
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 80
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 96
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 112
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 128
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 144
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 160
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 176
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 192
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 208
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 224
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 240
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 256
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 272
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 288
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 304
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 320
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 336
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 352
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 368
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 384
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 400
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 416
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 432
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 448
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 464
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 480
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 496
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 512
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 93; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 528
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 544
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 560
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 576
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 592
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 93; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 608
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 624
- hash: "e5bda0daf98288ce18db6ce06eda3ba0"
- }
- Frame {
- msec: 640
- hash: "d35008f75b8c992f80fb16ba7203649d"
- }
- Frame {
- msec: 656
- hash: "14f43e0784ddf42ea8550db88c501bf1"
- }
- Frame {
- msec: 672
- hash: "02276e158b5391480b1bdeaadf1fb903"
- }
- Frame {
- msec: 688
- hash: "35d9513eb97a2c482b7cd197de910934"
- }
- Frame {
- msec: 704
- hash: "faf0fd681e60bb2489099f5df772b6cd"
- }
- Frame {
- msec: 720
- hash: "a863d3e346f94785a3a392fdc91526eb"
- }
- Frame {
- msec: 736
- hash: "fdf328d3f6eb8410da59a91345e41a44"
- }
- Frame {
- msec: 752
- hash: "83514a3b10d5be8f6c3b128d0f3e0b1c"
- }
- Frame {
- msec: 768
- hash: "ead0eae76cd00189075964671effbaea"
- }
- Frame {
- msec: 784
- hash: "24d2457fcd51490fda23071bf9929d12"
- }
- Frame {
- msec: 800
- hash: "1478683446cf543dacbe31d0b76a98a6"
- }
- Frame {
- msec: 816
- hash: "99f7da1f31fe920f6c02add4042ae925"
- }
- Frame {
- msec: 832
- hash: "22def892006cf66667770b0f17baf6c0"
- }
- Frame {
- msec: 848
- hash: "6a36d5a77099bfd58baf285478ff04e4"
- }
- Frame {
- msec: 864
- hash: "6258150666b59b20ab476724c07fc20c"
- }
- Frame {
- msec: 880
- hash: "f1636315bc950a6dd400d9c7ed263b88"
- }
- Frame {
- msec: 896
- hash: "18447ea8dc2e8da956788e5b3cf3790a"
- }
- Frame {
- msec: 912
- hash: "1d2a6e65997a73e9e670356c8e8b63b2"
- }
- Frame {
- msec: 928
- hash: "bed0242c0f9ef229d1392835286d5782"
- }
- Frame {
- msec: 944
- hash: "88923c190e9e5beadef8a409c06df9d6"
- }
- Frame {
- msec: 960
- hash: "2d133e7ee60c97386f57838b3f0976c7"
- }
- Frame {
- msec: 976
- image: "colorAnimation-visual.1.png"
- }
- Frame {
- msec: 992
- hash: "395195716d76bc0be7b2033ed37a7a1c"
- }
- Frame {
- msec: 1008
- hash: "243dbffcf416926242bbcb7348974c4c"
- }
- Frame {
- msec: 1024
- hash: "a755068679616d8ac65c2aa7431f2a19"
- }
- Frame {
- msec: 1040
- hash: "e8249b35a47eb492cbdf2d91cc8426f0"
- }
- Frame {
- msec: 1056
- hash: "15f3da1c0e6f0779b96859d51171dd27"
- }
- Frame {
- msec: 1072
- hash: "258c0c756aac3de743b43051f2aace6b"
- }
- Frame {
- msec: 1088
- hash: "a58b9fdf301d72b2cc5c93934cc8927b"
- }
- Frame {
- msec: 1104
- hash: "a9181d30870d472521f8904818ce520f"
- }
- Frame {
- msec: 1120
- hash: "7f9e94069ccf3897c26a71bd7becd903"
- }
- Frame {
- msec: 1136
- hash: "bdf305c2f46cdb86dbf57b1e0cc5a65b"
- }
- Frame {
- msec: 1152
- hash: "fe5b6865d7e4fc7d1d42c1e74f8666f7"
- }
- Frame {
- msec: 1168
- hash: "734f0de45a6e34c9eab7ef606196f96a"
- }
- Frame {
- msec: 1184
- hash: "02a361c4534fdf7f286dc3e6dc23275c"
- }
- Frame {
- msec: 1200
- hash: "e649155ad69999c14b92f6561e4d1185"
- }
- Frame {
- msec: 1216
- hash: "01af177084fab755d622973f64b92018"
- }
- Frame {
- msec: 1232
- hash: "097cc4a082dfab995d213a3a73883c97"
- }
- Frame {
- msec: 1248
- hash: "d7b4239a3280b1eb8e885e3f422df8e9"
- }
- Frame {
- msec: 1264
- hash: "59893977994e34e83f91e7ce3ad65d6d"
- }
- Frame {
- msec: 1280
- hash: "b68e3fbb5cdcd6bd96df7dec558db42b"
- }
- Frame {
- msec: 1296
- hash: "94ad0580648f36a1e18a9ea7e249b04d"
- }
- Frame {
- msec: 1312
- hash: "750a4c01d2f5806a89a1c6cc6a9b9a68"
- }
- Frame {
- msec: 1328
- hash: "4f109f50f388f1bfa4bc6b03b3e6e514"
- }
- Frame {
- msec: 1344
- hash: "c6168d5cf27a533e8ee636637667be47"
- }
- Frame {
- msec: 1360
- hash: "f8120547bed987aa34c00da5a01a4d1e"
- }
- Frame {
- msec: 1376
- hash: "cbff526136fa2c128c8b898fbbef9e5c"
- }
- Frame {
- msec: 1392
- hash: "f29e52398fab1a239a63df4c32f2fc69"
- }
- Frame {
- msec: 1408
- hash: "7178bfe86fd2fd513218b33760460f8d"
- }
- Frame {
- msec: 1424
- hash: "ca83285bc8ac633403896fe976896eb0"
- }
- Frame {
- msec: 1440
- hash: "96ba486c09cc69d5aa38c46c00df1181"
- }
- Frame {
- msec: 1456
- hash: "b88eab335842787869f4a14824c19dd8"
- }
- Frame {
- msec: 1472
- hash: "065aa59012729e1e1a246a2083142690"
- }
- Frame {
- msec: 1488
- hash: "dd0e98c8398861002c5f178c5f9f612d"
- }
- Frame {
- msec: 1504
- hash: "04192c2b545948048eccf4d81bbde198"
- }
- Frame {
- msec: 1520
- hash: "bb7502c7208281ef9fd41714ab88a1a8"
- }
- Frame {
- msec: 1536
- hash: "5397195471890d08b703dca101e5bc7c"
- }
- Frame {
- msec: 1552
- hash: "4c678cdbebb2ffd2cbf012ca77800cde"
- }
- Frame {
- msec: 1568
- hash: "0d7a34ecd0c7f52b2c015037bf1902c6"
- }
- Frame {
- msec: 1584
- hash: "fd9d5048be749ac4369fda2d018b43ae"
- }
- Frame {
- msec: 1600
- hash: "93ee03795cd57ae6f7fe3a020b039ad4"
- }
- Frame {
- msec: 1616
- hash: "5e1118963f219c39761ca7fbf564a9ca"
- }
- Frame {
- msec: 1632
- hash: "8f40038741903150136170503649d941"
- }
- Frame {
- msec: 1648
- hash: "b087b7d0aa6224821f8e18718ff5e77d"
- }
- Frame {
- msec: 1664
- hash: "aa46b04a3c67dc772265ed2901955565"
- }
- Frame {
- msec: 1680
- hash: "ac024bf2aeb4becdf31a09fe0a6db8f3"
- }
- Frame {
- msec: 1696
- hash: "13745a174e4d06e2108a5bf125ba50cc"
- }
- Frame {
- msec: 1712
- hash: "bd972f0d8e230eca0b3fea1b8c960c08"
- }
- Frame {
- msec: 1728
- hash: "cbdbec802a58e7ced0cf45b3ab0bc0ba"
- }
- Frame {
- msec: 1744
- hash: "5128584c50305c7d218b81b8367fa3d5"
- }
- Frame {
- msec: 1760
- hash: "a71461d3593f3685620668916de870bd"
- }
- Frame {
- msec: 1776
- hash: "74ebac8f32cf044b58d9883dbcd9a722"
- }
- Frame {
- msec: 1792
- hash: "fedc5b638f339b90fe59b478721e65b7"
- }
- Frame {
- msec: 1808
- hash: "8593a81be812edf54ec94da8ae9c1314"
- }
- Frame {
- msec: 1824
- hash: "4e9b083075bc5e9287a8abc982778b56"
- }
- Frame {
- msec: 1840
- hash: "1d6f02aa99afa47d77fc49ab894b365a"
- }
- Frame {
- msec: 1856
- hash: "a204feec783b3b05de4c209c21745826"
- }
- Frame {
- msec: 1872
- hash: "665a2a8ff00b9663157802767f504754"
- }
- Frame {
- msec: 1888
- hash: "624fb09ebe60cb87d767faf8d2420b1e"
- }
- Frame {
- msec: 1904
- hash: "e5af0cdc33f3275a25abb09e9165f310"
- }
- Frame {
- msec: 1920
- hash: "02bafb5a81ca66f7670ac93de5123860"
- }
- Frame {
- msec: 1936
- image: "colorAnimation-visual.2.png"
- }
- Frame {
- msec: 1952
- hash: "b5abd0dff1ab076faac7cc226e83f5d0"
- }
- Frame {
- msec: 1968
- hash: "b759acc35bccff8efc2e6fe276ddc0f7"
- }
- Frame {
- msec: 1984
- hash: "ce52e18c1f7732768779863b45314ff5"
- }
- Frame {
- msec: 2000
- hash: "99d30652559dd6931e0c95543eeaa149"
- }
- Frame {
- msec: 2016
- hash: "ffbd9a00e05e085b89296d19d5caec57"
- }
- Frame {
- msec: 2032
- hash: "9c9d658b9c25602816b8066bf19105db"
- }
- Frame {
- msec: 2048
- hash: "2b7fd058e6601e22a30bb7106b1c683b"
- }
- Frame {
- msec: 2064
- hash: "f4c7e26b19ee0a3e7c9688685eb7bd05"
- }
- Frame {
- msec: 2080
- hash: "0dc6d593bceff56b7f81f2a49d37fefb"
- }
- Frame {
- msec: 2096
- hash: "9bfd7ad5091ccbdde43c593e133a7b10"
- }
- Frame {
- msec: 2112
- hash: "2703b617937914a90ea42ebf249d79ee"
- }
- Frame {
- msec: 2128
- hash: "b77e2983138254016c4cca53100f46fa"
- }
- Frame {
- msec: 2144
- hash: "60c4dd24187d1281081479e586f02b37"
- }
- Frame {
- msec: 2160
- hash: "62f2511abd99ef1231c9fa4b91d4abfe"
- }
- Frame {
- msec: 2176
- hash: "e309b3353fd174e883d309571caddc98"
- }
- Frame {
- msec: 2192
- hash: "1e2d6a134c7b12dde551b148ef4f088c"
- }
- Frame {
- msec: 2208
- hash: "e5dc5450604a491cc24a0dcf5c278b58"
- }
- Frame {
- msec: 2224
- hash: "c8dae97c10e1962c1e6a51ab3ab8579e"
- }
- Frame {
- msec: 2240
- hash: "4e1b7e06f55fb084080689b474f1fe1d"
- }
- Frame {
- msec: 2256
- hash: "b4639c907fa937bf15fac62421170cd8"
- }
- Frame {
- msec: 2272
- hash: "c250208a0caeb5f6cb4d3aac3d7d350b"
- }
- Frame {
- msec: 2288
- hash: "a73351eabecf0d71149efe31f197413e"
- }
- Frame {
- msec: 2304
- hash: "479425f1b7aff79e4dfb7fca534af018"
- }
- Frame {
- msec: 2320
- hash: "046d0f0040a52d1f26ba9f7c5de06ef4"
- }
- Frame {
- msec: 2336
- hash: "655778bf13c6080903150b0eb43a7edc"
- }
- Frame {
- msec: 2352
- hash: "72da0bbe81514870655fdd3354adac60"
- }
- Frame {
- msec: 2368
- hash: "defe0bdf675c65fff55aaaced1e4dae7"
- }
- Frame {
- msec: 2384
- hash: "c988628b6c3d3780e9a865c7694926cd"
- }
- Frame {
- msec: 2400
- hash: "5ab17563655231089edd986ff13d6012"
- }
- Frame {
- msec: 2416
- hash: "c1adff1d2e5800ed466d1691d3b17382"
- }
- Frame {
- msec: 2432
- hash: "70129ba01fbb19592b9dc0d0a3b3e7df"
- }
- Frame {
- msec: 2448
- hash: "0000829ef7ed908bf430d42904d59cc2"
- }
- Frame {
- msec: 2464
- hash: "843d2927f50ab87b4a86b7a6aaeed91f"
- }
- Frame {
- msec: 2480
- hash: "da86d21756025e7de8050586d5e2a1f8"
- }
- Frame {
- msec: 2496
- hash: "48dd1bd6580133b0793fee327ea4f1e6"
- }
- Frame {
- msec: 2512
- hash: "f0618193dcd0ba2837249515a1898b1c"
- }
- Frame {
- msec: 2528
- hash: "a530184e57251065286c0cbba7301e9c"
- }
- Frame {
- msec: 2544
- hash: "64a1d7203973d65dd342793007a61c58"
- }
- Frame {
- msec: 2560
- hash: "5b830dfc6ba442772de87d75d5a578de"
- }
- Frame {
- msec: 2576
- hash: "5563b056b0409b65f60dd16dd0dd890e"
- }
- Frame {
- msec: 2592
- hash: "b8bcf9ad2ca8720c11563a23d8280804"
- }
- Frame {
- msec: 2608
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2624
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2640
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2656
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2672
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2688
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2704
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2720
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2736
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2752
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2768
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2784
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2800
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2816
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2832
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2848
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2864
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2880
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2896
- image: "colorAnimation-visual.3.png"
- }
- Frame {
- msec: 2912
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2928
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2944
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2960
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2976
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2992
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3008
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3024
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3040
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3056
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3072
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3088
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3104
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3120
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3136
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3152
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3168
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3184
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3200
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3216
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3232
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3248
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3264
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3280
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3296
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3312
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3328
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3344
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3360
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3376
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3392
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3408
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3424
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3440
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3456
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3472
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3488
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3504
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3520
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3536
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3552
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3568
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3584
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3600
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3616
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3632
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3648
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3664
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3680
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.0.png
deleted file mode 100644
index 2a79113d0b..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.1.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.1.png
deleted file mode 100644
index ebd1802325..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.2.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.2.png
deleted file mode 100644
index 9b8ecbbe55..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.3.png b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.3.png
deleted file mode 100644
index 277cb9e513..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.qml
deleted file mode 100644
index 2b664d44e6..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/colorAnimation/data/colorAnimation-visual.qml
+++ /dev/null
@@ -1,951 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "colorAnimation-visual.0.png"
- }
- Frame {
- msec: 32
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 48
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 64
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 80
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 96
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 112
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 128
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 144
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 160
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 176
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 192
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 208
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 224
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 240
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 256
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 272
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 288
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 304
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 320
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 336
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 352
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 368
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 384
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 400
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 416
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 432
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 448
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 464
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 480
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 496
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 512
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 93; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 528
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 544
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 560
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 576
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 592
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 93; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 608
- hash: "acc736435c9f84aa82941ba561bc5dbc"
- }
- Frame {
- msec: 624
- hash: "e5bda0daf98288ce18db6ce06eda3ba0"
- }
- Frame {
- msec: 640
- hash: "d35008f75b8c992f80fb16ba7203649d"
- }
- Frame {
- msec: 656
- hash: "14f43e0784ddf42ea8550db88c501bf1"
- }
- Frame {
- msec: 672
- hash: "02276e158b5391480b1bdeaadf1fb903"
- }
- Frame {
- msec: 688
- hash: "35d9513eb97a2c482b7cd197de910934"
- }
- Frame {
- msec: 704
- hash: "faf0fd681e60bb2489099f5df772b6cd"
- }
- Frame {
- msec: 720
- hash: "a863d3e346f94785a3a392fdc91526eb"
- }
- Frame {
- msec: 736
- hash: "fdf328d3f6eb8410da59a91345e41a44"
- }
- Frame {
- msec: 752
- hash: "83514a3b10d5be8f6c3b128d0f3e0b1c"
- }
- Frame {
- msec: 768
- hash: "ead0eae76cd00189075964671effbaea"
- }
- Frame {
- msec: 784
- hash: "24d2457fcd51490fda23071bf9929d12"
- }
- Frame {
- msec: 800
- hash: "1478683446cf543dacbe31d0b76a98a6"
- }
- Frame {
- msec: 816
- hash: "99f7da1f31fe920f6c02add4042ae925"
- }
- Frame {
- msec: 832
- hash: "22def892006cf66667770b0f17baf6c0"
- }
- Frame {
- msec: 848
- hash: "6a36d5a77099bfd58baf285478ff04e4"
- }
- Frame {
- msec: 864
- hash: "6258150666b59b20ab476724c07fc20c"
- }
- Frame {
- msec: 880
- hash: "f1636315bc950a6dd400d9c7ed263b88"
- }
- Frame {
- msec: 896
- hash: "18447ea8dc2e8da956788e5b3cf3790a"
- }
- Frame {
- msec: 912
- hash: "1d2a6e65997a73e9e670356c8e8b63b2"
- }
- Frame {
- msec: 928
- hash: "bed0242c0f9ef229d1392835286d5782"
- }
- Frame {
- msec: 944
- hash: "88923c190e9e5beadef8a409c06df9d6"
- }
- Frame {
- msec: 960
- hash: "2d133e7ee60c97386f57838b3f0976c7"
- }
- Frame {
- msec: 976
- image: "colorAnimation-visual.1.png"
- }
- Frame {
- msec: 992
- hash: "395195716d76bc0be7b2033ed37a7a1c"
- }
- Frame {
- msec: 1008
- hash: "e0f53c5605116a30d9bf3c031c63d958"
- }
- Frame {
- msec: 1024
- hash: "a755068679616d8ac65c2aa7431f2a19"
- }
- Frame {
- msec: 1040
- hash: "e8249b35a47eb492cbdf2d91cc8426f0"
- }
- Frame {
- msec: 1056
- hash: "15f3da1c0e6f0779b96859d51171dd27"
- }
- Frame {
- msec: 1072
- hash: "258c0c756aac3de743b43051f2aace6b"
- }
- Frame {
- msec: 1088
- hash: "a58b9fdf301d72b2cc5c93934cc8927b"
- }
- Frame {
- msec: 1104
- hash: "a9181d30870d472521f8904818ce520f"
- }
- Frame {
- msec: 1120
- hash: "7f9e94069ccf3897c26a71bd7becd903"
- }
- Frame {
- msec: 1136
- hash: "bdf305c2f46cdb86dbf57b1e0cc5a65b"
- }
- Frame {
- msec: 1152
- hash: "fe5b6865d7e4fc7d1d42c1e74f8666f7"
- }
- Frame {
- msec: 1168
- hash: "734f0de45a6e34c9eab7ef606196f96a"
- }
- Frame {
- msec: 1184
- hash: "02a361c4534fdf7f286dc3e6dc23275c"
- }
- Frame {
- msec: 1200
- hash: "e649155ad69999c14b92f6561e4d1185"
- }
- Frame {
- msec: 1216
- hash: "01af177084fab755d622973f64b92018"
- }
- Frame {
- msec: 1232
- hash: "097cc4a082dfab995d213a3a73883c97"
- }
- Frame {
- msec: 1248
- hash: "d7b4239a3280b1eb8e885e3f422df8e9"
- }
- Frame {
- msec: 1264
- hash: "59893977994e34e83f91e7ce3ad65d6d"
- }
- Frame {
- msec: 1280
- hash: "b68e3fbb5cdcd6bd96df7dec558db42b"
- }
- Frame {
- msec: 1296
- hash: "94ad0580648f36a1e18a9ea7e249b04d"
- }
- Frame {
- msec: 1312
- hash: "750a4c01d2f5806a89a1c6cc6a9b9a68"
- }
- Frame {
- msec: 1328
- hash: "4f109f50f388f1bfa4bc6b03b3e6e514"
- }
- Frame {
- msec: 1344
- hash: "c6168d5cf27a533e8ee636637667be47"
- }
- Frame {
- msec: 1360
- hash: "f8120547bed987aa34c00da5a01a4d1e"
- }
- Frame {
- msec: 1376
- hash: "cbff526136fa2c128c8b898fbbef9e5c"
- }
- Frame {
- msec: 1392
- hash: "f29e52398fab1a239a63df4c32f2fc69"
- }
- Frame {
- msec: 1408
- hash: "45770fe0d61c485c13992d0f98b2a3ba"
- }
- Frame {
- msec: 1424
- hash: "ca83285bc8ac633403896fe976896eb0"
- }
- Frame {
- msec: 1440
- hash: "96ba486c09cc69d5aa38c46c00df1181"
- }
- Frame {
- msec: 1456
- hash: "b88eab335842787869f4a14824c19dd8"
- }
- Frame {
- msec: 1472
- hash: "065aa59012729e1e1a246a2083142690"
- }
- Frame {
- msec: 1488
- hash: "dd0e98c8398861002c5f178c5f9f612d"
- }
- Frame {
- msec: 1504
- hash: "04192c2b545948048eccf4d81bbde198"
- }
- Frame {
- msec: 1520
- hash: "bb7502c7208281ef9fd41714ab88a1a8"
- }
- Frame {
- msec: 1536
- hash: "5397195471890d08b703dca101e5bc7c"
- }
- Frame {
- msec: 1552
- hash: "4c678cdbebb2ffd2cbf012ca77800cde"
- }
- Frame {
- msec: 1568
- hash: "0d7a34ecd0c7f52b2c015037bf1902c6"
- }
- Frame {
- msec: 1584
- hash: "fd9d5048be749ac4369fda2d018b43ae"
- }
- Frame {
- msec: 1600
- hash: "93ee03795cd57ae6f7fe3a020b039ad4"
- }
- Frame {
- msec: 1616
- hash: "5e1118963f219c39761ca7fbf564a9ca"
- }
- Frame {
- msec: 1632
- hash: "8f40038741903150136170503649d941"
- }
- Frame {
- msec: 1648
- hash: "b087b7d0aa6224821f8e18718ff5e77d"
- }
- Frame {
- msec: 1664
- hash: "aa46b04a3c67dc772265ed2901955565"
- }
- Frame {
- msec: 1680
- hash: "ac024bf2aeb4becdf31a09fe0a6db8f3"
- }
- Frame {
- msec: 1696
- hash: "13745a174e4d06e2108a5bf125ba50cc"
- }
- Frame {
- msec: 1712
- hash: "bd972f0d8e230eca0b3fea1b8c960c08"
- }
- Frame {
- msec: 1728
- hash: "cbdbec802a58e7ced0cf45b3ab0bc0ba"
- }
- Frame {
- msec: 1744
- hash: "5128584c50305c7d218b81b8367fa3d5"
- }
- Frame {
- msec: 1760
- hash: "a71461d3593f3685620668916de870bd"
- }
- Frame {
- msec: 1776
- hash: "74ebac8f32cf044b58d9883dbcd9a722"
- }
- Frame {
- msec: 1792
- hash: "fedc5b638f339b90fe59b478721e65b7"
- }
- Frame {
- msec: 1808
- hash: "a2fa71b4147372175774250501b6625e"
- }
- Frame {
- msec: 1824
- hash: "4e9b083075bc5e9287a8abc982778b56"
- }
- Frame {
- msec: 1840
- hash: "1d6f02aa99afa47d77fc49ab894b365a"
- }
- Frame {
- msec: 1856
- hash: "a204feec783b3b05de4c209c21745826"
- }
- Frame {
- msec: 1872
- hash: "665a2a8ff00b9663157802767f504754"
- }
- Frame {
- msec: 1888
- hash: "624fb09ebe60cb87d767faf8d2420b1e"
- }
- Frame {
- msec: 1904
- hash: "e5af0cdc33f3275a25abb09e9165f310"
- }
- Frame {
- msec: 1920
- hash: "02bafb5a81ca66f7670ac93de5123860"
- }
- Frame {
- msec: 1936
- image: "colorAnimation-visual.2.png"
- }
- Frame {
- msec: 1952
- hash: "b5abd0dff1ab076faac7cc226e83f5d0"
- }
- Frame {
- msec: 1968
- hash: "b759acc35bccff8efc2e6fe276ddc0f7"
- }
- Frame {
- msec: 1984
- hash: "ce52e18c1f7732768779863b45314ff5"
- }
- Frame {
- msec: 2000
- hash: "99d30652559dd6931e0c95543eeaa149"
- }
- Frame {
- msec: 2016
- hash: "ffbd9a00e05e085b89296d19d5caec57"
- }
- Frame {
- msec: 2032
- hash: "9c9d658b9c25602816b8066bf19105db"
- }
- Frame {
- msec: 2048
- hash: "2b7fd058e6601e22a30bb7106b1c683b"
- }
- Frame {
- msec: 2064
- hash: "f4c7e26b19ee0a3e7c9688685eb7bd05"
- }
- Frame {
- msec: 2080
- hash: "0dc6d593bceff56b7f81f2a49d37fefb"
- }
- Frame {
- msec: 2096
- hash: "9bfd7ad5091ccbdde43c593e133a7b10"
- }
- Frame {
- msec: 2112
- hash: "2703b617937914a90ea42ebf249d79ee"
- }
- Frame {
- msec: 2128
- hash: "b77e2983138254016c4cca53100f46fa"
- }
- Frame {
- msec: 2144
- hash: "60c4dd24187d1281081479e586f02b37"
- }
- Frame {
- msec: 2160
- hash: "62f2511abd99ef1231c9fa4b91d4abfe"
- }
- Frame {
- msec: 2176
- hash: "e309b3353fd174e883d309571caddc98"
- }
- Frame {
- msec: 2192
- hash: "1e2d6a134c7b12dde551b148ef4f088c"
- }
- Frame {
- msec: 2208
- hash: "10d46d2862e333e5136b1c046dabb33b"
- }
- Frame {
- msec: 2224
- hash: "c8dae97c10e1962c1e6a51ab3ab8579e"
- }
- Frame {
- msec: 2240
- hash: "4e1b7e06f55fb084080689b474f1fe1d"
- }
- Frame {
- msec: 2256
- hash: "b4639c907fa937bf15fac62421170cd8"
- }
- Frame {
- msec: 2272
- hash: "c250208a0caeb5f6cb4d3aac3d7d350b"
- }
- Frame {
- msec: 2288
- hash: "a73351eabecf0d71149efe31f197413e"
- }
- Frame {
- msec: 2304
- hash: "479425f1b7aff79e4dfb7fca534af018"
- }
- Frame {
- msec: 2320
- hash: "046d0f0040a52d1f26ba9f7c5de06ef4"
- }
- Frame {
- msec: 2336
- hash: "655778bf13c6080903150b0eb43a7edc"
- }
- Frame {
- msec: 2352
- hash: "72da0bbe81514870655fdd3354adac60"
- }
- Frame {
- msec: 2368
- hash: "defe0bdf675c65fff55aaaced1e4dae7"
- }
- Frame {
- msec: 2384
- hash: "c988628b6c3d3780e9a865c7694926cd"
- }
- Frame {
- msec: 2400
- hash: "5ab17563655231089edd986ff13d6012"
- }
- Frame {
- msec: 2416
- hash: "c1adff1d2e5800ed466d1691d3b17382"
- }
- Frame {
- msec: 2432
- hash: "70129ba01fbb19592b9dc0d0a3b3e7df"
- }
- Frame {
- msec: 2448
- hash: "0000829ef7ed908bf430d42904d59cc2"
- }
- Frame {
- msec: 2464
- hash: "843d2927f50ab87b4a86b7a6aaeed91f"
- }
- Frame {
- msec: 2480
- hash: "da86d21756025e7de8050586d5e2a1f8"
- }
- Frame {
- msec: 2496
- hash: "48dd1bd6580133b0793fee327ea4f1e6"
- }
- Frame {
- msec: 2512
- hash: "f0618193dcd0ba2837249515a1898b1c"
- }
- Frame {
- msec: 2528
- hash: "a530184e57251065286c0cbba7301e9c"
- }
- Frame {
- msec: 2544
- hash: "64a1d7203973d65dd342793007a61c58"
- }
- Frame {
- msec: 2560
- hash: "5b830dfc6ba442772de87d75d5a578de"
- }
- Frame {
- msec: 2576
- hash: "5563b056b0409b65f60dd16dd0dd890e"
- }
- Frame {
- msec: 2592
- hash: "b8bcf9ad2ca8720c11563a23d8280804"
- }
- Frame {
- msec: 2608
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2624
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2640
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2656
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2672
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2688
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2704
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2720
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2736
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2752
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2768
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2784
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2800
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2816
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2832
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2848
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2864
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2880
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2896
- image: "colorAnimation-visual.3.png"
- }
- Frame {
- msec: 2912
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2928
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2944
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2960
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2976
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 2992
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3008
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3024
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3040
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3056
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3072
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3088
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3104
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3120
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3136
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3152
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3168
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3184
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3200
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3216
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3232
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3248
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3264
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3280
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3296
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3312
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3328
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3344
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3360
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3376
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3392
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3408
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3424
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3440
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3456
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3472
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3488
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3504
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3520
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3536
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3552
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3568
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3584
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3600
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3616
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3632
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3648
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3664
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
- Frame {
- msec: 3680
- hash: "8c0fcda4f8956394c53fc4ba18caa850"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png
deleted file mode 100644
index 81edfff991..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.1.png b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.1.png
deleted file mode 100644
index ebac47f65b..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.2.png b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.2.png
deleted file mode 100644
index e1200bb14d..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.3.png b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.3.png
deleted file mode 100644
index 81edfff991..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml b/tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml
deleted file mode 100644
index 597c3a6bdf..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/easing/data/easing.qml
+++ /dev/null
@@ -1,863 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "easing.0.png"
- }
- Frame {
- msec: 32
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 48
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 64
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 80
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 96
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 112
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 128
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 144
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 160
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 176
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 192
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 208
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 224
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 240
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 256
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 272
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 288
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 304
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 320
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 336
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 352
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 368
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 384
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 400
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 416
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 432
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 28; y: 245
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 448
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 464
- hash: "a74da88fed6727a41b0bef096bd52eea"
- }
- Frame {
- msec: 480
- hash: "e640a847e36f4a7d322ad7ca0b893d9c"
- }
- Frame {
- msec: 496
- hash: "3e3fe8581c80dc190108b9844e77fb17"
- }
- Frame {
- msec: 512
- hash: "8ee8ce9f8d9d93997aa8e05efae9b901"
- }
- Frame {
- msec: 528
- hash: "8752f7849a3afa35889f7f1406d79e5c"
- }
- Frame {
- msec: 544
- hash: "df31ed3556e84a4517b26765ea11023c"
- }
- Frame {
- msec: 560
- hash: "a35602db546bf5e71fbc7ff7c5895427"
- }
- Frame {
- msec: 576
- hash: "c29ee32e39126cb00544cf0326e483d8"
- }
- Frame {
- msec: 592
- hash: "79b0d26288fd9ca67c6aacacb9bf355f"
- }
- Frame {
- msec: 608
- hash: "aa0b8c9921058be0913c00725c45b287"
- }
- Frame {
- msec: 624
- hash: "964f498603fdd2abb2d3b1cc1b78ffde"
- }
- Frame {
- msec: 640
- hash: "a3c7226d5b5f91b91d2a1ec21f2cb9ab"
- }
- Frame {
- msec: 656
- hash: "d28f5fb2e07c028c9697f8d1e4d7b676"
- }
- Frame {
- msec: 672
- hash: "0a1aa6ba2749b1ef5d8c67b5d8d7fba4"
- }
- Frame {
- msec: 688
- hash: "12d926e80c7b4da41ef9c747cf9ca1d4"
- }
- Frame {
- msec: 704
- hash: "2015e4d29b3424a3683d7d8710ef60b4"
- }
- Frame {
- msec: 720
- hash: "530924a6f4bdf7e9ab37415109a28e2f"
- }
- Frame {
- msec: 736
- hash: "4dd20811ffa8cfb64cebc6ec6f43b029"
- }
- Frame {
- msec: 752
- hash: "2238138f486a061e32607b130ba505f8"
- }
- Frame {
- msec: 768
- hash: "a2991487b51b9802f18a975a323dfb32"
- }
- Frame {
- msec: 784
- hash: "9cf19f7c9ee16bfdd56cb889358ab789"
- }
- Frame {
- msec: 800
- hash: "32eee6b05e73a36eef878c562badbb8f"
- }
- Frame {
- msec: 816
- hash: "04cbb2d8fe38011c46ff95d84830ed2a"
- }
- Frame {
- msec: 832
- hash: "c11c2591ecf40ab31e616f6803e37e95"
- }
- Frame {
- msec: 848
- hash: "a22cdeea89739bdf10850c7251fb62f2"
- }
- Frame {
- msec: 864
- hash: "7d13f611bc516cda6afe56a8ec59cbf4"
- }
- Frame {
- msec: 880
- hash: "4b3a3469f1c64760bd6ce84ec0bfc2cc"
- }
- Frame {
- msec: 896
- hash: "e1a3af06282f369427d967cb21771564"
- }
- Frame {
- msec: 912
- hash: "e1c90f78a2fe5e7cf43eeb700c867beb"
- }
- Frame {
- msec: 928
- hash: "e63fbd42405a5d251ea6703d9564b2e0"
- }
- Frame {
- msec: 944
- hash: "a1b4f08ccf38575f789bdb8968c7cdeb"
- }
- Frame {
- msec: 960
- hash: "2604313688bddd75b1fbd146415097a7"
- }
- Frame {
- msec: 976
- image: "easing.1.png"
- }
- Frame {
- msec: 992
- hash: "df391105c7f6e0fbcdb0b4719e5af9e3"
- }
- Frame {
- msec: 1008
- hash: "33603ef5b2368a7f5a71de0318404ac7"
- }
- Frame {
- msec: 1024
- hash: "78cdbf2a2522e057db08aba284bd7a07"
- }
- Frame {
- msec: 1040
- hash: "7aac87953a7e1ddf0040769a15878017"
- }
- Frame {
- msec: 1056
- hash: "eae27f47c56ee0c491eeebed0f3855b2"
- }
- Frame {
- msec: 1072
- hash: "0f0c4d8dbc27bc301c993a768afeaa39"
- }
- Frame {
- msec: 1088
- hash: "ec844dffe8be01b9906ffa10a18784bc"
- }
- Frame {
- msec: 1104
- hash: "69f6dd26fd9268c474c422c2ce126424"
- }
- Frame {
- msec: 1120
- hash: "0e3f95c339c1868fc716a542e9acbd49"
- }
- Frame {
- msec: 1136
- hash: "fa0762f9d8112e5c6889ef3a204d4838"
- }
- Frame {
- msec: 1152
- hash: "18132a9adedd13fcd015ac5c7f741718"
- }
- Frame {
- msec: 1168
- hash: "f07aba4891c1aab84f656b3507d4f31a"
- }
- Frame {
- msec: 1184
- hash: "123dfe5bf375b698ae529fe370133d4d"
- }
- Frame {
- msec: 1200
- hash: "d176cacbad1459d18729e99b52ed0c89"
- }
- Frame {
- msec: 1216
- hash: "21d9f6aeb67b5bfa0d190d305ddbaabd"
- }
- Frame {
- msec: 1232
- hash: "38884e097938bdd2fecb33a2d782e87e"
- }
- Frame {
- msec: 1248
- hash: "d0fb3dbb20f4873784dde690c48efd4b"
- }
- Frame {
- msec: 1264
- hash: "9821efad0c5bfc459029f42a32ad7c85"
- }
- Frame {
- msec: 1280
- hash: "c19ef8982ffa6d5d1a0b2844d0bd77e1"
- }
- Frame {
- msec: 1296
- hash: "e5d09b511557ac724b488dcaa5079ac7"
- }
- Frame {
- msec: 1312
- hash: "a1bf72e745137dd8ae48ff3e5df22944"
- }
- Frame {
- msec: 1328
- hash: "6319a88b12b431b1715b0231c0b86f9e"
- }
- Frame {
- msec: 1344
- hash: "f69fc6078e0b6c863b19f2306ca22a17"
- }
- Frame {
- msec: 1360
- hash: "e0945fc7aea81263fb84fb5de83b7ffc"
- }
- Frame {
- msec: 1376
- hash: "bae0fc82e69b37d6f0d23faf5d877d9b"
- }
- Frame {
- msec: 1392
- hash: "764e6cf407b66cefb0e867c55b4d214b"
- }
- Frame {
- msec: 1408
- hash: "208a9d634e7c45211a8aea56b7cb17e1"
- }
- Frame {
- msec: 1424
- hash: "5426675426babcfb303d5534b66038e0"
- }
- Frame {
- msec: 1440
- hash: "f9b2505bf94f9ae9a6212aae64a8023f"
- }
- Frame {
- msec: 1456
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1472
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1488
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1504
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1520
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1536
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1552
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1568
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1584
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1600
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1616
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1632
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1648
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1664
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1680
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1696
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1712
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1728
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 28; y: 245
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1744
- hash: "672e4366f9eb212a3dcb539476ffe83b"
- }
- Frame {
- msec: 1760
- hash: "0312cf9bff66e992528cc24211a7a9ef"
- }
- Frame {
- msec: 1776
- hash: "d29d071c26556302881badd90b1f1135"
- }
- Frame {
- msec: 1792
- hash: "747b398a00dec18a82fb3e2313ba318b"
- }
- Frame {
- msec: 1808
- hash: "1df120f0cc1e8583dd52b02b203ba7ff"
- }
- Frame {
- msec: 1824
- hash: "783f4c179f8468055f1b5585108c4c91"
- }
- Frame {
- msec: 1840
- hash: "7307344c196f13348e7e23415c8eed1f"
- }
- Frame {
- msec: 1856
- hash: "cf97103f94eb6b9e68e095ff5eaf2aeb"
- }
- Frame {
- msec: 1872
- hash: "df8ef82f145ad55f084c3693cb601577"
- }
- Frame {
- msec: 1888
- hash: "e25a344db6358ac5876cc95eb7ce35e7"
- }
- Frame {
- msec: 1904
- hash: "4f4d55823e468ec2c0e73977a6851f5b"
- }
- Frame {
- msec: 1920
- hash: "894e23e77af266bde42f5ca6ac2184d7"
- }
- Frame {
- msec: 1936
- image: "easing.2.png"
- }
- Frame {
- msec: 1952
- hash: "a48cc4f2c5282d9d2a8b55e0908324b7"
- }
- Frame {
- msec: 1968
- hash: "f5cd3c873cf57f199ea7439a45f094d8"
- }
- Frame {
- msec: 1984
- hash: "8c6f4c913be02ee21efa551ce9a6544b"
- }
- Frame {
- msec: 2000
- hash: "fc979e4e4f6e82d704e0a53d3f9eef6e"
- }
- Frame {
- msec: 2016
- hash: "e8085e2e6741028a9218487181a8cc5b"
- }
- Frame {
- msec: 2032
- hash: "c67a1cec25d25687d369af58018ce213"
- }
- Frame {
- msec: 2048
- hash: "25b8e080f8fe5525bafa1e760b5845be"
- }
- Frame {
- msec: 2064
- hash: "fef16bd6dc6dfa248ab5a33f53229528"
- }
- Frame {
- msec: 2080
- hash: "57b7e04b1722feda16fb80269dd51c2c"
- }
- Frame {
- msec: 2096
- hash: "f2415e564efe5b5306b33001395a41f4"
- }
- Frame {
- msec: 2112
- hash: "40116a7a67be4de5b767ee1fe7ae0d02"
- }
- Frame {
- msec: 2128
- hash: "52d71e7e8f44e554df361d7d9e281655"
- }
- Frame {
- msec: 2144
- hash: "226620a3c624f0a1659ee33616734a28"
- }
- Frame {
- msec: 2160
- hash: "8849d02547a90ca47748749fc8615179"
- }
- Frame {
- msec: 2176
- hash: "5523d277bc7a7161f3bbd79a4099e6c4"
- }
- Frame {
- msec: 2192
- hash: "6ff2c6b89c3a024e1597d1c110b5f5f3"
- }
- Frame {
- msec: 2208
- hash: "732b9e2e601ad7fc11510f3c590dca20"
- }
- Frame {
- msec: 2224
- hash: "1ff9abdcb182fca444bc4b36e91b2a13"
- }
- Frame {
- msec: 2240
- hash: "6f851aee4e3c4427fcb8672f37885d2d"
- }
- Frame {
- msec: 2256
- hash: "3572977ef7c618404168514400fc22a4"
- }
- Frame {
- msec: 2272
- hash: "e6e6f7cdf4f2ee1d182d18da482ab6a8"
- }
- Frame {
- msec: 2288
- hash: "fac4878038516ad0a5601f78ff3d3ab0"
- }
- Frame {
- msec: 2304
- hash: "b37e2cf2fb3b5a91845e50d2ab288572"
- }
- Frame {
- msec: 2320
- hash: "711ea820aa842c46f629f3eb36144ec2"
- }
- Frame {
- msec: 2336
- hash: "fcaa0576cbc8d4459b94498f332a4576"
- }
- Frame {
- msec: 2352
- hash: "dfa935d0ac700696a78c139585d2cc3f"
- }
- Frame {
- msec: 2368
- hash: "291042d40fc9fa8eebf80225b2cae93e"
- }
- Frame {
- msec: 2384
- hash: "4e1d6af5f5f9200b6871dfc63ec8d92e"
- }
- Frame {
- msec: 2400
- hash: "9c7ccdf3aba3c28717891e7ef4333aa5"
- }
- Frame {
- msec: 2416
- hash: "b5bfa2eeb932ebc8913381bbea62ea9d"
- }
- Frame {
- msec: 2432
- hash: "296bc4fcc206c6563630a6de8be9deac"
- }
- Frame {
- msec: 2448
- hash: "57d39578c1ba3a6a21efdef8c9323965"
- }
- Frame {
- msec: 2464
- hash: "16352e11b7fd763d82d26fcc02da24a7"
- }
- Frame {
- msec: 2480
- hash: "02157cc0e120e1b751a9931ff65edb52"
- }
- Frame {
- msec: 2496
- hash: "23554c786732241aa9a59304cb4870b1"
- }
- Frame {
- msec: 2512
- hash: "e38f68e818b35b23361a7937b7a37bb7"
- }
- Frame {
- msec: 2528
- hash: "dd39869048e6ccfceb1b2882404ef1b3"
- }
- Frame {
- msec: 2544
- hash: "5587d88f5b8fcb3914efedee9ae3a939"
- }
- Frame {
- msec: 2560
- hash: "5a23991509d69d400249e403cd3fbe4d"
- }
- Frame {
- msec: 2576
- hash: "eed425fb759c92ec9966fcdc625321fb"
- }
- Frame {
- msec: 2592
- hash: "7bbf0748f5fbbf48605287342df8e687"
- }
- Frame {
- msec: 2608
- hash: "7722f0d3c358d57f3d614f2850fc23f9"
- }
- Frame {
- msec: 2624
- hash: "3ec5ccb1e6ed677617dcb3b699b10d58"
- }
- Frame {
- msec: 2640
- hash: "303a61969566062d5c77a3a1a65c847a"
- }
- Frame {
- msec: 2656
- hash: "aadf4d4cc978b5f88b97a7e453b21024"
- }
- Frame {
- msec: 2672
- hash: "2d24097717f5ec669e29250af78235fd"
- }
- Frame {
- msec: 2688
- hash: "2a58e7ce319cc1cd7dfcd740bfe59517"
- }
- Frame {
- msec: 2704
- hash: "6a21af6c920588f0f709bf91bb56f548"
- }
- Frame {
- msec: 2720
- hash: "f5a63f241f27c6e7cef969dde6790ac3"
- }
- Frame {
- msec: 2736
- hash: "33b64aad57e117f6b170432843c3c996"
- }
- Frame {
- msec: 2752
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2768
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2784
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2800
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2816
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2832
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2848
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2864
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2880
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2896
- image: "easing.3.png"
- }
- Frame {
- msec: 2912
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2928
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2944
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2960
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2976
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 2992
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3008
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3024
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3040
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3056
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3072
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3088
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3104
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3120
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3136
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3152
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3168
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3184
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3200
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3216
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3232
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3248
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3264
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3280
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3296
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3312
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3328
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3344
- hash: "4f12d90df04192e3f28026249015fa41"
- }
- Frame {
- msec: 3360
- hash: "4f12d90df04192e3f28026249015fa41"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/easing/easing.qml b/tests/auto/declarative/qmlvisual/animation/easing/easing.qml
deleted file mode 100644
index 625aeeb9b4..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/easing/easing.qml
+++ /dev/null
@@ -1,194 +0,0 @@
-import QtQuick 1.0
-/* This test just animates y of a block with every easing curve*/
-
-Rectangle {
- id: item
- height: 300
- width: layout.width
- color: "white"
- resources: [
- ListModel {
- id: easingtypes
- ListElement {
- type: "Linear"
- }
- ListElement {
- type: "InQuad"
- }
- ListElement {
- type: "OutQuad"
- }
- ListElement {
- type: "InOutQuad"
- }
- ListElement {
- type: "OutInQuad"
- }
- ListElement {
- type: "InCubic"
- }
- ListElement {
- type: "OutCubic"
- }
- ListElement {
- type: "InOutCubic"
- }
- ListElement {
- type: "OutInCubic"
- }
- ListElement {
- type: "InQuart"
- }
- ListElement {
- type: "OutQuart"
- }
- ListElement {
- type: "InOutQuart"
- }
- ListElement {
- type: "OutInQuart"
- }
- ListElement {
- type: "InQuint"
- }
- ListElement {
- type: "OutQuint"
- }
- ListElement {
- type: "InOutQuint"
- }
- ListElement {
- type: "OutInQuint"
- }
- ListElement {
- type: "InSine"
- }
- ListElement {
- type: "OutSine"
- }
- ListElement {
- type: "InOutSine"
- }
- ListElement {
- type: "OutInSine"
- }
- ListElement {
- type: "InExpo"
- }
- ListElement {
- type: "OutExpo"
- }
- ListElement {
- type: "InOutExpo"
- }
- ListElement {
- type: "OutInExpo"
- }
- ListElement {
- type: "InCirc"
- }
- ListElement {
- type: "OutCirc"
- }
- ListElement {
- type: "InOutCirc"
- }
- ListElement {
- type: "OutInCirc"
- }
- ListElement {
- type: "InElastic"
- }
- ListElement {
- type: "OutElastic"
- }
- ListElement {
- type: "InOutElastic"
- }
- ListElement {
- type: "OutInElastic"
- }
- ListElement {
- type: "InBack"
- }
- ListElement {
- type: "OutBack"
- }
- ListElement {
- type: "InOutBack"
- }
- ListElement {
- type: "OutInBack"
- }
- ListElement {
- type: "OutBounce"
- }
- ListElement {
- type: "InBounce"
- }
- ListElement {
- type: "InOutBounce"
- }
- ListElement {
- type: "OutInBounce"
- }
- }
- ]
- Row {
- id: layout
- anchors.top: item.top
- anchors.bottom: item.bottom
- Repeater {
- model: easingtypes
- Component {
- Rectangle {
- id: block
- Text {
- text: type
- anchors.centerIn: parent
- font.italic: true
- color: index & 1 ? "black" : "white"
- opacity: 0 // 1 for debugging
- }
- width: 15
- height: 30
- color: index & 1 ? "red" : "blue"
- states: [
- State {
- name: "from"
- when: !mouse.pressed
- PropertyChanges {
- target: block
- y: 0
- }
- },
- State {
- name: "to"
- when: mouse.pressed
- PropertyChanges {
- target: block
- y: item.height-block.height
- }
- }
- ]
- transitions: [
- Transition {
- from: "*"
- to: "to"
- reversible: true
- NumberAnimation {
- properties: "y"
- easing.type: type
- duration: 1000
- }
- }
- ]
- }
- }
- }
- }
- MouseArea {
- id: mouse
- anchors.fill: layout
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png
deleted file mode 100644
index ca37de9d42..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.1.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.1.png
deleted file mode 100644
index a2d87ca8a5..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.2.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.2.png
deleted file mode 100644
index 1cb2cb893e..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.3.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.3.png
deleted file mode 100644
index f58deca6d2..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.4.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.4.png
deleted file mode 100644
index 1936361b37..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.5.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.5.png
deleted file mode 100644
index 758c223180..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.6.png b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.6.png
deleted file mode 100644
index b049e63873..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml b/tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml
deleted file mode 100644
index 3cbc0745c4..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/loop/data/loop.qml
+++ /dev/null
@@ -1,1471 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "loop.0.png"
- }
- Frame {
- msec: 32
- hash: "1012b52727ae98522061945e32a6269a"
- }
- Frame {
- msec: 48
- hash: "06c3f3c1fa014b0eb7341e0a45ca16e4"
- }
- Frame {
- msec: 64
- hash: "71ecb0af25649c056310d3b865d4144d"
- }
- Frame {
- msec: 80
- hash: "e249fe5b113797433f96a2f84d47e42b"
- }
- Frame {
- msec: 96
- hash: "2a7256921c25c79c22263f2b48d4e98c"
- }
- Frame {
- msec: 112
- hash: "8657944b456402622f2991a0c9acc2fb"
- }
- Frame {
- msec: 128
- hash: "c919a94cd7afb1fbad4c88537af00869"
- }
- Frame {
- msec: 144
- hash: "303b5057d94e328f9447a01d54eea93d"
- }
- Frame {
- msec: 160
- hash: "72eb974dc008c9454935b18b47d4d9e6"
- }
- Frame {
- msec: 176
- hash: "545f258cb0ec7f5d951b74cc7d3f4f0d"
- }
- Frame {
- msec: 192
- hash: "3b3d6046fb01adf7c8a7f67bbc46d28e"
- }
- Frame {
- msec: 208
- hash: "12f7556076cf7a4c2f029dab80e666e7"
- }
- Frame {
- msec: 224
- hash: "fab272c7dce2bbee4042764d38c7ceb5"
- }
- Frame {
- msec: 240
- hash: "ff8addee408527bbaed1819bae07c23f"
- }
- Frame {
- msec: 256
- hash: "53eb6f575db2af3635139e5ddbd7b2f9"
- }
- Frame {
- msec: 272
- hash: "a2fa1cf169acb8ff26a2c5ec1f1d5c81"
- }
- Frame {
- msec: 288
- hash: "ab8d5d6d146ed11b92bc93e78f28e50c"
- }
- Frame {
- msec: 304
- hash: "0fbfc6609b082008e44592067b18ab63"
- }
- Frame {
- msec: 320
- hash: "7fbeda19c19c62a0af5f7f98e633993f"
- }
- Frame {
- msec: 336
- hash: "1882b591bc9d4e79d69d0baecb78b700"
- }
- Frame {
- msec: 352
- hash: "dde429007f876206f3ec0c68d239983e"
- }
- Frame {
- msec: 368
- hash: "b656bdba2978a9a1af511cc2bb0cb59a"
- }
- Frame {
- msec: 384
- hash: "1f6573bf67b2893c94f0c2d40213dc73"
- }
- Frame {
- msec: 400
- hash: "f5786fb532300a1b2f820251fc17c775"
- }
- Frame {
- msec: 416
- hash: "a0e9c4bd3b6c4cdadd40bdf3ca5e2986"
- }
- Frame {
- msec: 432
- hash: "073f74ab23a1173025b3c63424ce2697"
- }
- Frame {
- msec: 448
- hash: "1ac1367d21e346c6c652a88b9ea25bfc"
- }
- Frame {
- msec: 464
- hash: "f62720308dc9ae67c3856bc3afb32b75"
- }
- Frame {
- msec: 480
- hash: "066476a57efba802d2497bc3731a3583"
- }
- Frame {
- msec: 496
- hash: "fb965028a760e8d0a4d81fd982a18ff3"
- }
- Frame {
- msec: 512
- hash: "ba008abd1a7a73c750b909d57c043649"
- }
- Frame {
- msec: 528
- hash: "4c974470953f74d1ee7bcd0f4a4c48cf"
- }
- Frame {
- msec: 544
- hash: "ea233f3476da26c90d67b7775b718aa2"
- }
- Frame {
- msec: 560
- hash: "e12c3b810c0aa628d7a3827453bea9f3"
- }
- Frame {
- msec: 576
- hash: "7451954ca0465c430fc4bae84f6d97cb"
- }
- Frame {
- msec: 592
- hash: "503e40f193a8b099daa4013eddc2f664"
- }
- Frame {
- msec: 608
- hash: "1f81acf94f325a51faa7aa61e73f8a25"
- }
- Frame {
- msec: 624
- hash: "0257d7d53eda8afe182a9f97ef451679"
- }
- Frame {
- msec: 640
- hash: "cfc260bdc977ef16311840022cc85378"
- }
- Frame {
- msec: 656
- hash: "27483f0b89d727b32722ea153fad30ad"
- }
- Frame {
- msec: 672
- hash: "355afa11b8e7b24a353d1aa79daf7564"
- }
- Frame {
- msec: 688
- hash: "bbc1d55f346719476f471a2294227bda"
- }
- Frame {
- msec: 704
- hash: "9bbab5ff75219d8bd65022c6d061e57a"
- }
- Frame {
- msec: 720
- hash: "ff0699f02845f3c5cf5aabb19198c346"
- }
- Frame {
- msec: 736
- hash: "26768e09270ade4c5b484154e7042f43"
- }
- Frame {
- msec: 752
- hash: "31c9ae63071de3fb2f7e1836a22515cb"
- }
- Frame {
- msec: 768
- hash: "783ce2acdae8d87883151532c9293336"
- }
- Frame {
- msec: 784
- hash: "86b9fd739f437127e0cc4d7dcd4284bd"
- }
- Frame {
- msec: 800
- hash: "5e1d6e164dd184cc197d514e5ff60a4c"
- }
- Frame {
- msec: 816
- hash: "13063a8d73704165d64dd2a95803ec0f"
- }
- Frame {
- msec: 832
- hash: "c244e0c0d60f4be2e017bba21a17ab3f"
- }
- Frame {
- msec: 848
- hash: "b3bd657873f1b49c888b9b98d8c0e23f"
- }
- Frame {
- msec: 864
- hash: "65a011e4f62ecddd820bdbdeb0084b65"
- }
- Frame {
- msec: 880
- hash: "86018de7b4a93b267fe94c4de9e61bab"
- }
- Frame {
- msec: 896
- hash: "44827055c99ae3ed924c101c9d1be5c5"
- }
- Frame {
- msec: 912
- hash: "1c31fcb20ec1abc7ea815b703ae05363"
- }
- Frame {
- msec: 928
- hash: "9d7825b7b05ca696846a4116ab27f966"
- }
- Frame {
- msec: 944
- hash: "61b6690dd14fc76dbac4d785bbddb8ee"
- }
- Frame {
- msec: 960
- hash: "0de25d97a43cf1a7551c8e8dd1943039"
- }
- Frame {
- msec: 976
- image: "loop.1.png"
- }
- Frame {
- msec: 992
- hash: "9747fdff3429f7a2dbc9e3173ad43a67"
- }
- Frame {
- msec: 1008
- hash: "e68058b9565138f2d7f0f96b74c38dec"
- }
- Frame {
- msec: 1024
- hash: "f32aceabb929471dffd73bf0290e75a2"
- }
- Frame {
- msec: 1040
- hash: "9112838cc8f9a0cfb94e0ef6ca7eca71"
- }
- Frame {
- msec: 1056
- hash: "53bd2c46e3a11db0ee151a6a0311b3a8"
- }
- Frame {
- msec: 1072
- hash: "d5105f958a592324e53aae4a83beb049"
- }
- Frame {
- msec: 1088
- hash: "862249432e6fc6114b63284ad9c97cb6"
- }
- Frame {
- msec: 1104
- hash: "3e6a6f505aa146a6789434d265ad4d3b"
- }
- Frame {
- msec: 1120
- hash: "0f5b2b05f72b86bd2b0a6d0ea2b6bf37"
- }
- Frame {
- msec: 1136
- hash: "922520f7ec954d6d1061208cbd63877e"
- }
- Frame {
- msec: 1152
- hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48"
- }
- Frame {
- msec: 1168
- hash: "ebb41112b687ecb062dedc3b49cb93fc"
- }
- Frame {
- msec: 1184
- hash: "7bc87d71d532aa52abc26ac9c1cbb665"
- }
- Frame {
- msec: 1200
- hash: "1a7a81f851c8817cac3cc0cb7ac07971"
- }
- Frame {
- msec: 1216
- hash: "ca17c870c55f2947bb5f85d28f30ee7c"
- }
- Frame {
- msec: 1232
- hash: "48b123cfd6d2ea1c2bc9f2ba822ec7bf"
- }
- Frame {
- msec: 1248
- hash: "2a6b8aecef26793e200993dc1e25fd95"
- }
- Frame {
- msec: 1264
- hash: "f10a0a11ed54a910fe434311f67343a4"
- }
- Frame {
- msec: 1280
- hash: "47b6e1beabdcd3cd3d21d77c62e5bed8"
- }
- Frame {
- msec: 1296
- hash: "1eea7eb2853a9e7a1a69738667457b7a"
- }
- Frame {
- msec: 1312
- hash: "9e018f9e7a5ba22bbb9be3049373124a"
- }
- Frame {
- msec: 1328
- hash: "d63069a8e7b0eb5611cc34caaecef2fb"
- }
- Frame {
- msec: 1344
- hash: "def9383a090e4454343725f1a7c4fb3d"
- }
- Frame {
- msec: 1360
- hash: "fd3036e559fd31eeadb0032666a95864"
- }
- Frame {
- msec: 1376
- hash: "cf9f82b9e2a03f63f75b6ac113b3d4e5"
- }
- Frame {
- msec: 1392
- hash: "346e7f597cfb4fc51d5393e705deddd5"
- }
- Frame {
- msec: 1408
- hash: "0d6d6cb2ca808f5a57acfa32e10fc335"
- }
- Frame {
- msec: 1424
- hash: "9a660a0fed41211a37d3ac82be40f81a"
- }
- Frame {
- msec: 1440
- hash: "df3fd60ecbd517879e00e8112c49bed4"
- }
- Frame {
- msec: 1456
- hash: "cd86fe5894e5d061f7ffe37913f00ce6"
- }
- Frame {
- msec: 1472
- hash: "a5fdb825c18d43f3ae18f5c28e715174"
- }
- Frame {
- msec: 1488
- hash: "0fdfb5f9463def560da6c19acf96bafb"
- }
- Frame {
- msec: 1504
- hash: "8849a36af064503dbccad69a35b6ab03"
- }
- Frame {
- msec: 1520
- hash: "baeb4f90b0e2efc09225dbb5dd003e9e"
- }
- Frame {
- msec: 1536
- hash: "86922e71c80976ef3aa2cab18f86c010"
- }
- Frame {
- msec: 1552
- hash: "10d166d7da9949370a66251415522186"
- }
- Frame {
- msec: 1568
- hash: "ada1608055b221dc9f1f7650a9764930"
- }
- Frame {
- msec: 1584
- hash: "dd25ffb9a6bf009139b2942f9cc1f8e7"
- }
- Frame {
- msec: 1600
- hash: "dc4a1c44d08328965b53ff079a8fa57b"
- }
- Frame {
- msec: 1616
- hash: "d3d88cf635ba38e5035732cb36014417"
- }
- Frame {
- msec: 1632
- hash: "be5e44f6b9978ba3b9ae878ae5758a96"
- }
- Frame {
- msec: 1648
- hash: "34f193daf199ab45310be2b407499e57"
- }
- Frame {
- msec: 1664
- hash: "d87c854e1c16642dba0d87e25f0e416f"
- }
- Frame {
- msec: 1680
- hash: "08c404f4efd27695071ad52fbfa57c0b"
- }
- Frame {
- msec: 1696
- hash: "84828f8e0cace1a39d9b7f19b6e4cbaa"
- }
- Frame {
- msec: 1712
- hash: "8a0c6e1f597e699c3e2be816ae4e1dd4"
- }
- Frame {
- msec: 1728
- hash: "9aecb0c464fb140725f34ad94ede367a"
- }
- Frame {
- msec: 1744
- hash: "a298b3ab2939819ced7e7f903ec63be4"
- }
- Frame {
- msec: 1760
- hash: "99789b6e168355a3960986c7d1f21f82"
- }
- Frame {
- msec: 1776
- hash: "ebd37ee719ca460480521fd4ec284a3f"
- }
- Frame {
- msec: 1792
- hash: "9c9b3fb5b623d3deaf9920c99279d71b"
- }
- Frame {
- msec: 1808
- hash: "8f0be6d4d6fd7f66a43fd604e17717dd"
- }
- Frame {
- msec: 1824
- hash: "854defd35cf3315e4501583756814ff6"
- }
- Frame {
- msec: 1840
- hash: "fd7157aef6dfb303472cd33b176f91d8"
- }
- Frame {
- msec: 1856
- hash: "e6521a3c74c190c193af2c913e5326e2"
- }
- Frame {
- msec: 1872
- hash: "19862dcb88fcbbb2c4ecdc42821c7fef"
- }
- Frame {
- msec: 1888
- hash: "5e29a9f9c6c4131c5b71f84d24503ad2"
- }
- Frame {
- msec: 1904
- hash: "140e63c071ef77d26034d0bb6a5d5b7a"
- }
- Frame {
- msec: 1920
- hash: "72c0bf8225504e86ff023242b84513a8"
- }
- Frame {
- msec: 1936
- image: "loop.2.png"
- }
- Frame {
- msec: 1952
- hash: "a5eb3334044999f56c759ce8727d627f"
- }
- Frame {
- msec: 1968
- hash: "3fb70a7591b6decfa44f7cad18f73855"
- }
- Frame {
- msec: 1984
- hash: "3fab99be73f7f12b9463dea359fc86d2"
- }
- Frame {
- msec: 2000
- hash: "50ce6b869e42c949b84cf2dd0cca3af9"
- }
- Frame {
- msec: 2016
- hash: "5369125b23e2f954c18f2fd4e0ba6f6a"
- }
- Frame {
- msec: 2032
- hash: "a76f624be0db97ec4450b10f748065df"
- }
- Frame {
- msec: 2048
- hash: "3fb70a7591b6decfa44f7cad18f73855"
- }
- Frame {
- msec: 2064
- hash: "dada267799b6e57acfcc5de3b8822c7c"
- }
- Frame {
- msec: 2080
- hash: "72c0bf8225504e86ff023242b84513a8"
- }
- Frame {
- msec: 2096
- hash: "1e8b095c39bd359637b1b9c975ee514c"
- }
- Frame {
- msec: 2112
- hash: "19862dcb88fcbbb2c4ecdc42821c7fef"
- }
- Frame {
- msec: 2128
- hash: "60c95993a894e1c6e2d476db365b7746"
- }
- Frame {
- msec: 2144
- hash: "854defd35cf3315e4501583756814ff6"
- }
- Frame {
- msec: 2160
- hash: "15e8959bfa4d206b2f0607322b21cba6"
- }
- Frame {
- msec: 2176
- hash: "ebd37ee719ca460480521fd4ec284a3f"
- }
- Frame {
- msec: 2192
- hash: "6d278926822d044fff04c3f182dcb058"
- }
- Frame {
- msec: 2208
- hash: "9aecb0c464fb140725f34ad94ede367a"
- }
- Frame {
- msec: 2224
- hash: "b36f70f138e6deecf5b105bcd89d1a15"
- }
- Frame {
- msec: 2240
- hash: "08c404f4efd27695071ad52fbfa57c0b"
- }
- Frame {
- msec: 2256
- hash: "6469d0bee7ab280639b565ebf174f251"
- }
- Frame {
- msec: 2272
- hash: "be5e44f6b9978ba3b9ae878ae5758a96"
- }
- Frame {
- msec: 2288
- hash: "5214e578bc78b729ddf35c140093c0da"
- }
- Frame {
- msec: 2304
- hash: "dd25ffb9a6bf009139b2942f9cc1f8e7"
- }
- Frame {
- msec: 2320
- hash: "2ddf31aeac4815be56848703a9b5aa14"
- }
- Frame {
- msec: 2336
- hash: "86922e71c80976ef3aa2cab18f86c010"
- }
- Frame {
- msec: 2352
- hash: "d8415ba4fb19b62b838ef2e09ae7607a"
- }
- Frame {
- msec: 2368
- hash: "0fdfb5f9463def560da6c19acf96bafb"
- }
- Frame {
- msec: 2384
- hash: "68fac60713af7cb130e92fa381be411c"
- }
- Frame {
- msec: 2400
- hash: "df3fd60ecbd517879e00e8112c49bed4"
- }
- Frame {
- msec: 2416
- hash: "64e49282d97ba864d2f6be632ae048e4"
- }
- Frame {
- msec: 2432
- hash: "346e7f597cfb4fc51d5393e705deddd5"
- }
- Frame {
- msec: 2448
- hash: "f302a9ce45187ff1001c967a4c753b2b"
- }
- Frame {
- msec: 2464
- hash: "def9383a090e4454343725f1a7c4fb3d"
- }
- Frame {
- msec: 2480
- hash: "fd177a7ae3b5b9205fd38e955be327e0"
- }
- Frame {
- msec: 2496
- hash: "1eea7eb2853a9e7a1a69738667457b7a"
- }
- Frame {
- msec: 2512
- hash: "32b16dd62ccf06e44be38fd5885f297e"
- }
- Frame {
- msec: 2528
- hash: "2a6b8aecef26793e200993dc1e25fd95"
- }
- Frame {
- msec: 2544
- hash: "8637606843905d6ae3f95fcb745f2a6e"
- }
- Frame {
- msec: 2560
- hash: "1a7a81f851c8817cac3cc0cb7ac07971"
- }
- Frame {
- msec: 2576
- hash: "704ca30ddc0a637f3d1cd4926a6f7983"
- }
- Frame {
- msec: 2592
- hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48"
- }
- Frame {
- msec: 2608
- hash: "7759418b4fe412857ab8e7294f5a3206"
- }
- Frame {
- msec: 2624
- hash: "3e6a6f505aa146a6789434d265ad4d3b"
- }
- Frame {
- msec: 2640
- hash: "3e6089b47573cd53b0a220275202c80b"
- }
- Frame {
- msec: 2656
- hash: "53bd2c46e3a11db0ee151a6a0311b3a8"
- }
- Frame {
- msec: 2672
- hash: "f30202ae354a587c5949a16c1f8b95c3"
- }
- Frame {
- msec: 2688
- hash: "66f78a34fe9d297af1ae8e98f84ead55"
- }
- Frame {
- msec: 2704
- hash: "3e2fc29876812fe57ea008a71db299a4"
- }
- Frame {
- msec: 2720
- hash: "7234b6df2220e418ef8ebe8f1c82bf26"
- }
- Frame {
- msec: 2736
- hash: "82dd491c3b34e702a24ece8e55761a6f"
- }
- Frame {
- msec: 2752
- hash: "d7f1065f5c42088dfc5ce36687fd8010"
- }
- Frame {
- msec: 2768
- hash: "15bfbb0261b66ccbe3b34d0ac807165c"
- }
- Frame {
- msec: 2784
- hash: "69963ce07eb434d787588b21fd020fa3"
- }
- Frame {
- msec: 2800
- hash: "2fb9e078573ebd1a5cf0f615c97f1d20"
- }
- Frame {
- msec: 2816
- hash: "31fa31ed47ea16390be8ea9d41f483e7"
- }
- Frame {
- msec: 2832
- hash: "0f9ed8cd5cfbdab03bcb05cf6dd92620"
- }
- Frame {
- msec: 2848
- hash: "a0e737132ae642c465e991e770ab3e34"
- }
- Frame {
- msec: 2864
- hash: "d57cc5045f01ab4e7eb72575aef22a10"
- }
- Frame {
- msec: 2880
- hash: "d57e1a10e48938e1f7fc219220fe1204"
- }
- Frame {
- msec: 2896
- image: "loop.3.png"
- }
- Frame {
- msec: 2912
- hash: "2d294613ed10dfdbca829b43b6990574"
- }
- Frame {
- msec: 2928
- hash: "0a278a4ec3626442c94ef2da30771171"
- }
- Frame {
- msec: 2944
- hash: "7071526c830fdfde9d520ad1578d27a8"
- }
- Frame {
- msec: 2960
- hash: "ad02e7b90f223d3fc5a433bc4ffbee9e"
- }
- Frame {
- msec: 2976
- hash: "e7ef412697c7df3887980ed1b079ffd5"
- }
- Frame {
- msec: 2992
- hash: "ebda21f95079b37f4862b42523bbc1c0"
- }
- Frame {
- msec: 3008
- hash: "6e8889e9b44ff8ed44e228d97fb5034c"
- }
- Frame {
- msec: 3024
- hash: "f32aceabb929471dffd73bf0290e75a2"
- }
- Frame {
- msec: 3040
- hash: "9112838cc8f9a0cfb94e0ef6ca7eca71"
- }
- Frame {
- msec: 3056
- hash: "53bd2c46e3a11db0ee151a6a0311b3a8"
- }
- Frame {
- msec: 3072
- hash: "d5105f958a592324e53aae4a83beb049"
- }
- Frame {
- msec: 3088
- hash: "862249432e6fc6114b63284ad9c97cb6"
- }
- Frame {
- msec: 3104
- hash: "3e6a6f505aa146a6789434d265ad4d3b"
- }
- Frame {
- msec: 3120
- hash: "0f5b2b05f72b86bd2b0a6d0ea2b6bf37"
- }
- Frame {
- msec: 3136
- hash: "922520f7ec954d6d1061208cbd63877e"
- }
- Frame {
- msec: 3152
- hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48"
- }
- Frame {
- msec: 3168
- hash: "ebb41112b687ecb062dedc3b49cb93fc"
- }
- Frame {
- msec: 3184
- hash: "7bc87d71d532aa52abc26ac9c1cbb665"
- }
- Frame {
- msec: 3200
- hash: "1a7a81f851c8817cac3cc0cb7ac07971"
- }
- Frame {
- msec: 3216
- hash: "ca17c870c55f2947bb5f85d28f30ee7c"
- }
- Frame {
- msec: 3232
- hash: "48b123cfd6d2ea1c2bc9f2ba822ec7bf"
- }
- Frame {
- msec: 3248
- hash: "2a6b8aecef26793e200993dc1e25fd95"
- }
- Frame {
- msec: 3264
- hash: "f10a0a11ed54a910fe434311f67343a4"
- }
- Frame {
- msec: 3280
- hash: "47b6e1beabdcd3cd3d21d77c62e5bed8"
- }
- Frame {
- msec: 3296
- hash: "1eea7eb2853a9e7a1a69738667457b7a"
- }
- Frame {
- msec: 3312
- hash: "9e018f9e7a5ba22bbb9be3049373124a"
- }
- Frame {
- msec: 3328
- hash: "d63069a8e7b0eb5611cc34caaecef2fb"
- }
- Frame {
- msec: 3344
- hash: "def9383a090e4454343725f1a7c4fb3d"
- }
- Frame {
- msec: 3360
- hash: "fd3036e559fd31eeadb0032666a95864"
- }
- Frame {
- msec: 3376
- hash: "cf9f82b9e2a03f63f75b6ac113b3d4e5"
- }
- Frame {
- msec: 3392
- hash: "346e7f597cfb4fc51d5393e705deddd5"
- }
- Frame {
- msec: 3408
- hash: "0d6d6cb2ca808f5a57acfa32e10fc335"
- }
- Frame {
- msec: 3424
- hash: "9a660a0fed41211a37d3ac82be40f81a"
- }
- Frame {
- msec: 3440
- hash: "df3fd60ecbd517879e00e8112c49bed4"
- }
- Frame {
- msec: 3456
- hash: "cd86fe5894e5d061f7ffe37913f00ce6"
- }
- Frame {
- msec: 3472
- hash: "a5fdb825c18d43f3ae18f5c28e715174"
- }
- Frame {
- msec: 3488
- hash: "0fdfb5f9463def560da6c19acf96bafb"
- }
- Frame {
- msec: 3504
- hash: "8849a36af064503dbccad69a35b6ab03"
- }
- Frame {
- msec: 3520
- hash: "baeb4f90b0e2efc09225dbb5dd003e9e"
- }
- Frame {
- msec: 3536
- hash: "86922e71c80976ef3aa2cab18f86c010"
- }
- Frame {
- msec: 3552
- hash: "10d166d7da9949370a66251415522186"
- }
- Frame {
- msec: 3568
- hash: "ada1608055b221dc9f1f7650a9764930"
- }
- Frame {
- msec: 3584
- hash: "dd25ffb9a6bf009139b2942f9cc1f8e7"
- }
- Frame {
- msec: 3600
- hash: "dc4a1c44d08328965b53ff079a8fa57b"
- }
- Frame {
- msec: 3616
- hash: "d3d88cf635ba38e5035732cb36014417"
- }
- Frame {
- msec: 3632
- hash: "be5e44f6b9978ba3b9ae878ae5758a96"
- }
- Frame {
- msec: 3648
- hash: "34f193daf199ab45310be2b407499e57"
- }
- Frame {
- msec: 3664
- hash: "d87c854e1c16642dba0d87e25f0e416f"
- }
- Frame {
- msec: 3680
- hash: "08c404f4efd27695071ad52fbfa57c0b"
- }
- Frame {
- msec: 3696
- hash: "84828f8e0cace1a39d9b7f19b6e4cbaa"
- }
- Frame {
- msec: 3712
- hash: "8a0c6e1f597e699c3e2be816ae4e1dd4"
- }
- Frame {
- msec: 3728
- hash: "9aecb0c464fb140725f34ad94ede367a"
- }
- Frame {
- msec: 3744
- hash: "a298b3ab2939819ced7e7f903ec63be4"
- }
- Frame {
- msec: 3760
- hash: "99789b6e168355a3960986c7d1f21f82"
- }
- Frame {
- msec: 3776
- hash: "ebd37ee719ca460480521fd4ec284a3f"
- }
- Frame {
- msec: 3792
- hash: "9c9b3fb5b623d3deaf9920c99279d71b"
- }
- Frame {
- msec: 3808
- hash: "8f0be6d4d6fd7f66a43fd604e17717dd"
- }
- Frame {
- msec: 3824
- hash: "854defd35cf3315e4501583756814ff6"
- }
- Frame {
- msec: 3840
- hash: "fd7157aef6dfb303472cd33b176f91d8"
- }
- Frame {
- msec: 3856
- image: "loop.4.png"
- }
- Frame {
- msec: 3872
- hash: "19862dcb88fcbbb2c4ecdc42821c7fef"
- }
- Frame {
- msec: 3888
- hash: "5e29a9f9c6c4131c5b71f84d24503ad2"
- }
- Frame {
- msec: 3904
- hash: "140e63c071ef77d26034d0bb6a5d5b7a"
- }
- Frame {
- msec: 3920
- hash: "72c0bf8225504e86ff023242b84513a8"
- }
- Frame {
- msec: 3936
- hash: "7f79dd50a0af8e8871191ee80afcad0f"
- }
- Frame {
- msec: 3952
- hash: "a5eb3334044999f56c759ce8727d627f"
- }
- Frame {
- msec: 3968
- hash: "3fb70a7591b6decfa44f7cad18f73855"
- }
- Frame {
- msec: 3984
- hash: "3fab99be73f7f12b9463dea359fc86d2"
- }
- Frame {
- msec: 4000
- hash: "50ce6b869e42c949b84cf2dd0cca3af9"
- }
- Frame {
- msec: 4016
- hash: "5369125b23e2f954c18f2fd4e0ba6f6a"
- }
- Frame {
- msec: 4032
- hash: "a76f624be0db97ec4450b10f748065df"
- }
- Frame {
- msec: 4048
- hash: "3fb70a7591b6decfa44f7cad18f73855"
- }
- Frame {
- msec: 4064
- hash: "dada267799b6e57acfcc5de3b8822c7c"
- }
- Frame {
- msec: 4080
- hash: "72c0bf8225504e86ff023242b84513a8"
- }
- Frame {
- msec: 4096
- hash: "1e8b095c39bd359637b1b9c975ee514c"
- }
- Frame {
- msec: 4112
- hash: "19862dcb88fcbbb2c4ecdc42821c7fef"
- }
- Frame {
- msec: 4128
- hash: "60c95993a894e1c6e2d476db365b7746"
- }
- Frame {
- msec: 4144
- hash: "854defd35cf3315e4501583756814ff6"
- }
- Frame {
- msec: 4160
- hash: "15e8959bfa4d206b2f0607322b21cba6"
- }
- Frame {
- msec: 4176
- hash: "ebd37ee719ca460480521fd4ec284a3f"
- }
- Frame {
- msec: 4192
- hash: "6d278926822d044fff04c3f182dcb058"
- }
- Frame {
- msec: 4208
- hash: "9aecb0c464fb140725f34ad94ede367a"
- }
- Frame {
- msec: 4224
- hash: "b36f70f138e6deecf5b105bcd89d1a15"
- }
- Frame {
- msec: 4240
- hash: "08c404f4efd27695071ad52fbfa57c0b"
- }
- Frame {
- msec: 4256
- hash: "6469d0bee7ab280639b565ebf174f251"
- }
- Frame {
- msec: 4272
- hash: "be5e44f6b9978ba3b9ae878ae5758a96"
- }
- Frame {
- msec: 4288
- hash: "5214e578bc78b729ddf35c140093c0da"
- }
- Frame {
- msec: 4304
- hash: "dd25ffb9a6bf009139b2942f9cc1f8e7"
- }
- Frame {
- msec: 4320
- hash: "2ddf31aeac4815be56848703a9b5aa14"
- }
- Frame {
- msec: 4336
- hash: "86922e71c80976ef3aa2cab18f86c010"
- }
- Frame {
- msec: 4352
- hash: "d8415ba4fb19b62b838ef2e09ae7607a"
- }
- Frame {
- msec: 4368
- hash: "0fdfb5f9463def560da6c19acf96bafb"
- }
- Frame {
- msec: 4384
- hash: "68fac60713af7cb130e92fa381be411c"
- }
- Frame {
- msec: 4400
- hash: "df3fd60ecbd517879e00e8112c49bed4"
- }
- Frame {
- msec: 4416
- hash: "64e49282d97ba864d2f6be632ae048e4"
- }
- Frame {
- msec: 4432
- hash: "346e7f597cfb4fc51d5393e705deddd5"
- }
- Frame {
- msec: 4448
- hash: "f302a9ce45187ff1001c967a4c753b2b"
- }
- Frame {
- msec: 4464
- hash: "def9383a090e4454343725f1a7c4fb3d"
- }
- Frame {
- msec: 4480
- hash: "fd177a7ae3b5b9205fd38e955be327e0"
- }
- Frame {
- msec: 4496
- hash: "1eea7eb2853a9e7a1a69738667457b7a"
- }
- Frame {
- msec: 4512
- hash: "32b16dd62ccf06e44be38fd5885f297e"
- }
- Frame {
- msec: 4528
- hash: "2a6b8aecef26793e200993dc1e25fd95"
- }
- Frame {
- msec: 4544
- hash: "8637606843905d6ae3f95fcb745f2a6e"
- }
- Frame {
- msec: 4560
- hash: "1a7a81f851c8817cac3cc0cb7ac07971"
- }
- Frame {
- msec: 4576
- hash: "704ca30ddc0a637f3d1cd4926a6f7983"
- }
- Frame {
- msec: 4592
- hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48"
- }
- Frame {
- msec: 4608
- hash: "7759418b4fe412857ab8e7294f5a3206"
- }
- Frame {
- msec: 4624
- hash: "3e6a6f505aa146a6789434d265ad4d3b"
- }
- Frame {
- msec: 4640
- hash: "3e6089b47573cd53b0a220275202c80b"
- }
- Frame {
- msec: 4656
- hash: "53bd2c46e3a11db0ee151a6a0311b3a8"
- }
- Frame {
- msec: 4672
- hash: "f30202ae354a587c5949a16c1f8b95c3"
- }
- Frame {
- msec: 4688
- hash: "66f78a34fe9d297af1ae8e98f84ead55"
- }
- Frame {
- msec: 4704
- hash: "3e2fc29876812fe57ea008a71db299a4"
- }
- Frame {
- msec: 4720
- hash: "7234b6df2220e418ef8ebe8f1c82bf26"
- }
- Frame {
- msec: 4736
- hash: "82dd491c3b34e702a24ece8e55761a6f"
- }
- Frame {
- msec: 4752
- hash: "d7f1065f5c42088dfc5ce36687fd8010"
- }
- Frame {
- msec: 4768
- hash: "15bfbb0261b66ccbe3b34d0ac807165c"
- }
- Frame {
- msec: 4784
- hash: "69963ce07eb434d787588b21fd020fa3"
- }
- Frame {
- msec: 4800
- hash: "2fb9e078573ebd1a5cf0f615c97f1d20"
- }
- Frame {
- msec: 4816
- image: "loop.5.png"
- }
- Frame {
- msec: 4832
- hash: "0f9ed8cd5cfbdab03bcb05cf6dd92620"
- }
- Frame {
- msec: 4848
- hash: "a0e737132ae642c465e991e770ab3e34"
- }
- Frame {
- msec: 4864
- hash: "d57cc5045f01ab4e7eb72575aef22a10"
- }
- Frame {
- msec: 4880
- hash: "d57e1a10e48938e1f7fc219220fe1204"
- }
- Frame {
- msec: 4896
- hash: "df41be1fa564353ceb2088af209610d3"
- }
- Frame {
- msec: 4912
- hash: "2d294613ed10dfdbca829b43b6990574"
- }
- Frame {
- msec: 4928
- hash: "0a278a4ec3626442c94ef2da30771171"
- }
- Frame {
- msec: 4944
- hash: "7071526c830fdfde9d520ad1578d27a8"
- }
- Frame {
- msec: 4960
- hash: "ad02e7b90f223d3fc5a433bc4ffbee9e"
- }
- Frame {
- msec: 4976
- hash: "e7ef412697c7df3887980ed1b079ffd5"
- }
- Frame {
- msec: 4992
- hash: "ebda21f95079b37f4862b42523bbc1c0"
- }
- Frame {
- msec: 5008
- hash: "6e8889e9b44ff8ed44e228d97fb5034c"
- }
- Frame {
- msec: 5024
- hash: "f32aceabb929471dffd73bf0290e75a2"
- }
- Frame {
- msec: 5040
- hash: "9112838cc8f9a0cfb94e0ef6ca7eca71"
- }
- Frame {
- msec: 5056
- hash: "53bd2c46e3a11db0ee151a6a0311b3a8"
- }
- Frame {
- msec: 5072
- hash: "d5105f958a592324e53aae4a83beb049"
- }
- Frame {
- msec: 5088
- hash: "862249432e6fc6114b63284ad9c97cb6"
- }
- Frame {
- msec: 5104
- hash: "3e6a6f505aa146a6789434d265ad4d3b"
- }
- Frame {
- msec: 5120
- hash: "0f5b2b05f72b86bd2b0a6d0ea2b6bf37"
- }
- Frame {
- msec: 5136
- hash: "922520f7ec954d6d1061208cbd63877e"
- }
- Frame {
- msec: 5152
- hash: "d1c02f3ce4bcc96e0c3d2503a0e9aa48"
- }
- Frame {
- msec: 5168
- hash: "ebb41112b687ecb062dedc3b49cb93fc"
- }
- Frame {
- msec: 5184
- hash: "7bc87d71d532aa52abc26ac9c1cbb665"
- }
- Frame {
- msec: 5200
- hash: "1a7a81f851c8817cac3cc0cb7ac07971"
- }
- Frame {
- msec: 5216
- hash: "ca17c870c55f2947bb5f85d28f30ee7c"
- }
- Frame {
- msec: 5232
- hash: "48b123cfd6d2ea1c2bc9f2ba822ec7bf"
- }
- Frame {
- msec: 5248
- hash: "2a6b8aecef26793e200993dc1e25fd95"
- }
- Frame {
- msec: 5264
- hash: "f10a0a11ed54a910fe434311f67343a4"
- }
- Frame {
- msec: 5280
- hash: "47b6e1beabdcd3cd3d21d77c62e5bed8"
- }
- Frame {
- msec: 5296
- hash: "1eea7eb2853a9e7a1a69738667457b7a"
- }
- Frame {
- msec: 5312
- hash: "9e018f9e7a5ba22bbb9be3049373124a"
- }
- Frame {
- msec: 5328
- hash: "d63069a8e7b0eb5611cc34caaecef2fb"
- }
- Frame {
- msec: 5344
- hash: "def9383a090e4454343725f1a7c4fb3d"
- }
- Frame {
- msec: 5360
- hash: "fd3036e559fd31eeadb0032666a95864"
- }
- Frame {
- msec: 5376
- hash: "cf9f82b9e2a03f63f75b6ac113b3d4e5"
- }
- Frame {
- msec: 5392
- hash: "346e7f597cfb4fc51d5393e705deddd5"
- }
- Frame {
- msec: 5408
- hash: "0d6d6cb2ca808f5a57acfa32e10fc335"
- }
- Frame {
- msec: 5424
- hash: "9a660a0fed41211a37d3ac82be40f81a"
- }
- Frame {
- msec: 5440
- hash: "df3fd60ecbd517879e00e8112c49bed4"
- }
- Frame {
- msec: 5456
- hash: "cd86fe5894e5d061f7ffe37913f00ce6"
- }
- Frame {
- msec: 5472
- hash: "a5fdb825c18d43f3ae18f5c28e715174"
- }
- Frame {
- msec: 5488
- hash: "0fdfb5f9463def560da6c19acf96bafb"
- }
- Frame {
- msec: 5504
- hash: "8849a36af064503dbccad69a35b6ab03"
- }
- Frame {
- msec: 5520
- hash: "baeb4f90b0e2efc09225dbb5dd003e9e"
- }
- Frame {
- msec: 5536
- hash: "86922e71c80976ef3aa2cab18f86c010"
- }
- Frame {
- msec: 5552
- hash: "10d166d7da9949370a66251415522186"
- }
- Frame {
- msec: 5568
- hash: "ada1608055b221dc9f1f7650a9764930"
- }
- Frame {
- msec: 5584
- hash: "dd25ffb9a6bf009139b2942f9cc1f8e7"
- }
- Frame {
- msec: 5600
- hash: "dc4a1c44d08328965b53ff079a8fa57b"
- }
- Frame {
- msec: 5616
- hash: "d3d88cf635ba38e5035732cb36014417"
- }
- Frame {
- msec: 5632
- hash: "be5e44f6b9978ba3b9ae878ae5758a96"
- }
- Frame {
- msec: 5648
- hash: "34f193daf199ab45310be2b407499e57"
- }
- Frame {
- msec: 5664
- hash: "d87c854e1c16642dba0d87e25f0e416f"
- }
- Frame {
- msec: 5680
- hash: "08c404f4efd27695071ad52fbfa57c0b"
- }
- Frame {
- msec: 5696
- hash: "84828f8e0cace1a39d9b7f19b6e4cbaa"
- }
- Frame {
- msec: 5712
- hash: "8a0c6e1f597e699c3e2be816ae4e1dd4"
- }
- Frame {
- msec: 5728
- hash: "9aecb0c464fb140725f34ad94ede367a"
- }
- Frame {
- msec: 5744
- hash: "a298b3ab2939819ced7e7f903ec63be4"
- }
- Frame {
- msec: 5760
- hash: "99789b6e168355a3960986c7d1f21f82"
- }
- Frame {
- msec: 5776
- image: "loop.6.png"
- }
- Frame {
- msec: 5792
- hash: "9c9b3fb5b623d3deaf9920c99279d71b"
- }
- Frame {
- msec: 5808
- hash: "8f0be6d4d6fd7f66a43fd604e17717dd"
- }
- Frame {
- msec: 5824
- hash: "854defd35cf3315e4501583756814ff6"
- }
- Frame {
- msec: 5840
- hash: "fd7157aef6dfb303472cd33b176f91d8"
- }
- Frame {
- msec: 5856
- hash: "e6521a3c74c190c193af2c913e5326e2"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/loop/loop.qml b/tests/auto/declarative/qmlvisual/animation/loop/loop.qml
deleted file mode 100644
index 6f625825f4..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/loop/loop.qml
+++ /dev/null
@@ -1,24 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- id: wrapper
- width: 600
- height: 100
-
- Rectangle {
- id: redRect
- width: 100; height: 100
- color: Qt.rgba(1,0,0)
- /* This should produce an animation that starts at 0, animates smoothly
- to 100, jumps to 200, animates smoothly to 400, animates smoothly
- back to 100, jumps to 200, and so on.
- */
- SequentialAnimation on x {
- loops: Animation.Infinite
- NumberAnimation { to: 100; duration: 1000 }
- NumberAnimation { from: 200; to: 400; duration: 1000 }
- }
-
- }
-
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.0.png
deleted file mode 100644
index a45e421c88..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.qml
deleted file mode 100644
index f4991cc2fc..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/data/parallelAnimation-visual.qml
+++ /dev/null
@@ -1,243 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "parallelAnimation-visual.0.png"
- }
- Frame {
- msec: 32
- hash: "d5eb647077598cab2f3d0c016fbbb419"
- }
- Frame {
- msec: 48
- hash: "d5eb647077598cab2f3d0c016fbbb419"
- }
- Frame {
- msec: 64
- hash: "d5eb647077598cab2f3d0c016fbbb419"
- }
- Frame {
- msec: 80
- hash: "d5eb647077598cab2f3d0c016fbbb419"
- }
- Frame {
- msec: 96
- hash: "d5eb647077598cab2f3d0c016fbbb419"
- }
- Frame {
- msec: 112
- hash: "d5eb647077598cab2f3d0c016fbbb419"
- }
- Frame {
- msec: 128
- hash: "d5eb647077598cab2f3d0c016fbbb419"
- }
- Frame {
- msec: 144
- hash: "aa22c670b17a7372732f9bc85e41a082"
- }
- Frame {
- msec: 160
- hash: "19d09945e45f74d1edd9935e855369b3"
- }
- Frame {
- msec: 176
- hash: "ed391a3b7eba8e98d2f8e372f42e9210"
- }
- Frame {
- msec: 192
- hash: "ac3f7547a9576e0a313e7060ed7431e9"
- }
- Frame {
- msec: 208
- hash: "ddf41ca7289f44990d0d6d41a838bd6f"
- }
- Frame {
- msec: 224
- hash: "42eb324d288b39fa32bf11795d6633f6"
- }
- Frame {
- msec: 240
- hash: "8447851893d2d8f5661731761b6702fa"
- }
- Frame {
- msec: 256
- hash: "7d86bc9b509bcd45eebf2c7e70151424"
- }
- Frame {
- msec: 272
- hash: "c33a6731151fbce1156888129d53b8ec"
- }
- Frame {
- msec: 288
- hash: "028cd521f75d3ecc810a0baa2e857441"
- }
- Frame {
- msec: 304
- hash: "58e565d78d68a69b864c1d7bb8d6180f"
- }
- Frame {
- msec: 320
- hash: "7f21037b48949c2086e7692723a90abf"
- }
- Frame {
- msec: 336
- hash: "5c5c9101a0594bae2f5f8c5bb534a931"
- }
- Frame {
- msec: 352
- hash: "8c010e7bd746d3865e283cc9f5fb83b7"
- }
- Frame {
- msec: 368
- hash: "0a2b5c4aa4e8ca8b264c774e4cc90f23"
- }
- Frame {
- msec: 384
- hash: "bf18f1e0102f471773de1cbb0b24bfc3"
- }
- Frame {
- msec: 400
- hash: "bc8e1d5a6d38e38284313ede359582bc"
- }
- Frame {
- msec: 416
- hash: "3a34e518882bd28d11ebdd1646737a8b"
- }
- Frame {
- msec: 432
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 448
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 464
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 480
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 496
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 512
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 528
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 544
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 560
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 576
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 592
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 608
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 624
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 640
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 656
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 672
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 688
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 704
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 720
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 736
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 752
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 768
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 784
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 800
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 816
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 832
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 848
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 864
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 880
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 896
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 912
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 928
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
- Frame {
- msec: 944
- hash: "df113cd7cd502c0ae8cb2dd0f0c209a0"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/parallelAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/parallelAnimation/parallelAnimation-visual.qml
deleted file mode 100644
index 6974adbc33..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parallelAnimation/parallelAnimation-visual.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-import QtQuick 1.0
-
-/*
- This test verifies that a single animation animating two properties is visually the same as two
- animations in a parallel group animating the same properties. Visually, you should see a red
- rectangle at 0,0 stretching from the top of the window to the bottom. This rect will be moved to
- the right side of the window while turning purple. If the bottom half is visually different
- than the top half, there is a problem.
-*/
-
-Rectangle {
- width: 200; height: 100
- Rectangle {
- id: redRect
- width: 50; height: 50
- color: "red"
- }
- Rectangle {
- id: redRect2
- width: 50; height: 50
- y: 50
- color: "red"
- }
-
- Timer{
- interval: 100
- running: true
- onTriggered: parent.state = "state1"
- }
-
- states: State {
- name: "state1"
- PropertyChanges {
- target: redRect
- x: 150
- color: "purple"
- }
- PropertyChanges {
- target: redRect2
- x: 150
- color: "purple"
- }
- }
-
- transitions: Transition {
- PropertyAnimation { targets: redRect; properties: "x,color"; duration: 300 }
- ParallelAnimation {
- NumberAnimation { targets: redRect2; properties: "x"; duration: 300 }
- ColorAnimation { targets: redRect2; properties: "color"; duration: 300 }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.0.png
deleted file mode 100644
index 41d51da07a..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.1.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.1.png
deleted file mode 100644
index 953e8bd42f..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.2.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.2.png
deleted file mode 100644
index b311ae1802..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.3.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.3.png
deleted file mode 100644
index 41d51da07a..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.4.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.4.png
deleted file mode 100644
index 5b68a73b5f..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml
deleted file mode 100644
index 42968831a2..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation/data/parentAnimation-visual.qml
+++ /dev/null
@@ -1,1223 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "parentAnimation-visual.0.png"
- }
- Frame {
- msec: 32
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 48
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 64
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 80
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 96
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 112
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 128
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 144
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 160
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 176
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 192
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 208
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 224
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 240
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 256
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 272
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 288
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 304
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 320
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 336
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 352
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 368
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 384
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 400
- hash: "234b795b5dd412e4397f132f03f38175"
- }
- Frame {
- msec: 416
- hash: "eca09aebcc15501fd348b9eb19b54ee2"
- }
- Frame {
- msec: 432
- hash: "6ab63f771ac705439157cf0ed84bc274"
- }
- Frame {
- msec: 448
- hash: "42212db87d03c35e96e38ac200bd9ec2"
- }
- Frame {
- msec: 464
- hash: "46a79ff030b89a4c8791fd853a96b64f"
- }
- Frame {
- msec: 480
- hash: "cdfee36535e491328f5045b6f3378b64"
- }
- Frame {
- msec: 496
- hash: "5cfc7db34110aa39f296fe4475de0c08"
- }
- Frame {
- msec: 512
- hash: "df59e3aa557a661ce513523c3059c41d"
- }
- Frame {
- msec: 528
- hash: "2d2f8fc7d695bcd20ef682b25a22186a"
- }
- Frame {
- msec: 544
- hash: "daac5f2d4b451501669a7767d0a19ccc"
- }
- Frame {
- msec: 560
- hash: "e10801e6c7086eac3eaaa48a3d39bb95"
- }
- Frame {
- msec: 576
- hash: "a5fdf57b20bf4d4aad99f02a13bbfc66"
- }
- Frame {
- msec: 592
- hash: "b48721b169b4a1118b040a9e41c252a1"
- }
- Frame {
- msec: 608
- hash: "242425f06d5706f0483e49812bfb4718"
- }
- Frame {
- msec: 624
- hash: "33bdd4d71b1736055d821ee5040bfaed"
- }
- Frame {
- msec: 640
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 656
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 672
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 688
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 704
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 720
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 736
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 752
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 768
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 784
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 800
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 816
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 832
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 848
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 864
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 880
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 896
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 912
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 928
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 944
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 960
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 976
- image: "parentAnimation-visual.1.png"
- }
- Frame {
- msec: 992
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 1008
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 1024
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 1040
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 1056
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 1072
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 1088
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 1104
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 1120
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 1136
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1152
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 1168
- hash: "b985be8701f0bbb73facfe745d43e32f"
- }
- Frame {
- msec: 1184
- hash: "6b3e91ff248516656fd2efe26db6c900"
- }
- Frame {
- msec: 1200
- hash: "40bd9296de59b3abc5b7a204a6ecff3f"
- }
- Frame {
- msec: 1216
- hash: "615817b53baf0d0cd290b18ad9deee4d"
- }
- Frame {
- msec: 1232
- hash: "c990d9afcebfc4dcc35457d555d7e9cb"
- }
- Frame {
- msec: 1248
- hash: "2d1a4687abe3fd7b1911f8e5020c4378"
- }
- Frame {
- msec: 1264
- hash: "b5e1399f1924dafa6782da6b739af882"
- }
- Frame {
- msec: 1280
- hash: "8686a36600410f4f39f558eadfb3479f"
- }
- Frame {
- msec: 1296
- hash: "39f1f7573198f86e1452211f62dc7f1a"
- }
- Frame {
- msec: 1312
- hash: "fbfbbcb5637c0f90396150abb0aecb14"
- }
- Frame {
- msec: 1328
- hash: "2c071570228d5a121a64c4c01c443ab2"
- }
- Frame {
- msec: 1344
- hash: "4e076ea1d8f566eca9aa5eb55ce02098"
- }
- Frame {
- msec: 1360
- hash: "72fd6c15e76fd6d74a9584be1e82399b"
- }
- Frame {
- msec: 1376
- hash: "b519ad1958ea69fc4682c06e83f22c42"
- }
- Frame {
- msec: 1392
- hash: "155b39717f45fe5d36348c499635e759"
- }
- Frame {
- msec: 1408
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1424
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1440
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1456
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1472
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1488
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1504
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1520
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1536
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1552
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1568
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1584
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1600
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1616
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1632
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1648
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1664
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1680
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 1696
- hash: "234b795b5dd412e4397f132f03f38175"
- }
- Frame {
- msec: 1712
- hash: "eca09aebcc15501fd348b9eb19b54ee2"
- }
- Frame {
- msec: 1728
- hash: "6ab63f771ac705439157cf0ed84bc274"
- }
- Frame {
- msec: 1744
- hash: "42212db87d03c35e96e38ac200bd9ec2"
- }
- Frame {
- msec: 1760
- hash: "46a79ff030b89a4c8791fd853a96b64f"
- }
- Frame {
- msec: 1776
- hash: "cdfee36535e491328f5045b6f3378b64"
- }
- Frame {
- msec: 1792
- hash: "5cfc7db34110aa39f296fe4475de0c08"
- }
- Frame {
- msec: 1808
- hash: "df59e3aa557a661ce513523c3059c41d"
- }
- Frame {
- msec: 1824
- hash: "2d2f8fc7d695bcd20ef682b25a22186a"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1840
- hash: "2d2f8fc7d695bcd20ef682b25a22186a"
- }
- Frame {
- msec: 1856
- hash: "f611eb7652ce078c81dba533c6c0df5e"
- }
- Frame {
- msec: 1872
- hash: "2a4f853f3eeef5cbacc8fdacfdab3442"
- }
- Frame {
- msec: 1888
- hash: "86a201ea5c4af2a28b4047c0732d33c8"
- }
- Frame {
- msec: 1904
- hash: "e87f15694846a75ff3801aff063d35c7"
- }
- Frame {
- msec: 1920
- hash: "c3d42dd4ae49a843f32a3dcc818d0b68"
- }
- Frame {
- msec: 1936
- image: "parentAnimation-visual.2.png"
- }
- Frame {
- msec: 1952
- hash: "46a79ff030b89a4c8791fd853a96b64f"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1968
- hash: "46a79ff030b89a4c8791fd853a96b64f"
- }
- Frame {
- msec: 1984
- hash: "079898fb015f88ba9d7cd73f356d2c37"
- }
- Frame {
- msec: 2000
- hash: "5d03ca6d09d241bd686c878d53d9f269"
- }
- Frame {
- msec: 2016
- hash: "d986a00663eb3dafb24bf67b3d6c7a04"
- }
- Frame {
- msec: 2032
- hash: "4e609d8b8921428909a5b78ea1db78b9"
- }
- Frame {
- msec: 2048
- hash: "f611eb7652ce078c81dba533c6c0df5e"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2064
- hash: "f611eb7652ce078c81dba533c6c0df5e"
- }
- Frame {
- msec: 2080
- hash: "2a4f853f3eeef5cbacc8fdacfdab3442"
- }
- Frame {
- msec: 2096
- hash: "86a201ea5c4af2a28b4047c0732d33c8"
- }
- Frame {
- msec: 2112
- hash: "2d498b4b440cd6bce6e02102dc62996d"
- }
- Frame {
- msec: 2128
- hash: "53c55f9fc1aab5f4c552387e8cae749e"
- }
- Frame {
- msec: 2144
- hash: "8d188a1ab2be377198142f3037d15fc3"
- }
- Frame {
- msec: 2160
- hash: "66550b5102e2803fb3cbd85f4b2543e0"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2176
- hash: "66550b5102e2803fb3cbd85f4b2543e0"
- }
- Frame {
- msec: 2192
- hash: "e495d8163793da7503b9d29c6721ff6e"
- }
- Frame {
- msec: 2208
- hash: "065e5775930146539ae589782f4e4352"
- }
- Frame {
- msec: 2224
- hash: "7861ff76ec52f1c0408636f7b53b30b6"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2240
- hash: "7861ff76ec52f1c0408636f7b53b30b6"
- }
- Frame {
- msec: 2256
- hash: "e87f15694846a75ff3801aff063d35c7"
- }
- Frame {
- msec: 2272
- hash: "67edcabe94a3968bbfe3dd1b0b2cd273"
- }
- Frame {
- msec: 2288
- hash: "a0f8e97d347970aca868538f4294a7ce"
- }
- Frame {
- msec: 2304
- hash: "c89421473e754235e209f35dea9afccb"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2320
- hash: "c89421473e754235e209f35dea9afccb"
- }
- Frame {
- msec: 2336
- hash: "cdfee36535e491328f5045b6f3378b64"
- }
- Frame {
- msec: 2352
- hash: "ab31653cb8a31f753782ffff045e2b07"
- }
- Frame {
- msec: 2368
- hash: "86a201ea5c4af2a28b4047c0732d33c8"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2384
- hash: "86a201ea5c4af2a28b4047c0732d33c8"
- }
- Frame {
- msec: 2400
- hash: "4bdc37cd35c71d8a25745cb0ff664fea"
- }
- Frame {
- msec: 2416
- hash: "5d03ca6d09d241bd686c878d53d9f269"
- }
- Frame {
- msec: 2432
- hash: "700ff7c6c4ae97b34309bd020807a0e1"
- }
- Frame {
- msec: 2448
- hash: "e812a79fb65142f6855974f87aabdc90"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2464
- hash: "e812a79fb65142f6855974f87aabdc90"
- }
- Frame {
- msec: 2480
- hash: "795809181debf916afbef73c41a66dee"
- }
- Frame {
- msec: 2496
- hash: "b61c0e25fa9f3c15f1caf91c25937d75"
- }
- Frame {
- msec: 2512
- hash: "9dd01662ee9d0add862b3afadac72929"
- }
- Frame {
- msec: 2528
- hash: "0a96c8fec8f6509dbbe16480fe8ebfb7"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2544
- hash: "0a96c8fec8f6509dbbe16480fe8ebfb7"
- }
- Frame {
- msec: 2560
- hash: "ce67814de0091d5ab5cc2172a830bc93"
- }
- Frame {
- msec: 2576
- hash: "d986a00663eb3dafb24bf67b3d6c7a04"
- }
- Frame {
- msec: 2592
- hash: "69e21aefb8bdbfaaa5e1e7969d827ec3"
- }
- Frame {
- msec: 2608
- hash: "cdfee36535e491328f5045b6f3378b64"
- }
- Frame {
- msec: 2624
- hash: "cdb20c4866bdf55bd454864a31676053"
- }
- Frame {
- msec: 2640
- hash: "46a79ff030b89a4c8791fd853a96b64f"
- }
- Frame {
- msec: 2656
- hash: "c2535eb78e0cf46151f15cd2ec7c4838"
- }
- Frame {
- msec: 2672
- hash: "7a1455f07b916a63e43b89da4311a033"
- }
- Frame {
- msec: 2688
- hash: "f9a2c0ef913ecd7026d9775648a063d6"
- }
- Frame {
- msec: 2704
- hash: "5da8f6f7d847c174da393015dfc33537"
- }
- Frame {
- msec: 2720
- hash: "1d5f20cb721f1e5cb067095bee1b51fe"
- }
- Frame {
- msec: 2736
- hash: "ca7f5fa76264d1eb1182e46e371ee81c"
- }
- Frame {
- msec: 2752
- hash: "2467dc0ffdb051e092c5bfd5d371e6b6"
- }
- Frame {
- msec: 2768
- hash: "0b04e516eb08978914c39ec2d742e161"
- }
- Frame {
- msec: 2784
- hash: "5abec56587da54876c204d2e32efe7ad"
- }
- Frame {
- msec: 2800
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2816
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2832
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2848
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2864
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2880
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2896
- image: "parentAnimation-visual.3.png"
- }
- Frame {
- msec: 2912
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2928
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2944
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2960
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2976
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 2992
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3008
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3024
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3040
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3056
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3072
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3088
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3104
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3120
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3136
- hash: "234b795b5dd412e4397f132f03f38175"
- }
- Frame {
- msec: 3152
- hash: "eca09aebcc15501fd348b9eb19b54ee2"
- }
- Frame {
- msec: 3168
- hash: "6ab63f771ac705439157cf0ed84bc274"
- }
- Frame {
- msec: 3184
- hash: "42212db87d03c35e96e38ac200bd9ec2"
- }
- Frame {
- msec: 3200
- hash: "46a79ff030b89a4c8791fd853a96b64f"
- }
- Frame {
- msec: 3216
- hash: "cdfee36535e491328f5045b6f3378b64"
- }
- Frame {
- msec: 3232
- hash: "5cfc7db34110aa39f296fe4475de0c08"
- }
- Frame {
- msec: 3248
- hash: "df59e3aa557a661ce513523c3059c41d"
- }
- Frame {
- msec: 3264
- hash: "2d2f8fc7d695bcd20ef682b25a22186a"
- }
- Frame {
- msec: 3280
- hash: "daac5f2d4b451501669a7767d0a19ccc"
- }
- Frame {
- msec: 3296
- hash: "e10801e6c7086eac3eaaa48a3d39bb95"
- }
- Frame {
- msec: 3312
- hash: "a5fdf57b20bf4d4aad99f02a13bbfc66"
- }
- Frame {
- msec: 3328
- hash: "b48721b169b4a1118b040a9e41c252a1"
- }
- Frame {
- msec: 3344
- hash: "242425f06d5706f0483e49812bfb4718"
- }
- Frame {
- msec: 3360
- hash: "33bdd4d71b1736055d821ee5040bfaed"
- }
- Frame {
- msec: 3376
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3392
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3408
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3424
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3440
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3456
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3472
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3488
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3504
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3520
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3536
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3552
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3568
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3584
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3600
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3616
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3632
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 181; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3648
- hash: "dce97e76b2541bbee52b0df1c1bb3d44"
- }
- Frame {
- msec: 3664
- hash: "b985be8701f0bbb73facfe745d43e32f"
- }
- Frame {
- msec: 3680
- hash: "6b3e91ff248516656fd2efe26db6c900"
- }
- Frame {
- msec: 3696
- hash: "40bd9296de59b3abc5b7a204a6ecff3f"
- }
- Frame {
- msec: 3712
- hash: "615817b53baf0d0cd290b18ad9deee4d"
- }
- Frame {
- msec: 3728
- hash: "c990d9afcebfc4dcc35457d555d7e9cb"
- }
- Frame {
- msec: 3744
- hash: "2d1a4687abe3fd7b1911f8e5020c4378"
- }
- Frame {
- msec: 3760
- hash: "b5e1399f1924dafa6782da6b739af882"
- }
- Frame {
- msec: 3776
- hash: "8686a36600410f4f39f558eadfb3479f"
- }
- Frame {
- msec: 3792
- hash: "39f1f7573198f86e1452211f62dc7f1a"
- }
- Frame {
- msec: 3808
- hash: "fbfbbcb5637c0f90396150abb0aecb14"
- }
- Frame {
- msec: 3824
- hash: "2c071570228d5a121a64c4c01c443ab2"
- }
- Frame {
- msec: 3840
- hash: "4e076ea1d8f566eca9aa5eb55ce02098"
- }
- Frame {
- msec: 3856
- image: "parentAnimation-visual.4.png"
- }
- Frame {
- msec: 3872
- hash: "b519ad1958ea69fc4682c06e83f22c42"
- }
- Frame {
- msec: 3888
- hash: "155b39717f45fe5d36348c499635e759"
- }
- Frame {
- msec: 3904
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3920
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3936
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3952
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3968
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 3984
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4000
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4016
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4032
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4048
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4064
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4080
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4096
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4112
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4128
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4144
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4160
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4176
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4192
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4208
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4224
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4240
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4256
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4272
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4288
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4304
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4320
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4336
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4352
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4368
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4384
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4400
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
- Frame {
- msec: 4416
- hash: "fbf01bb217e393b79a6a2c567750de89"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation-visual.qml
deleted file mode 100644
index 025aa80020..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation/parentAnimation-visual.qml
+++ /dev/null
@@ -1,68 +0,0 @@
-import QtQuick 1.0
-
-/*
-This test shows a green rectangle moving and growing from the upper-left corner
-of the black rectangle to the same position as the red rectangle (it should end up
-the same height as the red rect and twice as wide). There should be no odd jumps or clipping seen.
-
-The test shows one full transition (to the red and back), then several partial transitions, and
-then a final full transition.
-*/
-
-Rectangle {
- width: 400;
- height: 240;
- color: "black";
-
- Rectangle {
- id: gr
- color: "green"
- width: 50; height: 50
- }
-
- MouseArea {
- id: mouser
- anchors.fill: parent
- }
-
- Rectangle {
- id: np
- x: 150
- width: 150; height: 150
- color: "yellow"
- clip: true
- Rectangle {
- color: "red"
- x: 50; y: 50; height: 50; width: 50
- }
-
- }
-
- Rectangle {
- id: vp
- x: 100; y: 100
- width: 50; height: 50
- color: "blue"
- rotation: 45
- scale: 2
- }
-
- states: State {
- name: "state1"
- when: mouser.pressed
- ParentChange {
- target: gr
- parent: np
- x: 50; y: 50; width: 100;
- }
- }
-
- transitions: Transition {
- reversible: true
- to: "state1"
- ParentAnimation {
- target: gr; via: vp;
- NumberAnimation { properties: "x,y,rotation,scale,width" }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.png
deleted file mode 100644
index 03ae932a97..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.1.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.1.png
deleted file mode 100644
index 175adc3cfb..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.2.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.2.png
deleted file mode 100644
index 4dbe6a4f6e..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.3.png b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.3.png
deleted file mode 100644
index b9ea6b8722..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml
deleted file mode 100644
index 1d7817b6da..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/data/parentAnimation2.qml
+++ /dev/null
@@ -1,1023 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "parentAnimation2.0.png"
- }
- Frame {
- msec: 32
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 48
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 64
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 80
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 96
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 112
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 128
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 144
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 160
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 176
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 192
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 208
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 224
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 240
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 256
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 272
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 288
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 304
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 320
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 336
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 352
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 368
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 384
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 400
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 416
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 432
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 448
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 464
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 480
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 496
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 512
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 528
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 544
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 560
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 576
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 592
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 608
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 624
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 640
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 656
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 672
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 688
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 704
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 350; y: 182
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 720
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 736
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 752
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 768
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 784
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 800
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 350; y: 182
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 816
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 832
- hash: "9b524b546d250d239ea99dd3319f3d6a"
- }
- Frame {
- msec: 848
- hash: "593300f166c2fd3c325cb35114ca595b"
- }
- Frame {
- msec: 864
- hash: "4451e76e111c99faa77b5fff9a2642fa"
- }
- Frame {
- msec: 880
- hash: "0b4a5675afba935e17eba19e29b709ee"
- }
- Frame {
- msec: 896
- hash: "8682866f0234eebf25aca27a7737c777"
- }
- Frame {
- msec: 912
- hash: "5b3b70dd366bb4c1b5e7d56ce50e59a6"
- }
- Frame {
- msec: 928
- hash: "897394982c93ebcbea68c25cec6d47d3"
- }
- Frame {
- msec: 944
- hash: "23c3c0383a517d33767adeebc53bfa3a"
- }
- Frame {
- msec: 960
- hash: "5983f3e0800859134bff0182fe9e0142"
- }
- Frame {
- msec: 976
- image: "parentAnimation2.1.png"
- }
- Frame {
- msec: 992
- hash: "dbb9a5aa9f569b97711aa2c1f5ebda47"
- }
- Frame {
- msec: 1008
- hash: "0a5a73409b019e650ea860e1a8e27328"
- }
- Frame {
- msec: 1024
- hash: "496bd0d053522bcf71d506b497ede0d5"
- }
- Frame {
- msec: 1040
- hash: "97a32b4a6c99ffe842c35e903bd23d79"
- }
- Frame {
- msec: 1056
- hash: "496dfbbb0c0c28e108adf4c25341ef11"
- }
- Frame {
- msec: 1072
- hash: "aa2e5eb88b1498f0d36897be2a36b0ff"
- }
- Frame {
- msec: 1088
- hash: "0c6f7b54264ab36cfd5145fb7b30432f"
- }
- Frame {
- msec: 1104
- hash: "797fc3ea1db51f12d900b4e0e4998065"
- }
- Frame {
- msec: 1120
- hash: "2b076b8bc1ec1e2f21a4d7a77c94cfeb"
- }
- Frame {
- msec: 1136
- hash: "8d5888ca1cfba19cea569bd38bada417"
- }
- Frame {
- msec: 1152
- hash: "15ae94de5aa106eaa18d0faefa5d61f5"
- }
- Frame {
- msec: 1168
- hash: "96e90d74d5a7788d5a6da6cfdb92b185"
- }
- Frame {
- msec: 1184
- hash: "5698a5e9e628209fc28644198eac65da"
- }
- Frame {
- msec: 1200
- hash: "074ac8f08de8f22c241e23ad8b89b0f0"
- }
- Frame {
- msec: 1216
- hash: "a49fdf41e9ee1e5d764262d4585af2ff"
- }
- Frame {
- msec: 1232
- hash: "accc9b6573a676a40fcf0129085f6fce"
- }
- Frame {
- msec: 1248
- hash: "1cc956d55f0c382c2f74dcc05a05494f"
- }
- Frame {
- msec: 1264
- hash: "38ff3121566b2c719f47d027fcef8b8e"
- }
- Frame {
- msec: 1280
- hash: "4de97b3361a16ca1710f2e75d5c9de6f"
- }
- Frame {
- msec: 1296
- hash: "dbd1455105630bb8f262140e79ceda1b"
- }
- Frame {
- msec: 1312
- hash: "bcdac4ab71a29b78bfa756b56b8d8414"
- }
- Frame {
- msec: 1328
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1344
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1360
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1376
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1392
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1408
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1424
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1440
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1456
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1472
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1488
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1504
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1520
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1536
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1552
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1568
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1584
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1600
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1616
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1632
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1648
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1664
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1680
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1696
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1712
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 415; y: 121
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1728
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1744
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1760
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1776
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1792
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1808
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1824
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 415; y: 121
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1840
- hash: "f02f73a85532c1dd403d64c50c7e73ca"
- }
- Frame {
- msec: 1856
- hash: "b59fbcfb7db77cf30ea4ff039a9163ae"
- }
- Frame {
- msec: 1872
- hash: "432a76f0663bfd35f6bbeb3fbeb91799"
- }
- Frame {
- msec: 1888
- hash: "098e18005d3a2ff9095587954c92339c"
- }
- Frame {
- msec: 1904
- hash: "069100bf4ec523a9e9d5bf557ffc51d1"
- }
- Frame {
- msec: 1920
- hash: "3210f97ac2799d84fc1d872c4c2994f7"
- }
- Frame {
- msec: 1936
- image: "parentAnimation2.2.png"
- }
- Frame {
- msec: 1952
- hash: "79aa15dc74668d963f36f28524f4d091"
- }
- Frame {
- msec: 1968
- hash: "6838cb2d728259adc8d91a4a69e35adf"
- }
- Frame {
- msec: 1984
- hash: "3f73c720ce5f1e65fb8537a9beb66d26"
- }
- Frame {
- msec: 2000
- hash: "95d990ccd3e45e780d875aae1f4654f8"
- }
- Frame {
- msec: 2016
- hash: "5389a121571f61e73903305860e60016"
- }
- Frame {
- msec: 2032
- hash: "66f0018b6f35c1c18b28f4959eef96a8"
- }
- Frame {
- msec: 2048
- hash: "c0fa0560a9a5a0f773394c4fd98c9fa3"
- }
- Frame {
- msec: 2064
- hash: "e2d665ae0ac3007520003bb4a24ca708"
- }
- Frame {
- msec: 2080
- hash: "ab6e6976e4214c725f71a4f0ba6d3f68"
- }
- Frame {
- msec: 2096
- hash: "642f48f731f896d0d4b66956485b615b"
- }
- Frame {
- msec: 2112
- hash: "cdc36222978e4361dd3ddc2cba78328d"
- }
- Frame {
- msec: 2128
- hash: "22fe869d83d9d290c4d1702e7553c7aa"
- }
- Frame {
- msec: 2144
- hash: "3cf2b6a4fd5c73c24717a1ce901cfb19"
- }
- Frame {
- msec: 2160
- hash: "ea7ecad2a9b7e6ca9a9d1c9c46e0f6dc"
- }
- Frame {
- msec: 2176
- hash: "3a7e7e2145b40732ef4e18218a959536"
- }
- Frame {
- msec: 2192
- hash: "1386046373ab246ae533aba206ffe502"
- }
- Frame {
- msec: 2208
- hash: "2183072e2117c2bc660767bc67e6c355"
- }
- Frame {
- msec: 2224
- hash: "659c6fedf573d19727f9852a9034e4fe"
- }
- Frame {
- msec: 2240
- hash: "5be4e8fa87593aeb4d59768a61441c37"
- }
- Frame {
- msec: 2256
- hash: "2030b883508d07735b20726d218fd751"
- }
- Frame {
- msec: 2272
- hash: "fd70334fa8a1ff80369cce6aa69255c4"
- }
- Frame {
- msec: 2288
- hash: "be666aafc8a3d2de9ffaff54d9ac15d1"
- }
- Frame {
- msec: 2304
- hash: "3370f2246f679068e40cdb48c92decad"
- }
- Frame {
- msec: 2320
- hash: "f0b4565fd441c071112bdc8225861f76"
- }
- Frame {
- msec: 2336
- hash: "61babd82afc20a3023c2fe483a2e73cb"
- }
- Frame {
- msec: 2352
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2368
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2384
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2400
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2416
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2432
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2448
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2464
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2480
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2496
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2512
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2528
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2544
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2560
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2576
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2592
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2608
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2624
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2640
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2656
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2672
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2688
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2704
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2720
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2736
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2752
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2768
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 207; y: 255
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2784
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2800
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2816
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2832
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2848
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2864
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2880
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2896
- image: "parentAnimation2.3.png"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 207; y: 255
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2912
- hash: "acab4a79f22ebc8a45759ae282e8f3db"
- }
- Frame {
- msec: 2928
- hash: "608af88c841d6058c3304cc134de0187"
- }
- Frame {
- msec: 2944
- hash: "96a727d6ff02c7baf85865fda9d871bd"
- }
- Frame {
- msec: 2960
- hash: "22cacf109e40b457041d6c2862c4f97f"
- }
- Frame {
- msec: 2976
- hash: "ea2a53381eef8ac75fce23c518f1e261"
- }
- Frame {
- msec: 2992
- hash: "a719237e74e9c40b46cc1f27cca5e286"
- }
- Frame {
- msec: 3008
- hash: "804ef3519ba9852afb0bd4ef793e0006"
- }
- Frame {
- msec: 3024
- hash: "4abc5026f0de1165717bd14630c9d9f6"
- }
- Frame {
- msec: 3040
- hash: "1e4dd04698691932725076073a0bd2e7"
- }
- Frame {
- msec: 3056
- hash: "12aae9dcfd9597ce600588b19bdf5a7d"
- }
- Frame {
- msec: 3072
- hash: "9176b69f7df68d860b7d7aecc2496f09"
- }
- Frame {
- msec: 3088
- hash: "9cba95a510685ab6367ba87246f6c922"
- }
- Frame {
- msec: 3104
- hash: "33ef448b9485fafb7a2af319f9f6e816"
- }
- Frame {
- msec: 3120
- hash: "791760db748e46aceb9f469c33b7bf2f"
- }
- Frame {
- msec: 3136
- hash: "201a00feef1bb445f2fd0ba8ef9467a1"
- }
- Frame {
- msec: 3152
- hash: "6e8962c3cb522f5a45b093f1780d2dae"
- }
- Frame {
- msec: 3168
- hash: "d75cb08203a4f2c05b4dfdca2196e3db"
- }
- Frame {
- msec: 3184
- hash: "0417d681c9b64e2cc252ab6fcf20148b"
- }
- Frame {
- msec: 3200
- hash: "85993e5a91a86cedb8c88819b035b6bb"
- }
- Frame {
- msec: 3216
- hash: "d7a0db647e641df9625b8eb5078a8ec3"
- }
- Frame {
- msec: 3232
- hash: "fa29824ed3fd3d4e0d8036079be6bcf8"
- }
- Frame {
- msec: 3248
- hash: "4fc84a3ae74bb6ab7b0b846c8747eb54"
- }
- Frame {
- msec: 3264
- hash: "a172921ffe15077382db8e8915fb340b"
- }
- Frame {
- msec: 3280
- hash: "480ee71d2407d729814a2e19d4320c59"
- }
- Frame {
- msec: 3296
- hash: "b8cf02a1ad96d5c3354f2b658085ed28"
- }
- Frame {
- msec: 3312
- hash: "80fc0f57f58250f63a77b1988a9e1d2e"
- }
- Frame {
- msec: 3328
- hash: "bc283b5d7c5b88ef447be5992a77b6a9"
- }
- Frame {
- msec: 3344
- hash: "89c86df88dc1a3188d52c1f75b80ccf1"
- }
- Frame {
- msec: 3360
- hash: "84148139d89b45949561321bd6f6c835"
- }
- Frame {
- msec: 3376
- hash: "9118d6933b3f77e0b5b8da2d630152e8"
- }
- Frame {
- msec: 3392
- hash: "2b5f746225053778fb07a606ff113e64"
- }
- Frame {
- msec: 3408
- hash: "0a1ed1bea6ed674826d0a2c3146a1c31"
- }
- Frame {
- msec: 3424
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3440
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3456
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3472
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3488
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3504
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3520
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3536
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3552
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3568
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3584
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3600
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3616
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3632
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3648
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3664
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3680
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3696
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3712
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3728
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3744
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3760
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3776
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3792
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3808
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3824
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
- Frame {
- msec: 3840
- hash: "b3bfd7a06d3e246f4256ab5a267360b0"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/parentAnimation2.qml b/tests/auto/declarative/qmlvisual/animation/parentAnimation2/parentAnimation2.qml
deleted file mode 100644
index f4979431dd..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/parentAnimation2/parentAnimation2.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-import QtQuick 1.0
-
-/*
-Blue rect fills (with 10px margin) screen, then red, then green, then screen again.
-*/
-
-Rectangle {
- id: whiteRect
- width: 640; height: 480;
-
- Rectangle {
- id: redRect
- x: 400; y: 50
- width: 100; height: 100
- color: "red"
- }
-
- Rectangle {
- id: greenRect
- x: 100; y: 150
- width: 200; height: 300
- color: "green"
- }
-
- Rectangle {
- id: blueRect
- x: 5; y: 5
- width: parent.width-10
- height: parent.height-10
- color: "lightblue"
-
- //Text { text: "Click me!"; anchors.centerIn: parent }
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- switch(blueRect.state) {
- case "": blueRect.state = "inRed"; break;
- case "inRed": blueRect.state = "inGreen"; break;
- case "inGreen": blueRect.state = ""; break;
- }
- }
- }
-
- states: [
- State {
- name: "inRed"
- ParentChange { target: blueRect; parent: redRect; x: 5; y: 5; width: parent.width-10; height: parent.height-10 }
- PropertyChanges { target: redRect; z: 1 }
- },
- State {
- name: "inGreen"
- ParentChange { target: blueRect; parent: greenRect; x: 5; y: 5; width: parent.width-10; height: parent.height-10 }
- PropertyChanges { target: greenRect; z: 1 }
- }
- ]
-
- transitions: Transition {
- ParentAnimation { target: blueRect; //via: whiteRect;
- NumberAnimation { properties: "x, y, width, height"; duration: 500 }
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.0.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.0.png
deleted file mode 100644
index cb0971a6ef..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.1.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.1.png
deleted file mode 100644
index c579dedaa8..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.2.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.2.png
deleted file mode 100644
index 49e2b9fe13..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.3.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.3.png
deleted file mode 100644
index cb0971a6ef..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.4.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.4.png
deleted file mode 100644
index e62485b362..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.5.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.5.png
deleted file mode 100644
index 61e746317d..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.6.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.6.png
deleted file mode 100644
index 8c31e7da5a..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml
deleted file mode 100644
index 34deb9b186..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation-visual.qml
+++ /dev/null
@@ -1,1619 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "pauseAnimation-visual.0.png"
- }
- Frame {
- msec: 32
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 48
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 64
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 80
- hash: "41ba853c3403f68a23e708df82e21c53"
- }
- Frame {
- msec: 96
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 112
- hash: "336d31586171f22d541b989d24b95cbb"
- }
- Frame {
- msec: 128
- hash: "6d63fb5c8a80f0280e88b2cdf8641bb9"
- }
- Frame {
- msec: 144
- hash: "ef8941674cb61f54853dc33652bb854e"
- }
- Frame {
- msec: 160
- hash: "b3f4a2165ec1ee971542b8ef89656cea"
- }
- Frame {
- msec: 176
- hash: "af3120fe262d2489c0ed33fbbee1549f"
- }
- Frame {
- msec: 192
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 208
- hash: "21f0b0437a999bbde66a913032d495c2"
- }
- Frame {
- msec: 224
- hash: "0809d32d5bc1bfce199b1f39a1c68d4f"
- }
- Frame {
- msec: 240
- hash: "022137587b39f5123835482178a1f1cf"
- }
- Frame {
- msec: 256
- hash: "97566ce9558d13ea0780bce233097b27"
- }
- Frame {
- msec: 272
- hash: "96d79b07da105b7f631ed61582b26f7e"
- }
- Frame {
- msec: 288
- hash: "f4732ff2df93fe67cb850dec34184924"
- }
- Frame {
- msec: 304
- hash: "054e6e52f74a3e24f04e6ad0071f79f8"
- }
- Frame {
- msec: 320
- hash: "f541af93a9fde62e4bd1c91d30f91e65"
- }
- Frame {
- msec: 336
- hash: "c4f844ee71f23635bb3ec7375f6a134f"
- }
- Frame {
- msec: 352
- hash: "3e52e06db2bf78762bb9816fe6b105d9"
- }
- Frame {
- msec: 368
- hash: "d9604be23a91327e6ab454609a9d4a13"
- }
- Frame {
- msec: 384
- hash: "dc98a9bdd99367c1e9b838d4be489dcc"
- }
- Frame {
- msec: 400
- hash: "e87b00bfc2c2a75a4234ec02a057ad3a"
- }
- Frame {
- msec: 416
- hash: "5be4f5c67941efb6fcea363c79f1e321"
- }
- Frame {
- msec: 432
- hash: "6cc9de62a0c8fa5e42eac1b01e99ac32"
- }
- Frame {
- msec: 448
- hash: "62a7133012348f2ec3a388fb685ecc3f"
- }
- Frame {
- msec: 464
- hash: "4ac43a03cc6f2020ab5f894d704092ac"
- }
- Frame {
- msec: 480
- hash: "c1a7b7d6d64ac5584c073c2881290696"
- }
- Frame {
- msec: 496
- hash: "29ece1bca4d21fb5862091317d430a13"
- }
- Frame {
- msec: 512
- hash: "29ece1bca4d21fb5862091317d430a13"
- }
- Frame {
- msec: 528
- hash: "29ece1bca4d21fb5862091317d430a13"
- }
- Frame {
- msec: 544
- hash: "29ece1bca4d21fb5862091317d430a13"
- }
- Frame {
- msec: 560
- hash: "29ece1bca4d21fb5862091317d430a13"
- }
- Frame {
- msec: 576
- hash: "c1a7b7d6d64ac5584c073c2881290696"
- }
- Frame {
- msec: 592
- hash: "c1a7b7d6d64ac5584c073c2881290696"
- }
- Frame {
- msec: 608
- hash: "4ac43a03cc6f2020ab5f894d704092ac"
- }
- Frame {
- msec: 624
- hash: "4ac43a03cc6f2020ab5f894d704092ac"
- }
- Frame {
- msec: 640
- hash: "ffd39c1122fe2f7877ef30591b539b40"
- }
- Frame {
- msec: 656
- hash: "62a7133012348f2ec3a388fb685ecc3f"
- }
- Frame {
- msec: 672
- hash: "45281a70021f81dbef30334b1480da1b"
- }
- Frame {
- msec: 688
- hash: "6cc9de62a0c8fa5e42eac1b01e99ac32"
- }
- Frame {
- msec: 704
- hash: "79ec710576427df73dd03f39fba6e2eb"
- }
- Frame {
- msec: 720
- hash: "5be4f5c67941efb6fcea363c79f1e321"
- }
- Frame {
- msec: 736
- hash: "7d9096b1eb940c82a37baf39ef3ccf3e"
- }
- Frame {
- msec: 752
- hash: "e87b00bfc2c2a75a4234ec02a057ad3a"
- }
- Frame {
- msec: 768
- hash: "da60100dc55023c3bab367d97c8f6a85"
- }
- Frame {
- msec: 784
- hash: "dc98a9bdd99367c1e9b838d4be489dcc"
- }
- Frame {
- msec: 800
- hash: "3f869538028a09020d5e8f528f4fb119"
- }
- Frame {
- msec: 816
- hash: "9650fd0364c01b11e4f5dcce51d008af"
- }
- Frame {
- msec: 832
- hash: "2cb09d9655ecc30ae6a591b28c0d355c"
- }
- Frame {
- msec: 848
- hash: "4db9bc6c11caf1d77794c2eabb62a44e"
- }
- Frame {
- msec: 864
- hash: "ce2b5dd7418868acf86fea6ad19cc0c5"
- }
- Frame {
- msec: 880
- hash: "7c27ef654e645679c90520d6cf00b0c4"
- }
- Frame {
- msec: 896
- hash: "ab3e211df3ef7f5f7a8d712edc891c0f"
- }
- Frame {
- msec: 912
- hash: "19d2ae617a49b57dd012677e2834469c"
- }
- Frame {
- msec: 928
- hash: "5025eb75c88f0760f637e0342b7f88a2"
- }
- Frame {
- msec: 944
- hash: "005acbef952a8ee536e6308a48223e65"
- }
- Frame {
- msec: 960
- hash: "f1e0301430d153fb9d15eaffdfcd5c58"
- }
- Frame {
- msec: 976
- image: "pauseAnimation-visual.1.png"
- }
- Frame {
- msec: 992
- hash: "bcc35497884c158396c7f60759d1fda4"
- }
- Frame {
- msec: 1008
- hash: "7a4528b000a4ea142d1c77407fa1f581"
- }
- Frame {
- msec: 1024
- hash: "ba967a7d810a4531e577e5f6bd2def33"
- }
- Frame {
- msec: 1040
- hash: "f5afd9cf8ffe27e9992454b9e68688cb"
- }
- Frame {
- msec: 1056
- hash: "51d475c7f64a86d3a18fb115297a7b6b"
- }
- Frame {
- msec: 1072
- hash: "49f5d6fd45c195a8d245b7fefc1277ab"
- }
- Frame {
- msec: 1088
- hash: "f9b0b278659e3a0f78611e6b7f0f2176"
- }
- Frame {
- msec: 1104
- hash: "0809d32d5bc1bfce199b1f39a1c68d4f"
- }
- Frame {
- msec: 1120
- hash: "b7208d103b63a936dff8dd8ed224237f"
- }
- Frame {
- msec: 1136
- hash: "a57c81049b0dc68090ec7c3327b9922c"
- }
- Frame {
- msec: 1152
- hash: "e553f365912586c6408c8c53b1b7d118"
- }
- Frame {
- msec: 1168
- hash: "af3120fe262d2489c0ed33fbbee1549f"
- }
- Frame {
- msec: 1184
- hash: "0c20d12464abbdc45041ea5d9f2719b1"
- }
- Frame {
- msec: 1200
- hash: "dd60cbaff6f34027474e92315dbc0ebc"
- }
- Frame {
- msec: 1216
- hash: "336d31586171f22d541b989d24b95cbb"
- }
- Frame {
- msec: 1232
- hash: "41ba853c3403f68a23e708df82e21c53"
- }
- Frame {
- msec: 1248
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 1264
- hash: "41ba853c3403f68a23e708df82e21c53"
- }
- Frame {
- msec: 1280
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 1296
- hash: "336d31586171f22d541b989d24b95cbb"
- }
- Frame {
- msec: 1312
- hash: "f0d8132489c2f2ef760e905b3c093726"
- }
- Frame {
- msec: 1328
- hash: "6d63fb5c8a80f0280e88b2cdf8641bb9"
- }
- Frame {
- msec: 1344
- hash: "dd60cbaff6f34027474e92315dbc0ebc"
- }
- Frame {
- msec: 1360
- hash: "ef8941674cb61f54853dc33652bb854e"
- }
- Frame {
- msec: 1376
- hash: "bc426fb7c31751665b0d3f16e2cb0173"
- }
- Frame {
- msec: 1392
- hash: "0c20d12464abbdc45041ea5d9f2719b1"
- }
- Frame {
- msec: 1408
- hash: "53ae93140252373eaa4d9da73756bd8e"
- }
- Frame {
- msec: 1424
- hash: "721d7061811b5439c2e8e395917494bc"
- }
- Frame {
- msec: 1440
- hash: "af3120fe262d2489c0ed33fbbee1549f"
- }
- Frame {
- msec: 1456
- hash: "a8b624ebfc9ab713d1ce55f318a6e90d"
- }
- Frame {
- msec: 1472
- hash: "a88a8129259f86df5a73addc3649ad37"
- }
- Frame {
- msec: 1488
- hash: "a88a8129259f86df5a73addc3649ad37"
- }
- Frame {
- msec: 1504
- hash: "3db5e30ef19ea693c21ccf72892c4390"
- }
- Frame {
- msec: 1520
- hash: "e553f365912586c6408c8c53b1b7d118"
- }
- Frame {
- msec: 1536
- hash: "e553f365912586c6408c8c53b1b7d118"
- }
- Frame {
- msec: 1552
- hash: "e553f365912586c6408c8c53b1b7d118"
- }
- Frame {
- msec: 1568
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 1584
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 1600
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 1616
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 1632
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 1648
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 1664
- hash: "e553f365912586c6408c8c53b1b7d118"
- }
- Frame {
- msec: 1680
- hash: "e553f365912586c6408c8c53b1b7d118"
- }
- Frame {
- msec: 1696
- hash: "3db5e30ef19ea693c21ccf72892c4390"
- }
- Frame {
- msec: 1712
- hash: "3db5e30ef19ea693c21ccf72892c4390"
- }
- Frame {
- msec: 1728
- hash: "a88a8129259f86df5a73addc3649ad37"
- }
- Frame {
- msec: 1744
- hash: "a8b624ebfc9ab713d1ce55f318a6e90d"
- }
- Frame {
- msec: 1760
- hash: "a8b624ebfc9ab713d1ce55f318a6e90d"
- }
- Frame {
- msec: 1776
- hash: "af3120fe262d2489c0ed33fbbee1549f"
- }
- Frame {
- msec: 1792
- hash: "721d7061811b5439c2e8e395917494bc"
- }
- Frame {
- msec: 1808
- hash: "b3f4a2165ec1ee971542b8ef89656cea"
- }
- Frame {
- msec: 1824
- hash: "0c20d12464abbdc45041ea5d9f2719b1"
- }
- Frame {
- msec: 1840
- hash: "bc426fb7c31751665b0d3f16e2cb0173"
- }
- Frame {
- msec: 1856
- hash: "ef8941674cb61f54853dc33652bb854e"
- }
- Frame {
- msec: 1872
- hash: "dd60cbaff6f34027474e92315dbc0ebc"
- }
- Frame {
- msec: 1888
- hash: "6d63fb5c8a80f0280e88b2cdf8641bb9"
- }
- Frame {
- msec: 1904
- hash: "e74fe4a6bd92cbe8629c8bc8a870104d"
- }
- Frame {
- msec: 1920
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 1936
- image: "pauseAnimation-visual.2.png"
- }
- Frame {
- msec: 1952
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 1968
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 1984
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 2000
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 2016
- hash: "41ba853c3403f68a23e708df82e21c53"
- }
- Frame {
- msec: 2032
- hash: "ce57e27af329eba4fac3ab891f0407ce"
- }
- Frame {
- msec: 2048
- hash: "ce57e27af329eba4fac3ab891f0407ce"
- }
- Frame {
- msec: 2064
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 2080
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 2096
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 2112
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 2128
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 2144
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 2160
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 2176
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 2192
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 2208
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 2224
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 2240
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 2256
- hash: "ce57e27af329eba4fac3ab891f0407ce"
- }
- Frame {
- msec: 2272
- hash: "ce57e27af329eba4fac3ab891f0407ce"
- }
- Frame {
- msec: 2288
- hash: "41ba853c3403f68a23e708df82e21c53"
- }
- Frame {
- msec: 2304
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 2320
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 2336
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2352
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 2368
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 2384
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 2400
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 2416
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 2432
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 2448
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 2464
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 2480
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 2496
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 2512
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2528
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2544
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2560
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2576
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2592
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2608
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2624
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2640
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2656
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2672
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2688
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2704
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2720
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2736
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2752
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2768
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2784
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2800
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2816
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2832
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2848
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2864
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2880
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2896
- image: "pauseAnimation-visual.3.png"
- }
- Frame {
- msec: 2912
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2928
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2944
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2960
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2976
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 2992
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3008
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3024
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3040
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3056
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3072
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3088
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3104
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3120
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3136
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3152
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3168
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3184
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3200
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3216
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3232
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3248
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3264
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3280
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3296
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3312
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3328
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3344
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3360
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3376
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3392
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3408
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3424
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3440
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3456
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3472
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3488
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3504
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3520
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3536
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 3552
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 3568
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 3584
- hash: "ce57e27af329eba4fac3ab891f0407ce"
- }
- Frame {
- msec: 3600
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 3616
- hash: "e74fe4a6bd92cbe8629c8bc8a870104d"
- }
- Frame {
- msec: 3632
- hash: "e11455d4e23a5a865e222a7aba4ba4f9"
- }
- Frame {
- msec: 3648
- hash: "8757668e56be6449ec375f0b8fed1be3"
- }
- Frame {
- msec: 3664
- hash: "53ae93140252373eaa4d9da73756bd8e"
- }
- Frame {
- msec: 3680
- hash: "a88a8129259f86df5a73addc3649ad37"
- }
- Frame {
- msec: 3696
- hash: "630d90eef2673a69e8ebc4ef1ba40e81"
- }
- Frame {
- msec: 3712
- hash: "b7208d103b63a936dff8dd8ed224237f"
- }
- Frame {
- msec: 3728
- hash: "1516c3547c7cf64832b3bc7da7c44521"
- }
- Frame {
- msec: 3744
- hash: "49f5d6fd45c195a8d245b7fefc1277ab"
- }
- Frame {
- msec: 3760
- hash: "f5afd9cf8ffe27e9992454b9e68688cb"
- }
- Frame {
- msec: 3776
- hash: "7a4528b000a4ea142d1c77407fa1f581"
- }
- Frame {
- msec: 3792
- hash: "5f18a81707f23d377e81a27c1fc41ce9"
- }
- Frame {
- msec: 3808
- hash: "005acbef952a8ee536e6308a48223e65"
- }
- Frame {
- msec: 3824
- hash: "85c135ef72d3d25658a3663e69ffb7c2"
- }
- Frame {
- msec: 3840
- hash: "7c27ef654e645679c90520d6cf00b0c4"
- }
- Frame {
- msec: 3856
- image: "pauseAnimation-visual.4.png"
- }
- Frame {
- msec: 3872
- hash: "9650fd0364c01b11e4f5dcce51d008af"
- }
- Frame {
- msec: 3888
- hash: "f340cdf60c6d4c29d26b7202a093ec70"
- }
- Frame {
- msec: 3904
- hash: "d754d35d0793f9f7d4f6249a874e4c45"
- }
- Frame {
- msec: 3920
- hash: "79ec710576427df73dd03f39fba6e2eb"
- }
- Frame {
- msec: 3936
- hash: "45281a70021f81dbef30334b1480da1b"
- }
- Frame {
- msec: 3952
- hash: "ffd39c1122fe2f7877ef30591b539b40"
- }
- Frame {
- msec: 3968
- hash: "4ac43a03cc6f2020ab5f894d704092ac"
- }
- Frame {
- msec: 3984
- hash: "c1a7b7d6d64ac5584c073c2881290696"
- }
- Frame {
- msec: 4000
- hash: "29ece1bca4d21fb5862091317d430a13"
- }
- Frame {
- msec: 4016
- hash: "29ece1bca4d21fb5862091317d430a13"
- }
- Frame {
- msec: 4032
- hash: "29ece1bca4d21fb5862091317d430a13"
- }
- Frame {
- msec: 4048
- hash: "29ece1bca4d21fb5862091317d430a13"
- }
- Frame {
- msec: 4064
- hash: "29ece1bca4d21fb5862091317d430a13"
- }
- Frame {
- msec: 4080
- hash: "c1a7b7d6d64ac5584c073c2881290696"
- }
- Frame {
- msec: 4096
- hash: "c1a7b7d6d64ac5584c073c2881290696"
- }
- Frame {
- msec: 4112
- hash: "4ac43a03cc6f2020ab5f894d704092ac"
- }
- Frame {
- msec: 4128
- hash: "4ac43a03cc6f2020ab5f894d704092ac"
- }
- Frame {
- msec: 4144
- hash: "ffd39c1122fe2f7877ef30591b539b40"
- }
- Frame {
- msec: 4160
- hash: "62a7133012348f2ec3a388fb685ecc3f"
- }
- Frame {
- msec: 4176
- hash: "45281a70021f81dbef30334b1480da1b"
- }
- Frame {
- msec: 4192
- hash: "6cc9de62a0c8fa5e42eac1b01e99ac32"
- }
- Frame {
- msec: 4208
- hash: "79ec710576427df73dd03f39fba6e2eb"
- }
- Frame {
- msec: 4224
- hash: "5be4f5c67941efb6fcea363c79f1e321"
- }
- Frame {
- msec: 4240
- hash: "7d9096b1eb940c82a37baf39ef3ccf3e"
- }
- Frame {
- msec: 4256
- hash: "e87b00bfc2c2a75a4234ec02a057ad3a"
- }
- Frame {
- msec: 4272
- hash: "da60100dc55023c3bab367d97c8f6a85"
- }
- Frame {
- msec: 4288
- hash: "dc98a9bdd99367c1e9b838d4be489dcc"
- }
- Frame {
- msec: 4304
- hash: "b2c778a5eff5f01edc54f03d8b4de8c7"
- }
- Frame {
- msec: 4320
- hash: "9650fd0364c01b11e4f5dcce51d008af"
- }
- Frame {
- msec: 4336
- hash: "2cb09d9655ecc30ae6a591b28c0d355c"
- }
- Frame {
- msec: 4352
- hash: "4db9bc6c11caf1d77794c2eabb62a44e"
- }
- Frame {
- msec: 4368
- hash: "ce2b5dd7418868acf86fea6ad19cc0c5"
- }
- Frame {
- msec: 4384
- hash: "c4f844ee71f23635bb3ec7375f6a134f"
- }
- Frame {
- msec: 4400
- hash: "4e1fda8a0495ef968c1cffb1257426d7"
- }
- Frame {
- msec: 4416
- hash: "19d2ae617a49b57dd012677e2834469c"
- }
- Frame {
- msec: 4432
- hash: "f438e8d2c16b5de677924c8411219b19"
- }
- Frame {
- msec: 4448
- hash: "005acbef952a8ee536e6308a48223e65"
- }
- Frame {
- msec: 4464
- hash: "87b71778d52cd8563d171151d4d32407"
- }
- Frame {
- msec: 4480
- hash: "691cd8bf5c7802ff6c5024827a379fc6"
- }
- Frame {
- msec: 4496
- hash: "ab442c0173c3d221b6782d28001dac77"
- }
- Frame {
- msec: 4512
- hash: "6f886d4538704c2fad4d84c68214109f"
- }
- Frame {
- msec: 4528
- hash: "56d39f233fae41c60499d6161f891cbc"
- }
- Frame {
- msec: 4544
- hash: "95d987c3fd1352fb81c42c63634fe53b"
- }
- Frame {
- msec: 4560
- hash: "96dc84c0c548021910e7c5b580179054"
- }
- Frame {
- msec: 4576
- hash: "ddb71cbd57f6e43744d533d4f72b08db"
- }
- Frame {
- msec: 4592
- hash: "f7ab4b197bea455b22f259913438d207"
- }
- Frame {
- msec: 4608
- hash: "2ad64cb01c9d50e0118d5ece0a644df2"
- }
- Frame {
- msec: 4624
- hash: "6579681c59dd571df0ee4429d74fb5c7"
- }
- Frame {
- msec: 4640
- hash: "630d90eef2673a69e8ebc4ef1ba40e81"
- }
- Frame {
- msec: 4656
- hash: "3db5e30ef19ea693c21ccf72892c4390"
- }
- Frame {
- msec: 4672
- hash: "721d7061811b5439c2e8e395917494bc"
- }
- Frame {
- msec: 4688
- hash: "bc426fb7c31751665b0d3f16e2cb0173"
- }
- Frame {
- msec: 4704
- hash: "e11455d4e23a5a865e222a7aba4ba4f9"
- }
- Frame {
- msec: 4720
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 4736
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 4752
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 4768
- hash: "41ba853c3403f68a23e708df82e21c53"
- }
- Frame {
- msec: 4784
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 4800
- hash: "336d31586171f22d541b989d24b95cbb"
- }
- Frame {
- msec: 4816
- image: "pauseAnimation-visual.5.png"
- }
- Frame {
- msec: 4832
- hash: "e11455d4e23a5a865e222a7aba4ba4f9"
- }
- Frame {
- msec: 4848
- hash: "dd60cbaff6f34027474e92315dbc0ebc"
- }
- Frame {
- msec: 4864
- hash: "8757668e56be6449ec375f0b8fed1be3"
- }
- Frame {
- msec: 4880
- hash: "bc426fb7c31751665b0d3f16e2cb0173"
- }
- Frame {
- msec: 4896
- hash: "b3f4a2165ec1ee971542b8ef89656cea"
- }
- Frame {
- msec: 4912
- hash: "53ae93140252373eaa4d9da73756bd8e"
- }
- Frame {
- msec: 4928
- hash: "721d7061811b5439c2e8e395917494bc"
- }
- Frame {
- msec: 4944
- hash: "af3120fe262d2489c0ed33fbbee1549f"
- }
- Frame {
- msec: 4960
- hash: "a8b624ebfc9ab713d1ce55f318a6e90d"
- }
- Frame {
- msec: 4976
- hash: "a88a8129259f86df5a73addc3649ad37"
- }
- Frame {
- msec: 4992
- hash: "3db5e30ef19ea693c21ccf72892c4390"
- }
- Frame {
- msec: 5008
- hash: "3db5e30ef19ea693c21ccf72892c4390"
- }
- Frame {
- msec: 5024
- hash: "e553f365912586c6408c8c53b1b7d118"
- }
- Frame {
- msec: 5040
- hash: "e553f365912586c6408c8c53b1b7d118"
- }
- Frame {
- msec: 5056
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 5072
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 5088
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 5104
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 5120
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 5136
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 5152
- hash: "1373545e43fff7251cec9e8375ea267f"
- }
- Frame {
- msec: 5168
- hash: "e553f365912586c6408c8c53b1b7d118"
- }
- Frame {
- msec: 5184
- hash: "e553f365912586c6408c8c53b1b7d118"
- }
- Frame {
- msec: 5200
- hash: "3db5e30ef19ea693c21ccf72892c4390"
- }
- Frame {
- msec: 5216
- hash: "3db5e30ef19ea693c21ccf72892c4390"
- }
- Frame {
- msec: 5232
- hash: "a88a8129259f86df5a73addc3649ad37"
- }
- Frame {
- msec: 5248
- hash: "a8b624ebfc9ab713d1ce55f318a6e90d"
- }
- Frame {
- msec: 5264
- hash: "af3120fe262d2489c0ed33fbbee1549f"
- }
- Frame {
- msec: 5280
- hash: "721d7061811b5439c2e8e395917494bc"
- }
- Frame {
- msec: 5296
- hash: "53ae93140252373eaa4d9da73756bd8e"
- }
- Frame {
- msec: 5312
- hash: "b3f4a2165ec1ee971542b8ef89656cea"
- }
- Frame {
- msec: 5328
- hash: "0c20d12464abbdc45041ea5d9f2719b1"
- }
- Frame {
- msec: 5344
- hash: "8757668e56be6449ec375f0b8fed1be3"
- }
- Frame {
- msec: 5360
- hash: "ef8941674cb61f54853dc33652bb854e"
- }
- Frame {
- msec: 5376
- hash: "e11455d4e23a5a865e222a7aba4ba4f9"
- }
- Frame {
- msec: 5392
- hash: "6d63fb5c8a80f0280e88b2cdf8641bb9"
- }
- Frame {
- msec: 5408
- hash: "e74fe4a6bd92cbe8629c8bc8a870104d"
- }
- Frame {
- msec: 5424
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 5440
- hash: "ce57e27af329eba4fac3ab891f0407ce"
- }
- Frame {
- msec: 5456
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 5472
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 5488
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 5504
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 5520
- hash: "41ba853c3403f68a23e708df82e21c53"
- }
- Frame {
- msec: 5536
- hash: "ce57e27af329eba4fac3ab891f0407ce"
- }
- Frame {
- msec: 5552
- hash: "ce57e27af329eba4fac3ab891f0407ce"
- }
- Frame {
- msec: 5568
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 5584
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 5600
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 5616
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 5632
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 5648
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 5664
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 5680
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 5696
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 5712
- hash: "3042003c067b257de2cb32f650dde693"
- }
- Frame {
- msec: 5728
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 5744
- hash: "a725b59b4947357546bbfc7df3d830af"
- }
- Frame {
- msec: 5760
- hash: "ce57e27af329eba4fac3ab891f0407ce"
- }
- Frame {
- msec: 5776
- image: "pauseAnimation-visual.6.png"
- }
- Frame {
- msec: 5792
- hash: "41ba853c3403f68a23e708df82e21c53"
- }
- Frame {
- msec: 5808
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 5824
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 5840
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 5856
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 5872
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 5888
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 5904
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 5920
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 5936
- hash: "dcf2867c127e041970047ec8f3edc04f"
- }
- Frame {
- msec: 5952
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 5968
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 5984
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 6000
- hash: "675ebbdd22dd22ce45993df4af1acfe9"
- }
- Frame {
- msec: 6016
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6032
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6048
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6064
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6080
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6096
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6112
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6128
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6144
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6160
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6176
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6192
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6208
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6224
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6240
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6256
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6272
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6288
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6304
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6320
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6336
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6352
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6368
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6384
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6400
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
- Frame {
- msec: 6416
- hash: "a350b70c5238a340e85fd4a3ec0390a3"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.0.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.0.png
deleted file mode 100644
index 693a7941c7..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.1.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.1.png
deleted file mode 100644
index 06d43f12c6..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.2.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.2.png
deleted file mode 100644
index e619baf4f1..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.3.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.3.png
deleted file mode 100644
index 30c7671c32..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.4.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.4.png
deleted file mode 100644
index 132803cbc0..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.5.png b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.5.png
deleted file mode 100644
index 8372bc30b2..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/data/pauseAnimation.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml b/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml
deleted file mode 100644
index 1b315b2c61..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pauseAnimation-visual.qml
+++ /dev/null
@@ -1,36 +0,0 @@
-import QtQuick 1.0
-
-/*
-This test shows a bouncing logo.
-When the test starts the logo should be resting at the bottom. It should immediately move
-to the top, and then fall down to bounce at the bottom. There should be a pause, and then
-one repeat of the sequence.
-*/
-
-Rectangle {
- id: rect
- width: 120
- height: 200
- color: "white"
- Image {
- id: img
- source: "pics/qtlogo.png"
- x: 60-width/2
- y: 200-img.height
- SequentialAnimation on y {
- loops: Animation.Infinite
- NumberAnimation {
- to: 0; duration: 500
- easing.type: "InOutQuad"
- }
- NumberAnimation {
- to: 200-img.height
- easing.type: "OutBounce"
- duration: 2000
- }
- PauseAnimation {
- duration: 1000
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.0.png b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.0.png
deleted file mode 100644
index 7d2b66ef46..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.1.png b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.1.png
deleted file mode 100644
index a02c063eac..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.2.png b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.2.png
deleted file mode 100644
index 1af3243c15..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.3.png b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.3.png
deleted file mode 100644
index 7d2b66ef46..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.qml b/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.qml
deleted file mode 100644
index 3c24f5903d..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/propertyAction/data/propertyAction-visual.qml
+++ /dev/null
@@ -1,815 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "propertyAction-visual.0.png"
- }
- Frame {
- msec: 32
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 48
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 64
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 80
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 96
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 112
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 128
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 144
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 160
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 176
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 192
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 208
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 224
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 240
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 256
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 272
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 288
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 304
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 320
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 336
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 352
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 368
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 384
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 400
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 416
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 432
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 448
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 464
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 480
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 496
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 512
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 528
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 544
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 560
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 576
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 592
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 608
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 624
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 640
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 656
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 672
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 688
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 704
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 720
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 736
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 27; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 752
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 768
- hash: "a858eee4b2753915ec84d2ffa098260c"
- }
- Frame {
- msec: 784
- hash: "a858eee4b2753915ec84d2ffa098260c"
- }
- Frame {
- msec: 800
- hash: "a858eee4b2753915ec84d2ffa098260c"
- }
- Frame {
- msec: 816
- hash: "e8e6b7d7f81895ae556936ba5e0848a5"
- }
- Frame {
- msec: 832
- hash: "b6ee5f74a5e91bcf6b9aad3cbb5d683f"
- }
- Frame {
- msec: 848
- hash: "b6ee5f74a5e91bcf6b9aad3cbb5d683f"
- }
- Frame {
- msec: 864
- hash: "02e3d071d5fc0832041688950d3610b8"
- }
- Frame {
- msec: 880
- hash: "aad38d9678bdeeed750f381a40e22a61"
- }
- Frame {
- msec: 896
- hash: "a8753ac7d026d94224c488fa16d5774a"
- }
- Frame {
- msec: 912
- hash: "9de26e2d70bd285116df820ca87c2e4d"
- }
- Frame {
- msec: 928
- hash: "985c6ee9cb5f259135a4eeb3c2f1d271"
- }
- Frame {
- msec: 944
- hash: "985c6ee9cb5f259135a4eeb3c2f1d271"
- }
- Frame {
- msec: 960
- hash: "4ba1bf769de9bc45630485d06642dc30"
- }
- Frame {
- msec: 976
- image: "propertyAction-visual.1.png"
- }
- Frame {
- msec: 992
- hash: "4ba1bf769de9bc45630485d06642dc30"
- }
- Frame {
- msec: 1008
- hash: "9dbe8b62ec467f5b95b4bb8ab9fbab68"
- }
- Frame {
- msec: 1024
- hash: "9dbe8b62ec467f5b95b4bb8ab9fbab68"
- }
- Frame {
- msec: 1040
- hash: "81c157daf3086b21ea2ba39277a31f3d"
- }
- Frame {
- msec: 1056
- hash: "a19d2e389a71472929fed6691dbe40ec"
- }
- Frame {
- msec: 1072
- hash: "0fc67582f36db63dc3df1027bf7ad90b"
- }
- Frame {
- msec: 1088
- hash: "c53f1a42113fdc2e525c43460ed40f81"
- }
- Frame {
- msec: 1104
- hash: "c8968753e599419bc2d70adb95b643f2"
- }
- Frame {
- msec: 1120
- hash: "449fbda0dc3e45d022832f9d15203466"
- }
- Frame {
- msec: 1136
- hash: "7778e32071419dd53920536bac1eb21a"
- }
- Frame {
- msec: 1152
- hash: "279510c6ca5429a22855a08e88a1b4b5"
- }
- Frame {
- msec: 1168
- hash: "ac86ca53dc52c7c54bd993faa2daf0b9"
- }
- Frame {
- msec: 1184
- hash: "7e20361da8a49f9699e290673bdd60ee"
- }
- Frame {
- msec: 1200
- hash: "aa5f6e188212cee2dbf8d1e52692ac88"
- }
- Frame {
- msec: 1216
- hash: "14018d9d2370c46b5f0c280cb169225e"
- }
- Frame {
- msec: 1232
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1248
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1264
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1280
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1296
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1312
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1328
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1344
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1360
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1376
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1392
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1408
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1424
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1440
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1456
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1472
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1488
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1504
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1520
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1536
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1552
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1568
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1584
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1600
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1616
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1632
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1648
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1664
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1680
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1696
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 27; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1712
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1728
- hash: "29ad10997d8045ccfd69fe78475dd2f3"
- }
- Frame {
- msec: 1744
- hash: "7b99c5dd3750291043f62479314ccb2f"
- }
- Frame {
- msec: 1760
- hash: "d3409cf579db724440f3f59cfc902974"
- }
- Frame {
- msec: 1776
- hash: "2ad2a4b3f933e3a27acb232adf06eb7f"
- }
- Frame {
- msec: 1792
- hash: "35074cf4f2753c77e112092e92630c71"
- }
- Frame {
- msec: 1808
- hash: "f7038f7e6d7b6498ff1a4098c79f9d2a"
- }
- Frame {
- msec: 1824
- hash: "fec23135661d2368cf3cf64f7d62af73"
- }
- Frame {
- msec: 1840
- hash: "4143603bf203319f423d21f204fac3b0"
- }
- Frame {
- msec: 1856
- hash: "f3d41bdc8ae60f6fbf109206ac9023de"
- }
- Frame {
- msec: 1872
- hash: "41064ea276aabfba45966130d2ec4b06"
- }
- Frame {
- msec: 1888
- hash: "dfbe242fc8bc3c70207be901ac2db139"
- }
- Frame {
- msec: 1904
- hash: "a8a9f435774def4255ae433646cc5263"
- }
- Frame {
- msec: 1920
- hash: "81c157daf3086b21ea2ba39277a31f3d"
- }
- Frame {
- msec: 1936
- image: "propertyAction-visual.2.png"
- }
- Frame {
- msec: 1952
- hash: "9dbe8b62ec467f5b95b4bb8ab9fbab68"
- }
- Frame {
- msec: 1968
- hash: "4ba1bf769de9bc45630485d06642dc30"
- }
- Frame {
- msec: 1984
- hash: "4ba1bf769de9bc45630485d06642dc30"
- }
- Frame {
- msec: 2000
- hash: "4ba1bf769de9bc45630485d06642dc30"
- }
- Frame {
- msec: 2016
- hash: "4ba1bf769de9bc45630485d06642dc30"
- }
- Frame {
- msec: 2032
- hash: "985c6ee9cb5f259135a4eeb3c2f1d271"
- }
- Frame {
- msec: 2048
- hash: "9de26e2d70bd285116df820ca87c2e4d"
- }
- Frame {
- msec: 2064
- hash: "a8753ac7d026d94224c488fa16d5774a"
- }
- Frame {
- msec: 2080
- hash: "aad38d9678bdeeed750f381a40e22a61"
- }
- Frame {
- msec: 2096
- hash: "abddb88af9b07e782f6c2103479abe3d"
- }
- Frame {
- msec: 2112
- hash: "02e3d071d5fc0832041688950d3610b8"
- }
- Frame {
- msec: 2128
- hash: "b6ee5f74a5e91bcf6b9aad3cbb5d683f"
- }
- Frame {
- msec: 2144
- hash: "e8e6b7d7f81895ae556936ba5e0848a5"
- }
- Frame {
- msec: 2160
- hash: "a858eee4b2753915ec84d2ffa098260c"
- }
- Frame {
- msec: 2176
- hash: "a858eee4b2753915ec84d2ffa098260c"
- }
- Frame {
- msec: 2192
- hash: "a858eee4b2753915ec84d2ffa098260c"
- }
- Frame {
- msec: 2208
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2224
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2240
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2256
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2272
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2288
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2304
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2320
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2336
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2352
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2368
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2384
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2400
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2416
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2432
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2448
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2464
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2480
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2496
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2512
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2528
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2544
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2560
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2576
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2592
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2608
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2624
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2640
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2656
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2672
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2688
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2704
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2720
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2736
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2752
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2768
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2784
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2800
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2816
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2832
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2848
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2864
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2880
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2896
- image: "propertyAction-visual.3.png"
- }
- Frame {
- msec: 2912
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2928
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2944
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2960
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2976
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 2992
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3008
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3024
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3040
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3056
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3072
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3088
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3104
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3120
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3136
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3152
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
- Frame {
- msec: 3168
- hash: "1e5ac43e0f553886bcb2b4016f7e3414"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/propertyAction/propertyAction-visual.qml b/tests/auto/declarative/qmlvisual/animation/propertyAction/propertyAction-visual.qml
deleted file mode 100644
index 3ff4214d8a..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/propertyAction/propertyAction-visual.qml
+++ /dev/null
@@ -1,40 +0,0 @@
-import QtQuick 1.0
-
-/*
-This test starts with a 30x40 rectangle at 0,0. It should animate a width change to 40,
-then jump 50 pixels right, and then animate moving 50 pixels down. Afer this it should
-do an exact visual reversal (animate up 50 pixels, jump left 50 pixels, and then animate
-a change back to 30px wide).
-*/
-
-Rectangle {
- width: 100; height: 100
- Rectangle {
- id: myRect
- width: 30; height: 40
- color: "red"
- }
- MouseArea {
- id: clickable
- anchors.fill: parent
- }
-
- states: State {
- name: "state1"
- when: clickable.pressed
- PropertyChanges {
- target: myRect
- x: 50; y: 50; width: 40
- }
- }
-
- transitions: Transition {
- to: "state1"
- reversible: true
- SequentialAnimation {
- NumberAnimation { properties: "width"; easing.type: "InOutQuad" }
- PropertyAction { properties: "x" }
- NumberAnimation { properties: "y"; easing.type: "InOutQuad" }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.png b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.png
deleted file mode 100644
index 4af174419a..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.1.png b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.1.png
deleted file mode 100644
index 29ca02a870..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.2.png b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.2.png
deleted file mode 100644
index c7da35979b..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.3.png b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.3.png
deleted file mode 100644
index 7373951f78..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.4.png b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.4.png
deleted file mode 100644
index 8552406140..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml b/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml
deleted file mode 100644
index 05b5c995cf..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug10586/data/qtbug10586.qml
+++ /dev/null
@@ -1,1107 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "qtbug10586.0.png"
- }
- Frame {
- msec: 32
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 48
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 64
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 80
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 96
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 112
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 128
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 144
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 160
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 176
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 192
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 208
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 224
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 240
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 256
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 272
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 288
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 304
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 320
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 336
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 352
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 368
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 384
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 400
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 416
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 432
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 448
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 464
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 480
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 496
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 512
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 528
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 544
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 560
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 576
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 592
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 608
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 624
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 640
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 656
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 672
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 688
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 704
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 155; y: 261
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 154; y: 260
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 720
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 153; y: 260
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 144; y: 258
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 736
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 254
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 105; y: 249
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 752
- hash: "3e70a9fcacf40284c4bbf6a8376edfec"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 76; y: 247
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 245
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 768
- hash: "3b65fbe0980fabd4bcba5757323c8fcf"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 20; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -25; y: 241
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 784
- hash: "0a79d810c2ff479fcc42d40125f6ccda"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -68; y: 238
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: -68; y: 238
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 800
- hash: "9e5b85c715a2a573f0dd3bc7e342625f"
- }
- Frame {
- msec: 816
- hash: "371faa0d3bb3815470ef48713f0363b6"
- }
- Frame {
- msec: 832
- hash: "2f948f765ec2d861841439f03e402bcf"
- }
- Frame {
- msec: 848
- hash: "74dbda8d6d005fb8fb307fc4cf146e1e"
- }
- Frame {
- msec: 864
- hash: "bdf1f0db0411a3456ddc0efff0584e9c"
- }
- Frame {
- msec: 880
- hash: "cb5c7c9fc7e4707f1d8b7bbb9f19065d"
- }
- Frame {
- msec: 896
- hash: "f60df4e47f5b9d16b576ab4107a0c11c"
- }
- Frame {
- msec: 912
- hash: "6fcc1b9d2d1829c48cdfefba632c6a91"
- }
- Frame {
- msec: 928
- hash: "e53272919fa23f7023ce66d3b15c2f05"
- }
- Frame {
- msec: 944
- hash: "dc043143bf35a808fcdf2b692753dc86"
- }
- Frame {
- msec: 960
- hash: "dff3c85f1bb42138410e9db7be98425b"
- }
- Frame {
- msec: 976
- image: "qtbug10586.1.png"
- }
- Frame {
- msec: 992
- hash: "d4122caf5fc8cfd59e6048b830acc3fb"
- }
- Frame {
- msec: 1008
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1024
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1040
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1056
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1072
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1088
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1104
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1120
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1136
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1152
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1168
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1184
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1200
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1216
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1232
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1248
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1264
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1280
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1296
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1312
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1328
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1344
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1360
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1376
- hash: "be218d7ebfb01cf288b284cf40337913"
- }
- Frame {
- msec: 1392
- hash: "bd1af1e9187a58841b33862047ad4ae3"
- }
- Frame {
- msec: 1408
- hash: "6154c00e9290393daaf1e7a0618874c7"
- }
- Frame {
- msec: 1424
- hash: "6ed42be04df8a4cc15d9d885e4b157f5"
- }
- Frame {
- msec: 1440
- hash: "2187c8e798b2b60567284af6923a9418"
- }
- Frame {
- msec: 1456
- hash: "39ef8ac3108be3c5b8c85aaa06539952"
- }
- Frame {
- msec: 1472
- hash: "a30c2d3bbebdf3ae84c8148dfff53abf"
- }
- Frame {
- msec: 1488
- hash: "f9b5ef6675c326a3c6462f8ad173c875"
- }
- Frame {
- msec: 1504
- hash: "eab82ad570e59a68c41450df5146aea6"
- }
- Frame {
- msec: 1520
- hash: "2caf2dae27a5603de6665c1cafbe6576"
- }
- Frame {
- msec: 1536
- hash: "601b397404250d01ec9e483683c32776"
- }
- Frame {
- msec: 1552
- hash: "06dd6ec2e0f016fc0cb6bbce27e3dcd3"
- }
- Frame {
- msec: 1568
- hash: "9ebba3740bb33db00ebb62706e1d27a5"
- }
- Frame {
- msec: 1584
- hash: "9ebba3740bb33db00ebb62706e1d27a5"
- }
- Frame {
- msec: 1600
- hash: "06dd6ec2e0f016fc0cb6bbce27e3dcd3"
- }
- Frame {
- msec: 1616
- hash: "601b397404250d01ec9e483683c32776"
- }
- Frame {
- msec: 1632
- hash: "a80dcdc8ce2c4e2653e01423ea053eba"
- }
- Frame {
- msec: 1648
- hash: "8fe7230266084f07f8fd9c6991461163"
- }
- Frame {
- msec: 1664
- hash: "5d9ed702af5c520f4b268077b957586a"
- }
- Frame {
- msec: 1680
- hash: "6cccabc3a6ac3eef95794e6712404234"
- }
- Frame {
- msec: 1696
- hash: "8bfc492064d6c93727b59fd3ca2a8dc8"
- }
- Frame {
- msec: 1712
- hash: "e506cf18d730f4ab1e8e803b7663238a"
- }
- Frame {
- msec: 1728
- hash: "2187c8e798b2b60567284af6923a9418"
- }
- Frame {
- msec: 1744
- hash: "6ed42be04df8a4cc15d9d885e4b157f5"
- }
- Frame {
- msec: 1760
- hash: "b887f64a8e44a243f11e37692d54d2d1"
- }
- Frame {
- msec: 1776
- hash: "d5f157d073cd8de8cc58124455a38675"
- }
- Frame {
- msec: 1792
- hash: "d39f213d4b91229bd76d48589a067623"
- }
- Frame {
- msec: 1808
- hash: "7b2413f4fd12fd4d38fc40ebbbd893f3"
- }
- Frame {
- msec: 1824
- hash: "bd1af1e9187a58841b33862047ad4ae3"
- }
- Frame {
- msec: 1840
- hash: "1e54f1b5ef6bb7085a36d433af94a9b3"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 145; y: 286
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 166; y: 286
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 195; y: 288
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1856
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 224; y: 290
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 253; y: 290
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1872
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 286; y: 292
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 315; y: 292
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1888
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 346; y: 294
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 385; y: 294
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1904
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 420; y: 294
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 420; y: 294
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1920
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1936
- image: "qtbug10586.2.png"
- }
- Frame {
- msec: 1952
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1968
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 1984
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2000
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2016
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2032
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2048
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2064
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2080
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2096
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2112
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2128
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2144
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2160
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2176
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2192
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2208
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2224
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2240
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2256
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2272
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2288
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2304
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2320
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2336
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2352
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2368
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2384
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2400
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2416
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2432
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2448
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2464
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2480
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2496
- hash: "d84bf962449716cc64cb34b285926c48"
- }
- Frame {
- msec: 2512
- hash: "4c6ff9097308cb3840ef39a081bdc94f"
- }
- Frame {
- msec: 2528
- hash: "93a2b229f21b76354a8cf94f150c69e2"
- }
- Frame {
- msec: 2544
- hash: "e65350b411affe4274499fd577ccf842"
- }
- Frame {
- msec: 2560
- hash: "499968d33068c7e08898a19cce691766"
- }
- Frame {
- msec: 2576
- hash: "fe884e410a8c7b2167f814ebdf7700af"
- }
- Frame {
- msec: 2592
- hash: "c0225009d42b670f5f1ce0871be90db6"
- }
- Frame {
- msec: 2608
- hash: "320d205e147fa6470d71538d686ff458"
- }
- Frame {
- msec: 2624
- hash: "ec0a1fa273e6568d041ee2497a715704"
- }
- Frame {
- msec: 2640
- hash: "159c558e0d1b59db8e9459c4203d56f3"
- }
- Frame {
- msec: 2656
- hash: "00d237cd7ad6df807b4f9281bbc72992"
- }
- Frame {
- msec: 2672
- hash: "c472991635460a93f744538328cd89f4"
- }
- Frame {
- msec: 2688
- hash: "318ba06f590d4e3a1dea6affcc60243b"
- }
- Frame {
- msec: 2704
- hash: "d344b62df42e88e14d45def62565791a"
- }
- Frame {
- msec: 2720
- hash: "5c2658568080a663440e09acbcf2fa8d"
- }
- Frame {
- msec: 2736
- hash: "8e64867dabeaeae51149362c5f42545b"
- }
- Frame {
- msec: 2752
- hash: "abd81e11370469803bad5de9a9c77f63"
- }
- Frame {
- msec: 2768
- hash: "1cce356ebd61d7c88edb84c58a564def"
- }
- Frame {
- msec: 2784
- hash: "0ab027423651612ceba2b35e57d75d91"
- }
- Frame {
- msec: 2800
- hash: "515b6375cf0fefc8580d62cd5b2680f7"
- }
- Frame {
- msec: 2816
- hash: "f44c12b701e73a7e4d35fd10ea0f5003"
- }
- Frame {
- msec: 2832
- hash: "76bee658c9915fda03967fcb2e595683"
- }
- Frame {
- msec: 2848
- hash: "064d5525e1fa7c8ec5f571a56e666754"
- }
- Frame {
- msec: 2864
- hash: "ffd23fa2b1281cd120d6b11912bb8641"
- }
- Frame {
- msec: 2880
- hash: "7454984bc5316de021b87d04daf0e8bb"
- }
- Frame {
- msec: 2896
- image: "qtbug10586.3.png"
- }
- Frame {
- msec: 2912
- hash: "1fcf6b150607c0ea807026f8f9e28f61"
- }
- Frame {
- msec: 2928
- hash: "e16a333231b3c65c85ff498e941f8c05"
- }
- Frame {
- msec: 2944
- hash: "3e49589f1b4a6b8212f5c10d234f8ffa"
- }
- Frame {
- msec: 2960
- hash: "02ce2b719ddbd977bb933882a40024f5"
- }
- Frame {
- msec: 2976
- hash: "a161119d1f022885db1af71ededa2b8c"
- }
- Frame {
- msec: 2992
- hash: "62a006aab9629dc1e8359c52664ee34b"
- }
- Frame {
- msec: 3008
- hash: "62a006aab9629dc1e8359c52664ee34b"
- }
- Frame {
- msec: 3024
- hash: "b98a2c58933bd4f49ed7a1d72bff7e66"
- }
- Frame {
- msec: 3040
- hash: "b98a2c58933bd4f49ed7a1d72bff7e66"
- }
- Frame {
- msec: 3056
- hash: "b98a2c58933bd4f49ed7a1d72bff7e66"
- }
- Frame {
- msec: 3072
- hash: "b98a2c58933bd4f49ed7a1d72bff7e66"
- }
- Frame {
- msec: 3088
- hash: "b98a2c58933bd4f49ed7a1d72bff7e66"
- }
- Frame {
- msec: 3104
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3120
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3136
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3152
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3168
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3184
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3200
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3216
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3232
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3248
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3264
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3280
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3296
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3312
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3328
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3344
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3360
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3376
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3392
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3408
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3424
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3440
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3456
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3472
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3488
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3504
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3520
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3536
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3552
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3568
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3584
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3600
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3616
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3632
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3648
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
- Frame {
- msec: 3664
- hash: "0755ae54acb6af587bbf7ca509146e0f"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug10586/qtbug10586.qml b/tests/auto/declarative/qmlvisual/animation/qtbug10586/qtbug10586.qml
deleted file mode 100644
index 65caeddaa8..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug10586/qtbug10586.qml
+++ /dev/null
@@ -1,23 +0,0 @@
-import QtQuick 1.0
-
-/* This test checks that animations do occur while the flickable is flicking */
-Rectangle {
- width: 200
- height: 400
- Flickable {
- id: flick
- anchors.fill: parent
- contentWidth: 1000; contentHeight: parent.height
- Rectangle {
- border.color: "black"
- border.width: 10
- width: 1000; height: 1000
- }
- }
- Rectangle {
- color: "red"
- width: 100; height: 100
- y: flick.contentX < 10 ? 300 : 0
- Behavior on y { NumberAnimation {} }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.0.png b/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.0.png
deleted file mode 100644
index 29f7c750ad..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.1.png b/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.1.png
deleted file mode 100644
index d9a9959605..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.qml b/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.qml
deleted file mode 100644
index 179dbc970d..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug13398/data/qtbug13398.qml
+++ /dev/null
@@ -1,447 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "qtbug13398.0.png"
- }
- Frame {
- msec: 32
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 48
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 64
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 80
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 96
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 112
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 128
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 144
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 160
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 176
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 192
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 208
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 224
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 240
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 256
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 272
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 288
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 304
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 320
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 336
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 352
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 368
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 384
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 400
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 416
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 432
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 448
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 464
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 480
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 496
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 220; y: 270
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 512
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 528
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 544
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 560
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 576
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 220; y: 271
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 220; y: 271
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 592
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
- Frame {
- msec: 608
- hash: "96e8e81d61bffe02b8f41f47a4a7e8fc"
- }
- Frame {
- msec: 624
- hash: "75881a2779bd7d7f683f87c4a7393769"
- }
- Frame {
- msec: 640
- hash: "2ef628328d2a6393095e78db80b0513f"
- }
- Frame {
- msec: 656
- hash: "390926f2c2c27dfa10c9b393ee466ce6"
- }
- Frame {
- msec: 672
- hash: "ea07d93e7d8a53f56cff19d9d3b282a4"
- }
- Frame {
- msec: 688
- hash: "8aa6be919b1ef4b7e102a319a453707e"
- }
- Frame {
- msec: 704
- hash: "6ebc518fb53ffe42fca20b9f16a21b36"
- }
- Frame {
- msec: 720
- hash: "ee7a93b157e24e22efa84604e7e44fe6"
- }
- Frame {
- msec: 736
- hash: "de3bf8f67e51b036db4976fd3b4b6c3c"
- }
- Frame {
- msec: 752
- hash: "648be4298ebe3bbc7e5c4a4c9c46f193"
- }
- Frame {
- msec: 768
- hash: "1ccf3b73e22a4b98ce1df098af9466f2"
- }
- Frame {
- msec: 784
- hash: "73a2fb047728b2b8e613f0fb8dfe429d"
- }
- Frame {
- msec: 800
- hash: "bbb4cabec4b98ea8ca94dff91a0d8c99"
- }
- Frame {
- msec: 816
- hash: "3337e86bd9fcfbce939389928fb1fb72"
- }
- Frame {
- msec: 832
- hash: "cb4a2a330e8470c61de9e9b6d2dc4597"
- }
- Frame {
- msec: 848
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 864
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 880
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 896
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 912
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 928
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 944
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 960
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 976
- image: "qtbug13398.1.png"
- }
- Frame {
- msec: 992
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1008
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1024
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1040
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1056
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1072
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1088
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1104
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1120
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1136
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1152
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1168
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1184
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1200
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1216
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1232
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 220; y: 271
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1248
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1264
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1280
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1296
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1312
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1328
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 220; y: 271
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1344
- hash: "e09a359578935b988ac1cc8c40b25547"
- }
- Frame {
- msec: 1360
- hash: "697a4fd182ff90cd557f224174bad43a"
- }
- Frame {
- msec: 1376
- hash: "99e5ca9a77df1acfed628f31b9050179"
- }
- Frame {
- msec: 1392
- hash: "1f0dc00d3e3536b40a6becf775b31cee"
- }
- Frame {
- msec: 1408
- hash: "5b81ddd35d74be222bc8a40d2573884b"
- }
- Frame {
- msec: 1424
- hash: "4e236f5de69048e87add0e4380f2c3e6"
- }
- Frame {
- msec: 1440
- hash: "a901c9c0c77e03d98a2b95267cca8514"
- }
- Frame {
- msec: 1456
- hash: "78bbdf6781c2968c67982ffdb747dbbe"
- }
- Frame {
- msec: 1472
- hash: "a245ca593649f60980be982eb8fda57e"
- }
- Frame {
- msec: 1488
- hash: "c27fddc147749da24eaeb92aeaf61738"
- }
- Frame {
- msec: 1504
- hash: "b9674af46b618dc1eedabd4f18253b11"
- }
- Frame {
- msec: 1520
- hash: "8ae3c0cc0888fd0a607bc5b537a9ce0a"
- }
- Frame {
- msec: 1536
- hash: "f1981bd3fb08233622a4078e2f717011"
- }
- Frame {
- msec: 1552
- hash: "4dce834c9e3988fe535391fedc942add"
- }
- Frame {
- msec: 1568
- hash: "ca7356dee61e156d04b0b46ea033498e"
- }
- Frame {
- msec: 1584
- hash: "97499f6e04cbe690bc12458aef4b66a5"
- }
- Frame {
- msec: 1600
- hash: "2452007928bf86b9c42e666c7a7afc89"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/qtbug13398/qtbug13398.qml b/tests/auto/declarative/qmlvisual/animation/qtbug13398/qtbug13398.qml
deleted file mode 100644
index 93ecd2eb9f..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/qtbug13398/qtbug13398.qml
+++ /dev/null
@@ -1,68 +0,0 @@
-import QtQuick 1.0
-
-Item {
- width: 300
- height: 400
-
- Rectangle {
- id: root
- color: "darkkhaki"
-
- x: 50
- y: 50
-
- width: 200
- height: 300
-
- Rectangle {
- id: statusbar
- color: "chocolate"
-
- height: 30
-
- anchors.top: root.top
- anchors.left: root.left
- anchors.right: root.right
- }
-
- Rectangle {
- id: titlebar
- color: "crimson"
-
- height: 60
-
- anchors.top: statusbar.bottom
- anchors.left: root.left
- anchors.right: root.right
- }
-
- MouseArea {
- anchors.fill: parent
- onClicked: {
- root.state = root.state ? "" : "fullscreen";
- }
- }
-
- states: [
- State {
- name: "fullscreen"
- AnchorChanges {
- target: statusbar
- anchors.top: undefined
- anchors.bottom: titlebar.top
- }
- AnchorChanges {
- target: titlebar
- anchors.top: undefined
- anchors.bottom: root.top
- }
- }
- ]
-
- transitions: [
- Transition {
- AnchorAnimation { }
- }
- ]
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png
deleted file mode 100644
index f08e0489c2..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.1.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.1.png
deleted file mode 100644
index f08e0489c2..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.2.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.2.png
deleted file mode 100644
index 9fb2be5e54..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.3.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.3.png
deleted file mode 100644
index d229e87239..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.4.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.4.png
deleted file mode 100644
index f08e0489c2..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.5.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.5.png
deleted file mode 100644
index 7d1d2cdac8..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.6.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.6.png
deleted file mode 100644
index b537ace22a..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.7.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.7.png
deleted file mode 100644
index f08e0489c2..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.8.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.8.png
deleted file mode 100644
index d229e87239..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.9.png b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.9.png
deleted file mode 100644
index 432f8144b1..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml b/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml
deleted file mode 100644
index 5146be2131..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/data/reanchor.qml
+++ /dev/null
@@ -1,2471 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "reanchor.0.png"
- }
- Frame {
- msec: 32
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 48
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 64
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 80
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 96
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 112
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 128
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 144
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 160
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 176
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 192
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 208
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 224
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 240
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 256
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 272
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 288
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 304
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 320
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 336
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 352
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 368
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 384
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 400
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 416
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 432
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 448
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 464
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 480
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 496
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 512
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 528
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 544
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 560
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 576
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 592
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 608
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 624
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 640
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 656
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 672
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 688
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 704
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 720
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 736
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 752
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 768
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 784
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 800
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 816
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 832
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 848
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 864
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 880
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 896
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 912
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 928
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 944
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 960
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 976
- image: "reanchor.1.png"
- }
- Frame {
- msec: 992
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1008
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1024
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1040
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1056
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1072
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1088
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1104
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1120
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1136
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1152
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1168
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1184
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1200
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1216
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1232
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1248
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1264
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1280
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1296
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1312
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1328
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1344
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1360
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 88; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1376
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1392
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1408
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1424
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1440
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 88; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1456
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 1472
- hash: "eb3eeb37ab7b26692cbf100adfaf3772"
- }
- Frame {
- msec: 1488
- hash: "e1a8cdcb1f3ec097a968b3b20964c6e8"
- }
- Frame {
- msec: 1504
- hash: "44fc52479251327d0612de17ddb056eb"
- }
- Frame {
- msec: 1520
- hash: "fa7e4a910aa60500575a34852c0c7cb8"
- }
- Frame {
- msec: 1536
- hash: "66d205a02e35221e7684ab995acc1312"
- }
- Frame {
- msec: 1552
- hash: "4ebe8dba6d9f3179b610b2298a7484a2"
- }
- Frame {
- msec: 1568
- hash: "9b2582fccffa34fe389ba427ce47619a"
- }
- Frame {
- msec: 1584
- hash: "e6f15478bda9995f82976b9e16659c8e"
- }
- Frame {
- msec: 1600
- hash: "f08df0885fff04819ada6c10b25dd489"
- }
- Frame {
- msec: 1616
- hash: "0f57c152306747cfa27171f1947ca65d"
- }
- Frame {
- msec: 1632
- hash: "89d9c988abd55063e210b81193c6a8f0"
- }
- Frame {
- msec: 1648
- hash: "91e0d0a5d57210c790c2d2399d1f7022"
- }
- Frame {
- msec: 1664
- hash: "267874fdc09459b3e854c06d9ae99a54"
- }
- Frame {
- msec: 1680
- hash: "2f58a508f439c40c6f2bd7da1f30deff"
- }
- Frame {
- msec: 1696
- hash: "1451548d9f0002a6c4765cb616ab7f59"
- }
- Frame {
- msec: 1712
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1728
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1744
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1760
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1776
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1792
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1808
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1824
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1840
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1856
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1872
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1888
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1904
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1920
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1936
- image: "reanchor.2.png"
- }
- Frame {
- msec: 1952
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1968
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 1984
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2000
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2016
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2032
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2048
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2064
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2080
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2096
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 87; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2112
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2128
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2144
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2160
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2176
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2192
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2208
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 87; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2224
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 2240
- hash: "8ceca291e28f52368346f171c2f31664"
- }
- Frame {
- msec: 2256
- hash: "903877286f3ef112e6a661abde5c17bd"
- }
- Frame {
- msec: 2272
- hash: "cc2d15c96571f9328b929f96849c8f9e"
- }
- Frame {
- msec: 2288
- hash: "26e6c03b1b91b725d6e0fe9216a7413e"
- }
- Frame {
- msec: 2304
- hash: "213e8e9905bea32ddb97d38b75cd19cc"
- }
- Frame {
- msec: 2320
- hash: "17d5726a282d42fcde7796be84606fcd"
- }
- Frame {
- msec: 2336
- hash: "f4629bf9f5837f687ae49008c9d28d02"
- }
- Frame {
- msec: 2352
- hash: "fbc927cb136d8d29b2578e78c4793e41"
- }
- Frame {
- msec: 2368
- hash: "c7099e732490dd2f3205986a7c43a165"
- }
- Frame {
- msec: 2384
- hash: "b3b464a8e67fab05109b49604f1ce705"
- }
- Frame {
- msec: 2400
- hash: "7629b2a77f9f87aa0ef2535aa9b8d390"
- }
- Frame {
- msec: 2416
- hash: "6a329c289236782e095cfa6f15409726"
- }
- Frame {
- msec: 2432
- hash: "1cfbf6f4c292e1520b44d84dd59b93a8"
- }
- Frame {
- msec: 2448
- hash: "a8d3d838bffb39053eb705aefcb39c46"
- }
- Frame {
- msec: 2464
- hash: "a56ad66a949e07e3174a58c80145c85e"
- }
- Frame {
- msec: 2480
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2496
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2512
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2528
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2544
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2560
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2576
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2592
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2608
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2624
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2640
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2656
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2672
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2688
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2704
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2720
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2736
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2752
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 87; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2768
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2784
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2800
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2816
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2832
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2848
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2864
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 87; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2880
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 2896
- image: "reanchor.3.png"
- }
- Frame {
- msec: 2912
- hash: "e1a8cdcb1f3ec097a968b3b20964c6e8"
- }
- Frame {
- msec: 2928
- hash: "44fc52479251327d0612de17ddb056eb"
- }
- Frame {
- msec: 2944
- hash: "fa7e4a910aa60500575a34852c0c7cb8"
- }
- Frame {
- msec: 2960
- hash: "66d205a02e35221e7684ab995acc1312"
- }
- Frame {
- msec: 2976
- hash: "4ebe8dba6d9f3179b610b2298a7484a2"
- }
- Frame {
- msec: 2992
- hash: "9b2582fccffa34fe389ba427ce47619a"
- }
- Frame {
- msec: 3008
- hash: "e6f15478bda9995f82976b9e16659c8e"
- }
- Frame {
- msec: 3024
- hash: "f08df0885fff04819ada6c10b25dd489"
- }
- Frame {
- msec: 3040
- hash: "0f57c152306747cfa27171f1947ca65d"
- }
- Frame {
- msec: 3056
- hash: "89d9c988abd55063e210b81193c6a8f0"
- }
- Frame {
- msec: 3072
- hash: "91e0d0a5d57210c790c2d2399d1f7022"
- }
- Frame {
- msec: 3088
- hash: "267874fdc09459b3e854c06d9ae99a54"
- }
- Frame {
- msec: 3104
- hash: "2f58a508f439c40c6f2bd7da1f30deff"
- }
- Frame {
- msec: 3120
- hash: "1451548d9f0002a6c4765cb616ab7f59"
- }
- Frame {
- msec: 3136
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3152
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3168
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3184
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3200
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3216
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3232
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3248
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3264
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3280
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3296
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3312
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3328
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3344
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3360
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 87; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3376
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3392
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3408
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3424
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3440
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3456
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3472
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 87; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3488
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 3504
- hash: "8ceca291e28f52368346f171c2f31664"
- }
- Frame {
- msec: 3520
- hash: "903877286f3ef112e6a661abde5c17bd"
- }
- Frame {
- msec: 3536
- hash: "cc2d15c96571f9328b929f96849c8f9e"
- }
- Frame {
- msec: 3552
- hash: "26e6c03b1b91b725d6e0fe9216a7413e"
- }
- Frame {
- msec: 3568
- hash: "213e8e9905bea32ddb97d38b75cd19cc"
- }
- Frame {
- msec: 3584
- hash: "17d5726a282d42fcde7796be84606fcd"
- }
- Frame {
- msec: 3600
- hash: "f4629bf9f5837f687ae49008c9d28d02"
- }
- Frame {
- msec: 3616
- hash: "fbc927cb136d8d29b2578e78c4793e41"
- }
- Frame {
- msec: 3632
- hash: "c7099e732490dd2f3205986a7c43a165"
- }
- Frame {
- msec: 3648
- hash: "b3b464a8e67fab05109b49604f1ce705"
- }
- Frame {
- msec: 3664
- hash: "7629b2a77f9f87aa0ef2535aa9b8d390"
- }
- Frame {
- msec: 3680
- hash: "6a329c289236782e095cfa6f15409726"
- }
- Frame {
- msec: 3696
- hash: "1cfbf6f4c292e1520b44d84dd59b93a8"
- }
- Frame {
- msec: 3712
- hash: "a8d3d838bffb39053eb705aefcb39c46"
- }
- Frame {
- msec: 3728
- hash: "a56ad66a949e07e3174a58c80145c85e"
- }
- Frame {
- msec: 3744
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3760
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3776
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3792
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3808
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3824
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3840
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3856
- image: "reanchor.4.png"
- }
- Frame {
- msec: 3872
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3888
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3904
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3920
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3936
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3952
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3968
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 3984
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4000
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4016
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4032
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4048
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4064
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4080
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4096
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4112
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4128
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4144
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4160
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4176
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4192
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4208
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4224
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4240
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4256
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4272
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4288
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4304
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4320
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4336
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4352
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4368
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4384
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4400
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4416
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4432
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4448
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4464
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4480
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4496
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4512
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4528
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 174; y: 174
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4544
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4560
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4576
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4592
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4608
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4624
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4640
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4656
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 174; y: 174
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4672
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 4688
- hash: "5d38bf4a033de31985ae9989107908af"
- }
- Frame {
- msec: 4704
- hash: "ed1bd2abd42848ecd07f0f0654c2b80f"
- }
- Frame {
- msec: 4720
- hash: "588de6662123733303d93f62c6481f6a"
- }
- Frame {
- msec: 4736
- hash: "aae79c2fbb2fd1ac7efa9802bff40f95"
- }
- Frame {
- msec: 4752
- hash: "f17512798136f67f25aaa0aeb60678e1"
- }
- Frame {
- msec: 4768
- hash: "79578a1e0e3e9cd45c210d0c5d3e75d6"
- }
- Frame {
- msec: 4784
- hash: "5dad4ff201744cda6ff41f89414c8d11"
- }
- Frame {
- msec: 4800
- hash: "df51ffd71a82742af7c06f8a786f6bf2"
- }
- Frame {
- msec: 4816
- image: "reanchor.5.png"
- }
- Frame {
- msec: 4832
- hash: "0dff03ea9154bdb2a813358b04cfbde9"
- }
- Frame {
- msec: 4848
- hash: "09bdf2869dee1c0cbe3c8c2e9254580b"
- }
- Frame {
- msec: 4864
- hash: "ba7762978bbd63d624029910fe16fb6d"
- }
- Frame {
- msec: 4880
- hash: "f00d198ab8f4f625b60e9e2071d8adfd"
- }
- Frame {
- msec: 4896
- hash: "adcec9c9a5b0d60cf45b2915365ea09c"
- }
- Frame {
- msec: 4912
- hash: "a65cd6fbb26d618692ef23148015a4f2"
- }
- Frame {
- msec: 4928
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 4944
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 4960
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 4976
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 4992
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5008
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5024
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5040
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5056
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5072
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5088
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5104
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5120
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5136
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5152
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5168
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5184
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5200
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5216
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5232
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5248
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5264
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5280
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5296
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5312
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5328
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5344
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5360
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5376
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5392
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5408
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5424
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5440
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5456
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5472
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5488
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5504
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5520
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5536
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5552
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5568
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5584
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5600
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5616
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5632
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5648
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5664
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5680
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5696
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5712
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5728
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5744
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5760
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5776
- image: "reanchor.6.png"
- }
- Frame {
- msec: 5792
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5808
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 95; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5824
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5840
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5856
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5872
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5888
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5904
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5920
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5936
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 95; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5952
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 5968
- hash: "103bbc9ce594851f5243b103f8fef1c1"
- }
- Frame {
- msec: 5984
- hash: "c381148b052be2e6244f24c2292b89cf"
- }
- Frame {
- msec: 6000
- hash: "2fda1d635fa47bff7de867df3dadfb4f"
- }
- Frame {
- msec: 6016
- hash: "4d35e00af33ad5dc84998cda2d066b4e"
- }
- Frame {
- msec: 6032
- hash: "14005d52d372acf6d3495f69bbf00b7d"
- }
- Frame {
- msec: 6048
- hash: "29728f64d12e858d960c4e197824ef43"
- }
- Frame {
- msec: 6064
- hash: "798822f0c20ef87cb01fe1dcd76c7585"
- }
- Frame {
- msec: 6080
- hash: "4cdeea0f91587ef32a2c2e282f6d00e6"
- }
- Frame {
- msec: 6096
- hash: "08ca5d16771e58da6cdd20b86dc65f03"
- }
- Frame {
- msec: 6112
- hash: "e9aeb432709d275048ad9d84fb21db1a"
- }
- Frame {
- msec: 6128
- hash: "3b642f27d356fd1815dc50f8e750623d"
- }
- Frame {
- msec: 6144
- hash: "7c1db0ec278849ec044ea0aa3383075b"
- }
- Frame {
- msec: 6160
- hash: "da902850879c95d4ddffbb1ba0060f25"
- }
- Frame {
- msec: 6176
- hash: "e4053bd0db7752e7a47e096da645b69b"
- }
- Frame {
- msec: 6192
- hash: "aabbb6d34399818347db265151a547b7"
- }
- Frame {
- msec: 6208
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6224
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6240
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6256
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6272
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6288
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6304
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6320
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6336
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6352
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6368
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6384
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6400
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6416
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6432
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6448
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6464
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6480
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6496
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6512
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6528
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6544
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6560
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6576
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6592
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6608
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6624
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6640
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6656
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6672
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6688
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6704
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6720
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6736
- image: "reanchor.7.png"
- }
- Frame {
- msec: 6752
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6768
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6784
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6800
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6816
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6832
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6848
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6864
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6880
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6896
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6912
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6928
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6944
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6960
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6976
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 6992
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7008
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7024
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7040
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7056
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7072
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7088
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7104
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7120
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7136
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7152
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7168
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7184
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7200
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7216
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7232
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7248
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7264
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7280
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7296
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7312
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7328
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7344
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7360
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7376
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7392
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7408
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7424
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7440
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7456
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7472
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7488
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7504
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7520
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7536
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7552
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7568
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7584
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7600
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 86; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7616
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7632
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7648
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7664
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 86; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7680
- hash: "213811853dbefdc418099721e3bf8651"
- }
- Frame {
- msec: 7696
- image: "reanchor.8.png"
- }
- Frame {
- msec: 7712
- hash: "e1a8cdcb1f3ec097a968b3b20964c6e8"
- }
- Frame {
- msec: 7728
- hash: "44fc52479251327d0612de17ddb056eb"
- }
- Frame {
- msec: 7744
- hash: "fa7e4a910aa60500575a34852c0c7cb8"
- }
- Frame {
- msec: 7760
- hash: "66d205a02e35221e7684ab995acc1312"
- }
- Frame {
- msec: 7776
- hash: "4ebe8dba6d9f3179b610b2298a7484a2"
- }
- Frame {
- msec: 7792
- hash: "9b2582fccffa34fe389ba427ce47619a"
- }
- Frame {
- msec: 7808
- hash: "e6f15478bda9995f82976b9e16659c8e"
- }
- Frame {
- msec: 7824
- hash: "f08df0885fff04819ada6c10b25dd489"
- }
- Frame {
- msec: 7840
- hash: "0f57c152306747cfa27171f1947ca65d"
- }
- Frame {
- msec: 7856
- hash: "89d9c988abd55063e210b81193c6a8f0"
- }
- Frame {
- msec: 7872
- hash: "91e0d0a5d57210c790c2d2399d1f7022"
- }
- Frame {
- msec: 7888
- hash: "267874fdc09459b3e854c06d9ae99a54"
- }
- Frame {
- msec: 7904
- hash: "2f58a508f439c40c6f2bd7da1f30deff"
- }
- Frame {
- msec: 7920
- hash: "1451548d9f0002a6c4765cb616ab7f59"
- }
- Frame {
- msec: 7936
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 7952
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 7968
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 7984
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8000
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8016
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8032
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8048
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8064
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8080
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8096
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8112
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8128
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8144
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8160
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8176
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8192
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8208
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8224
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8240
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8256
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8272
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8288
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8304
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8320
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8336
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8352
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8368
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8384
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8400
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 177; y: 173
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8416
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8432
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8448
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8464
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8480
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8496
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8512
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 177; y: 173
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8528
- hash: "ad3837dcf3e69274ac2918d796974f29"
- }
- Frame {
- msec: 8544
- hash: "49a6ed64f80094b41348eda19fa5a55e"
- }
- Frame {
- msec: 8560
- hash: "3ee42fb431d7824c1cd6ddf95af91d10"
- }
- Frame {
- msec: 8576
- hash: "d807890cc0670eda9fac267769366771"
- }
- Frame {
- msec: 8592
- hash: "50cb68de9ca0c3a8db1df58d7cbb0d21"
- }
- Frame {
- msec: 8608
- hash: "0af06233156b3a469ce9e7d80a5767c0"
- }
- Frame {
- msec: 8624
- hash: "9b2c77f004e480fd485e092c08feaf81"
- }
- Frame {
- msec: 8640
- hash: "b36a09269dfc9173ff8583a62ae87e8a"
- }
- Frame {
- msec: 8656
- image: "reanchor.9.png"
- }
- Frame {
- msec: 8672
- hash: "4d3aa8219edffe6fda316482821d4a64"
- }
- Frame {
- msec: 8688
- hash: "ea8a7104840254ac2706ca2635b8a95f"
- }
- Frame {
- msec: 8704
- hash: "a8569ef3287da9699809a2ad107b87b1"
- }
- Frame {
- msec: 8720
- hash: "91d09653dbced4ecb3d711737cb89ca1"
- }
- Frame {
- msec: 8736
- hash: "d5391f3b40f2dfada0336d889d438d69"
- }
- Frame {
- msec: 8752
- hash: "27cd9690607f97cc84c2a0a4455feccb"
- }
- Frame {
- msec: 8768
- hash: "f885588779a5de5d7d47f48bf9a2a6ee"
- }
- Frame {
- msec: 8784
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8800
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8816
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8832
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8848
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8864
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8880
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8896
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8912
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8928
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8944
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8960
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8976
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 8992
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9008
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9024
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9040
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9056
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9072
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9088
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9104
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9120
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9136
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 9152
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9168
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9184
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9200
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9216
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9232
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9248
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9264
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9280
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9296
- hash: "1137e22c68e043950811dee295e19b04"
- }
- Frame {
- msec: 9312
- hash: "1137e22c68e043950811dee295e19b04"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchor/reanchor.qml b/tests/auto/declarative/qmlvisual/animation/reanchor/reanchor.qml
deleted file mode 100644
index e0a5a6dafe..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchor/reanchor.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- id: container
- width: 200; height: 200
- Rectangle {
- id: myRect
- objectName: "MyRect"
- color: "green";
- anchors.left: parent.left
- anchors.right: rightGuideline.left
- anchors.top: topGuideline.top
- anchors.bottom: container.bottom
- }
- Item { id: leftGuideline; x: 10 }
- Item { id: rightGuideline; x: 150 }
- Item { id: topGuideline; y: 10 }
- Item { id: bottomGuideline; y: 150 }
- Item { id: topGuideline2; y: 50 }
- Item { id: bottomGuideline2; y: 175 }
-
- MouseArea {
- id: wholeArea
- anchors.fill: parent
- onClicked: {
- if (container.state == "") {
- container.state = "reanchored";
- } else if (container.state == "reanchored") {
- container.state = "reanchored2";
- } else if (container.state == "reanchored2")
- container.state = "reanchored";
- }
- }
-
- states: [ State {
- name: "reanchored"
- AnchorChanges {
- target: myRect;
- anchors.left: leftGuideline.left
- anchors.right: container.right
- anchors.top: container.top
- anchors.bottom: bottomGuideline.bottom
- }
- }, State {
- name: "reanchored2"
- AnchorChanges {
- target: myRect;
- anchors.left: undefined
- anchors.right: undefined
- anchors.top: topGuideline2.top
- anchors.bottom: bottomGuideline2.bottom
- }
- }]
-
- transitions: Transition {
- AnchorAnimation { }
- }
-
- MouseArea {
- width: 50; height: 50
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- onClicked: {
- container.state = "";
- }
- }
-
- state: "reanchored"
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.0.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.0.png
deleted file mode 100644
index 160155e6d9..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.1.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.1.png
deleted file mode 100644
index 160155e6d9..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.10.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.10.png
deleted file mode 100644
index 1ccab41361..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.11.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.11.png
deleted file mode 100644
index 160155e6d9..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.11.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.12.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.12.png
deleted file mode 100644
index f25bd7c8d0..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.12.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.2.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.2.png
deleted file mode 100644
index f25bd7c8d0..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.3.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.3.png
deleted file mode 100644
index dad1de4482..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.4.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.4.png
deleted file mode 100644
index cd4f23a864..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.5.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.5.png
deleted file mode 100644
index 160155e6d9..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.6.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.6.png
deleted file mode 100644
index 160155e6d9..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.7.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.7.png
deleted file mode 100644
index f25bd7c8d0..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.8.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.8.png
deleted file mode 100644
index 160155e6d9..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.9.png b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.9.png
deleted file mode 100644
index 160155e6d9..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.qml b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.qml
deleted file mode 100644
index e858c11f71..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/data/reanchor.qml
+++ /dev/null
@@ -1,1499 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "reanchor.0.png"
- }
- Frame {
- msec: 32
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 48
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 64
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 80
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 96
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 112
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 128
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 144
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 160
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 176
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 192
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 208
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 224
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 240
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 256
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 272
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 288
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 304
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 320
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 336
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 352
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 368
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 384
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 400
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 416
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 432
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 448
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 464
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 480
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 496
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 512
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 528
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 544
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 560
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 576
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 592
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 608
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 624
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 640
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 656
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 672
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 688
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 704
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 720
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 736
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 752
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 768
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 784
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 800
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 816
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 832
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 848
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 864
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 880
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 896
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 912
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 928
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 944
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 960
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 976
- image: "reanchor.1.png"
- }
- Frame {
- msec: 992
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 1008
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 1024
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 1040
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 1056
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 164; y: 196
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1072
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 1088
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 1104
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 1120
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 1136
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 164; y: 196
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1152
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 1168
- hash: "f7814217626627ce70ca0e9487354ba9"
- }
- Frame {
- msec: 1184
- hash: "7825b2b77e441ca6f46dbca80c7fe602"
- }
- Frame {
- msec: 1200
- hash: "0ac443a9946b0bcf8db768af7d16d51e"
- }
- Frame {
- msec: 1216
- hash: "c943d5d46f0d527690f38a9c8bd7be51"
- }
- Frame {
- msec: 1232
- hash: "38151db0c9964d33bcb2ff155ebd468c"
- }
- Frame {
- msec: 1248
- hash: "0fb8c53587a95a12cced6d30018edec1"
- }
- Frame {
- msec: 1264
- hash: "2c684a649652270a638aca41a80e327c"
- }
- Frame {
- msec: 1280
- hash: "60dd5c448ef8b97ec13ad3140a584229"
- }
- Frame {
- msec: 1296
- hash: "d564f28f9d528daca729db6fab163b6c"
- }
- Frame {
- msec: 1312
- hash: "4c07b33632ec4f30ee31141099c15a88"
- }
- Frame {
- msec: 1328
- hash: "9facfd27fa16ee9d493e7fb7bcfadbf8"
- }
- Frame {
- msec: 1344
- hash: "fc0fbb8aac8f389841e615be1e7b06de"
- }
- Frame {
- msec: 1360
- hash: "579c18fa201b5609276c761ffd42df33"
- }
- Frame {
- msec: 1376
- hash: "5b3630c37acfc2599a5a8b2e11aaa34c"
- }
- Frame {
- msec: 1392
- hash: "2c1ee8aca06dccf0d39287721bf76aa7"
- }
- Frame {
- msec: 1408
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1424
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1440
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1456
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1472
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1488
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1504
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1520
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1536
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1552
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1568
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1584
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1600
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1616
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1632
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1648
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1664
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1680
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1696
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1712
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1728
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1744
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1760
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1776
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1792
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1808
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1824
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1840
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1856
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1872
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1888
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1904
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1920
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1936
- image: "reanchor.2.png"
- }
- Frame {
- msec: 1952
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1968
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 1984
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 2000
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 2016
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 170; y: 120
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2032
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 2048
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 2064
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 2080
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 2096
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 170; y: 120
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2112
- hash: "c03bb338fff252a100b080366ac907b5"
- }
- Frame {
- msec: 2128
- hash: "e9d7372c17ca1510eb15faff5d0794b2"
- }
- Frame {
- msec: 2144
- hash: "60f897e2b9594c4b5c02ce2fbdf9ae3c"
- }
- Frame {
- msec: 2160
- hash: "c35ead9a8e682e8f3c0a091d232310f7"
- }
- Frame {
- msec: 2176
- hash: "272632b0568391022590edc09ea30e28"
- }
- Frame {
- msec: 2192
- hash: "9d4cdb31b01e86a31627e3ff9bb64100"
- }
- Frame {
- msec: 2208
- hash: "5ee65b0290721fe47508c6435c18554b"
- }
- Frame {
- msec: 2224
- hash: "8dd65e1a9417318d793d2027de4fe6ae"
- }
- Frame {
- msec: 2240
- hash: "bcce6d1fd7d2c1539ad9ac42c0552d5e"
- }
- Frame {
- msec: 2256
- hash: "e01f5850113c178da3383406fe73d6e0"
- }
- Frame {
- msec: 2272
- hash: "968fc6b2bf6b7d43e05254339cf6123f"
- }
- Frame {
- msec: 2288
- hash: "30f25fdde31e13934e328fa1d2655ccb"
- }
- Frame {
- msec: 2304
- hash: "f58a21e96037813c9dd7f933405c9b11"
- }
- Frame {
- msec: 2320
- hash: "1fe42c887f2eaf7696fcf0b8b884d0fd"
- }
- Frame {
- msec: 2336
- hash: "848a27b9e4f4c0bcc1a11d6dba7ce92b"
- }
- Frame {
- msec: 2352
- hash: "ca92736257db83e39f54b04325201942"
- }
- Frame {
- msec: 2368
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 2384
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 134; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2400
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 2416
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 2432
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 2448
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 2464
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 134; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2480
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 2496
- hash: "9082504eee5e0c3cbef9fd9545f09dcb"
- }
- Frame {
- msec: 2512
- hash: "dbe5169edb4400c74841a8af64e0949f"
- }
- Frame {
- msec: 2528
- hash: "d588405fc5e2423cdb954c5624172209"
- }
- Frame {
- msec: 2544
- hash: "ed2b273ea36fb7d8feaca4d5dae72f81"
- }
- Frame {
- msec: 2560
- hash: "5249e4824eb169b5ee3f7fb52fe09aa7"
- }
- Frame {
- msec: 2576
- hash: "2838eff2a1a299c9e47cf78be99172ca"
- }
- Frame {
- msec: 2592
- hash: "c47f6a937a4a6ef045159d7ba04de8af"
- }
- Frame {
- msec: 2608
- hash: "fd3bc1b9ba2629bccb0fec04deffcdad"
- }
- Frame {
- msec: 2624
- hash: "54c9b8599a32ac95aff324977b34f7e6"
- }
- Frame {
- msec: 2640
- hash: "cc5652a05828146cdc9c9b8430f5f59c"
- }
- Frame {
- msec: 2656
- hash: "ce5815fb51a4bd697a2fde46084e118b"
- }
- Frame {
- msec: 2672
- hash: "01dfd2604263f1fd24382ce876af10f9"
- }
- Frame {
- msec: 2688
- hash: "45ea282d20ee9e345eb2cac8c22c42e0"
- }
- Frame {
- msec: 2704
- hash: "afd26ac9776e57c94e4b52ebfeb7206c"
- }
- Frame {
- msec: 2720
- hash: "97aeed321d4d92cb1ec236d2a98fbe9b"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 134; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2736
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 2752
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 2768
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 2784
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 2800
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 134; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2816
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 2832
- hash: "81b8228c6aeefe8072b7704f11e6707e"
- }
- Frame {
- msec: 2848
- hash: "617e416bf117a51b756c90321ebb1449"
- }
- Frame {
- msec: 2864
- hash: "656d8d5d54c9ee137aceb519aff72cce"
- }
- Frame {
- msec: 2880
- hash: "94ba3b6f558c010cdd32f54cce436388"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 134; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2896
- image: "reanchor.3.png"
- }
- Frame {
- msec: 2912
- hash: "0bc822fdd4caac17aab80e8601d3a523"
- }
- Frame {
- msec: 2928
- hash: "886d0407ac76d7344f7a314f07b3efff"
- }
- Frame {
- msec: 2944
- hash: "eb6c46af5037f24348edbe0dda48fb62"
- }
- Frame {
- msec: 2960
- hash: "1c578a1eeb67c6833241bcb3214f06fb"
- }
- Frame {
- msec: 2976
- hash: "55f1631ef567217a5945b2a23c59b549"
- }
- Frame {
- msec: 2992
- hash: "25fdd4d54ddb035b082dc3a0d0816114"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 134; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3008
- hash: "25fdd4d54ddb035b082dc3a0d0816114"
- }
- Frame {
- msec: 3024
- hash: "efd61e7c1aaffec77bd3d2de6645b2c0"
- }
- Frame {
- msec: 3040
- hash: "02ac5ca0fa7d2ec3903fccd5dc556fa5"
- }
- Frame {
- msec: 3056
- hash: "daf52e45b8fc68f74e424554074678cc"
- }
- Frame {
- msec: 3072
- hash: "9e2def87e83b0c4b9f26684665aa1e51"
- }
- Frame {
- msec: 3088
- hash: "0e72fc762cc9a061e91692376d65d292"
- }
- Frame {
- msec: 3104
- hash: "c5ac37e4a5250b35a4976bcb31505cca"
- }
- Frame {
- msec: 3120
- hash: "eefe6bb7963c580c68198ee6098a36f4"
- }
- Frame {
- msec: 3136
- hash: "7b78d77ac11b72d1fb827ebb66a04c8e"
- }
- Frame {
- msec: 3152
- hash: "ce5815fb51a4bd697a2fde46084e118b"
- }
- Frame {
- msec: 3168
- hash: "94ba3b6f558c010cdd32f54cce436388"
- }
- Frame {
- msec: 3184
- hash: "61a56140e5a6a2bfcee5c6322b37e130"
- }
- Frame {
- msec: 3200
- hash: "a67b22c0a966fe3fbe869497dc00960f"
- }
- Frame {
- msec: 3216
- hash: "4edd212676ac93ae761039e80f989349"
- }
- Frame {
- msec: 3232
- hash: "fea5797441d65625c400238f73d94807"
- }
- Frame {
- msec: 3248
- hash: "23e9209ff0257343016cffdf7ea6571c"
- }
- Frame {
- msec: 3264
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3280
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3296
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3312
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3328
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3344
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3360
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3376
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3392
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3408
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3424
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3440
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3456
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3472
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3488
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3504
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3520
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3536
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3552
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3568
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3584
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3600
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3616
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3632
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3648
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3664
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3680
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3696
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3712
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3728
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3744
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3760
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3776
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3792
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3808
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3824
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3840
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3856
- image: "reanchor.4.png"
- }
- Frame {
- msec: 3872
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3888
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3904
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3920
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3936
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3952
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3968
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 3984
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4000
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4016
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4032
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4048
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4064
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4080
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4096
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4112
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4128
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4144
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4160
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4176
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 124; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4192
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4208
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4224
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4240
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4256
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 124; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4272
- hash: "3a1fc9be558078e35a9828e411847c19"
- }
- Frame {
- msec: 4288
- hash: "81b8228c6aeefe8072b7704f11e6707e"
- }
- Frame {
- msec: 4304
- hash: "617e416bf117a51b756c90321ebb1449"
- }
- Frame {
- msec: 4320
- hash: "656d8d5d54c9ee137aceb519aff72cce"
- }
- Frame {
- msec: 4336
- hash: "94ba3b6f558c010cdd32f54cce436388"
- }
- Frame {
- msec: 4352
- hash: "5b0679ff3730cba4ac026e89c7811fbe"
- }
- Frame {
- msec: 4368
- hash: "0bc822fdd4caac17aab80e8601d3a523"
- }
- Frame {
- msec: 4384
- hash: "886d0407ac76d7344f7a314f07b3efff"
- }
- Frame {
- msec: 4400
- hash: "eb6c46af5037f24348edbe0dda48fb62"
- }
- Frame {
- msec: 4416
- hash: "1c578a1eeb67c6833241bcb3214f06fb"
- }
- Frame {
- msec: 4432
- hash: "55f1631ef567217a5945b2a23c59b549"
- }
- Frame {
- msec: 4448
- hash: "25fdd4d54ddb035b082dc3a0d0816114"
- }
- Frame {
- msec: 4464
- hash: "295ea6ff4d3c2c7de0cfbc29b2bd2c38"
- }
- Frame {
- msec: 4480
- hash: "26b978ab645c04731703bcf15ac34a11"
- }
- Frame {
- msec: 4496
- hash: "0db4c2515b89506df51732c4b9bf75dc"
- }
- Frame {
- msec: 4512
- hash: "3cf30f3a06e325e195a4a7dec1e04c01"
- }
- Frame {
- msec: 4528
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4544
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4560
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4576
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4592
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4608
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4624
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4640
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4656
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4672
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4688
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4704
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4720
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4736
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4752
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4768
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4784
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4800
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4816
- image: "reanchor.5.png"
- }
- Frame {
- msec: 4832
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4848
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4864
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4880
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4896
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4912
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4928
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4944
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4960
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4976
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 4992
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5008
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5024
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5040
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5056
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5072
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5088
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5104
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5120
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5136
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5152
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5168
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5184
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5200
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5216
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5232
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5248
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5264
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5280
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5296
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5312
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5328
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5344
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5360
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5376
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5392
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5408
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5424
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5440
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5456
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5472
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5488
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5504
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5520
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5536
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5552
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5568
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
- Frame {
- msec: 5584
- hash: "0009d8bfdfaed2a4f05aacb7a7992234"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/reanchor.qml b/tests/auto/declarative/qmlvisual/animation/reanchorRTL/reanchor.qml
deleted file mode 100644
index ba37737038..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/reanchorRTL/reanchor.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-import QtQuick 1.1
-
-Rectangle {
- id: container
- width: 200; height: 200
- Rectangle {
- id: myRect
- anchors.layoutDirection: Qt.RightToLeft
- objectName: "MyRect"
- color: "green";
- anchors.left: parent.left
- anchors.right: rightGuideline.left
- anchors.top: topGuideline.top
- anchors.bottom: container.bottom
- }
- Item { id: leftGuideline; x: 10 }
- Item { id: rightGuideline; x: 150 }
- Item { id: topGuideline; y: 10 }
- Item { id: bottomGuideline; y: 150 }
- Item { id: topGuideline2; y: 50 }
- Item { id: bottomGuideline2; y: 175 }
- MouseArea {
- id: wholeArea
- anchors.fill: parent
- onClicked: {
- if (container.state == "") {
- container.state = "reanchored";
- } else if (container.state == "reanchored") {
- container.state = "reanchored2";
- } else if (container.state == "reanchored2")
- container.state = "reanchored";
- }
- }
-
- states: [ State {
- name: "reanchored"
- AnchorChanges {
- target: myRect;
- anchors.left: leftGuideline.left
- anchors.right: container.right
- anchors.top: container.top
- anchors.bottom: bottomGuideline.bottom
- }
- }, State {
- name: "reanchored2"
- AnchorChanges {
- target: myRect;
- anchors.left: undefined
- anchors.right: undefined
- anchors.top: topGuideline2.top
- anchors.bottom: bottomGuideline2.bottom
- }
- }]
-
- transitions: Transition {
- AnchorAnimation { }
- }
-
- MouseArea {
- width: 50; height: 50
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- onClicked: {
- container.state = "";
- }
- }
-
- state: "reanchored"
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.0.png b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.0.png
deleted file mode 100644
index 5bf32dda58..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.1.png b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.1.png
deleted file mode 100644
index e7571f24b8..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.2.png b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.2.png
deleted file mode 100644
index 60d09e9242..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.qml b/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.qml
deleted file mode 100644
index f93458dc5a..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/scriptAction/data/scriptAction-visual.qml
+++ /dev/null
@@ -1,515 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "scriptAction-visual.0.png"
- }
- Frame {
- msec: 32
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 48
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 64
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 80
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 96
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 112
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 128
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 144
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 160
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 176
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 192
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 208
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 224
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 240
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 256
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 272
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 288
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 304
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 320
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 336
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 352
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 368
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 384
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 400
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 416
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 432
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 448
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 54; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 464
- hash: "c5d2b291578c11c11452c29dc02bcad9"
- }
- Frame {
- msec: 480
- hash: "650770d62a63031754b3c68f666a5805"
- }
- Frame {
- msec: 496
- hash: "eb28945becabee0dffe618632d4db061"
- }
- Frame {
- msec: 512
- hash: "6c7b66dff531723362418dacd23ea59e"
- }
- Frame {
- msec: 528
- hash: "093bd3dd02a6d9f4dbd75a329bbf63f5"
- }
- Frame {
- msec: 544
- hash: "5328b1f3932c8bf817a5031102e21c25"
- }
- Frame {
- msec: 560
- hash: "ee2b8dc4ebdaaed41ae820385f56db83"
- }
- Frame {
- msec: 576
- hash: "adf71c703dff4514d6ae247fd6b89030"
- }
- Frame {
- msec: 592
- hash: "c93d78e604406a3c61c2b34e5e0893a4"
- }
- Frame {
- msec: 608
- hash: "c91dbb897289d2949d08c6381583ad5e"
- }
- Frame {
- msec: 624
- hash: "1e3a370e3d390e8d73731d659fae5908"
- }
- Frame {
- msec: 640
- hash: "e6d3505120260677f5f1355abf0f2b1d"
- }
- Frame {
- msec: 656
- hash: "251d68b91b37ef95ff61055f7b2ba0b5"
- }
- Frame {
- msec: 672
- hash: "333a25691bafa88fbc92a153886c3b47"
- }
- Frame {
- msec: 688
- hash: "e63367e5001732975bc4c002c079dbd8"
- }
- Frame {
- msec: 704
- hash: "04e25f2fd913c38ee24558b52fb3ed37"
- }
- Frame {
- msec: 720
- hash: "739f155ad3d703fa0255afed51baf51c"
- }
- Frame {
- msec: 736
- hash: "739f155ad3d703fa0255afed51baf51c"
- }
- Frame {
- msec: 752
- hash: "16de427e26afa1a1d91541fca1537033"
- }
- Frame {
- msec: 768
- hash: "11a874ab1c429e1bcf5498808f3c42f7"
- }
- Frame {
- msec: 784
- hash: "e97f33a71bf889815782c17067bcd736"
- }
- Frame {
- msec: 800
- hash: "9f2f0728689a5ff76f87b13c92e9fd40"
- }
- Frame {
- msec: 816
- hash: "9186cd14c3d9f2ad560be047cc483b50"
- }
- Frame {
- msec: 832
- hash: "af2eb37824ad3567ce9db0329f647d50"
- }
- Frame {
- msec: 848
- hash: "f09d264ed5f44313c19f2f985a26b9cd"
- }
- Frame {
- msec: 864
- hash: "3ed8b3051d0d603bd514783fe04124a7"
- }
- Frame {
- msec: 880
- hash: "38c7f8d39fd9a77400138da4e3ebb963"
- }
- Frame {
- msec: 896
- hash: "6682f53fdda2d8662a31b725d23b08f6"
- }
- Frame {
- msec: 912
- hash: "0f16d2640b51c9ada08c7aa0e8853d86"
- }
- Frame {
- msec: 928
- hash: "22b9025d523dd1adb87f9b4c89295b29"
- }
- Frame {
- msec: 944
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 960
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 976
- image: "scriptAction-visual.1.png"
- }
- Frame {
- msec: 992
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1008
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1024
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1040
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1056
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1072
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1088
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1104
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1120
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1136
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1152
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1168
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1184
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 54; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1200
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1216
- hash: "1761f6606bbdf5772594cf96412337ca"
- }
- Frame {
- msec: 1232
- hash: "77ab7b0bad67c80c5f685b02e264d333"
- }
- Frame {
- msec: 1248
- hash: "27c3099b0e9f0607e9ebc983b2613eb9"
- }
- Frame {
- msec: 1264
- hash: "81bd467b2314fb877825323a6120de4a"
- }
- Frame {
- msec: 1280
- hash: "5cd632ac5399826249137ff2f27ef734"
- }
- Frame {
- msec: 1296
- hash: "3b6732d7539d7b9b6ac13b6f8291b993"
- }
- Frame {
- msec: 1312
- hash: "6bde822175f1ee22a8bb0528d6170a5a"
- }
- Frame {
- msec: 1328
- hash: "a8401f0c19db5c395cf122f3fe6f3be2"
- }
- Frame {
- msec: 1344
- hash: "10e5126a9f97caf19df3d0ec4485222f"
- }
- Frame {
- msec: 1360
- hash: "f7b0bde6f4c9e9c9aecdbf11f0ec525c"
- }
- Frame {
- msec: 1376
- hash: "7501da757e6b0ba3923635765ef63f5b"
- }
- Frame {
- msec: 1392
- hash: "c66f5f30f7a545fcf0b52debd68d96c1"
- }
- Frame {
- msec: 1408
- hash: "ea679c31fd51733076716a325d2d4dc1"
- }
- Frame {
- msec: 1424
- hash: "01ffc159e0d0796e4de7cffd46685481"
- }
- Frame {
- msec: 1440
- hash: "c53b75720a772a43a6c7d046ffb4d39b"
- }
- Frame {
- msec: 1456
- hash: "1338c0458f32869e35163a2dcb950b8e"
- }
- Frame {
- msec: 1472
- hash: "1338c0458f32869e35163a2dcb950b8e"
- }
- Frame {
- msec: 1488
- hash: "d894739536bb7033d321f8862264b5e6"
- }
- Frame {
- msec: 1504
- hash: "52d5556f4b2404ae896ae36e0bc866ed"
- }
- Frame {
- msec: 1520
- hash: "5ff9d9ab8099b2b9469df9efe672f46d"
- }
- Frame {
- msec: 1536
- hash: "acadb950bd78c6fade9161f8e53628e7"
- }
- Frame {
- msec: 1552
- hash: "7583b99a5f3aede70fc10728d77f57cc"
- }
- Frame {
- msec: 1568
- hash: "f72881eb92792727985482996bf689f9"
- }
- Frame {
- msec: 1584
- hash: "26e0d64d5afeecdc4d93492f1eaaa54f"
- }
- Frame {
- msec: 1600
- hash: "93206a830cf787d00a6bb2d3c91d40bc"
- }
- Frame {
- msec: 1616
- hash: "af0a99b072a754cd0ecb75a7198849c1"
- }
- Frame {
- msec: 1632
- hash: "84adc92e299feeb494b108a009d1b662"
- }
- Frame {
- msec: 1648
- hash: "4fac6d471517625d4f5ce6ed6aaebe0b"
- }
- Frame {
- msec: 1664
- hash: "6952c27025740aca006a13da87379f9f"
- }
- Frame {
- msec: 1680
- hash: "3297ed7bffb48a4f2ca90dd81eaf7c7a"
- }
- Frame {
- msec: 1696
- hash: "3297ed7bffb48a4f2ca90dd81eaf7c7a"
- }
- Frame {
- msec: 1712
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1728
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1744
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1760
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1776
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1792
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1808
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1824
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1840
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1856
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1872
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1888
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1904
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1920
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1936
- image: "scriptAction-visual.2.png"
- }
- Frame {
- msec: 1952
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
- Frame {
- msec: 1968
- hash: "6741d853f099a5a98fcdf87053b69ec8"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/animation/scriptAction/scriptAction-visual.qml b/tests/auto/declarative/qmlvisual/animation/scriptAction/scriptAction-visual.qml
deleted file mode 100644
index 0a14542acf..0000000000
--- a/tests/auto/declarative/qmlvisual/animation/scriptAction/scriptAction-visual.qml
+++ /dev/null
@@ -1,40 +0,0 @@
-import QtQuick 1.0
-
-/*
-This test starts with a red rectangle at 0,0. It should animate moving 50 pixels right,
-then immediately change blue, and then animate moving 50 pixels down.
-*/
-
-Rectangle {
- width: 100; height: 100
- Rectangle {
- id: myRect
- width: 50; height: 50
- color: "red"
- }
- MouseArea {
- id: clickable
- anchors.fill: parent
- }
-
- states: State {
- name: "state1"
- when: clickable.pressed
- PropertyChanges {
- target: myRect
- x: 50; y: 50
- }
- StateChangeScript {
- name: "setColor"
- script: myRect.color = "blue"
- }
- }
-
- transitions: Transition {
- SequentialAnimation {
- NumberAnimation { properties: "x"; easing.type: "InOutQuad" }
- ScriptAction { scriptName: "setColor" }
- NumberAnimation { properties: "y"; easing.type: "InOutQuad" }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png b/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png
deleted file mode 100644
index 52fd55c37c..0000000000
--- a/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.qml b/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.qml
deleted file mode 100644
index b1871ce4e0..0000000000
--- a/tests/auto/declarative/qmlvisual/fillmode/data/fillmode.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "fillmode.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/fillmode/face.png b/tests/auto/declarative/qmlvisual/fillmode/face.png
deleted file mode 100644
index e087316821..0000000000
--- a/tests/auto/declarative/qmlvisual/fillmode/face.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/fillmode/fillmode.qml b/tests/auto/declarative/qmlvisual/fillmode/fillmode.qml
deleted file mode 100644
index b2ecfee4b7..0000000000
--- a/tests/auto/declarative/qmlvisual/fillmode/fillmode.qml
+++ /dev/null
@@ -1,21 +0,0 @@
-import QtQuick 1.0
-
-/*
- This is a static display test of the various Image fill modes. See the png file in the data
- subdirectory to see what the image should look like.
-*/
-
-Rectangle {
- id: screen; width: 360; height: 200; color: "gray"
- property string source: "face.png"
-
- Grid {
- columns: 3
- Image { width: 120; height: 100; source: screen.source; fillMode: Image.Stretch }
- Image { width: 120; height: 100; source: screen.source; fillMode: Image.PreserveAspectFit; smooth: true }
- Image { width: 120; height: 100; source: screen.source; fillMode: Image.PreserveAspectCrop }
- Image { width: 120; height: 100; source: screen.source; fillMode: Image.Tile; smooth: true }
- Image { width: 120; height: 100; source: screen.source; fillMode: Image.TileHorizontally }
- Image { width: 120; height: 100; source: screen.source; fillMode: Image.TileVertically }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.0.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.0.png
deleted file mode 100644
index fd28a93152..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.1.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.1.png
deleted file mode 100644
index 986a1646c1..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.2.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.2.png
deleted file mode 100644
index 986a1646c1..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.3.png b/tests/auto/declarative/qmlvisual/focusscope/data/test.3.png
deleted file mode 100644
index fd28a93152..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test.qml b/tests/auto/declarative/qmlvisual/focusscope/data/test.qml
deleted file mode 100644
index e2bf23fd60..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test.qml
+++ /dev/null
@@ -1,923 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "test.0.png"
- }
- Frame {
- msec: 32
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 48
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 64
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 80
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 96
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 112
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 128
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 144
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 160
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 176
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 192
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 208
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 224
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 240
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 256
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 272
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 288
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 304
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 320
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 336
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 352
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 368
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 384
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 400
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 416
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 432
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 448
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 464
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 480
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 496
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 512
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 528
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 544
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 560
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 576
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Frame {
- msec: 592
- hash: "7d929804a37a70ffd487e95a3be8ea5f"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 608
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 624
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 640
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 656
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 672
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 688
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 704
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 720
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 736
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 752
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 768
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 784
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 800
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 816
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 832
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 848
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 864
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 880
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 896
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 912
- hash: "f369109744055d30eadf2832a028a104"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 928
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 944
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 960
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 976
- image: "test.1.png"
- }
- Frame {
- msec: 992
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1008
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1024
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1040
- hash: "f369109744055d30eadf2832a028a104"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1056
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1072
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1088
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1104
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1120
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1136
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1152
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1168
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1184
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1200
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1216
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1232
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 1248
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1264
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1280
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1296
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1312
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1328
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1344
- hash: "f369109744055d30eadf2832a028a104"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1360
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1376
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1392
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1408
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1424
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1440
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1456
- hash: "f369109744055d30eadf2832a028a104"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1472
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1488
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1504
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1520
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1536
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1552
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1568
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1584
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1600
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1616
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1632
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1648
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1664
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1680
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1696
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1712
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Frame {
- msec: 1728
- hash: "0914d1f71cdaf1f1a37b95ea41c57d4f"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1744
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1760
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1776
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1792
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1808
- hash: "f369109744055d30eadf2832a028a104"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1824
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1840
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1856
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1872
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1888
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1904
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1920
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1936
- image: "test.2.png"
- }
- Frame {
- msec: 1952
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 1968
- hash: "f369109744055d30eadf2832a028a104"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1984
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2000
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2016
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2032
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2048
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2080
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2096
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2112
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2128
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2144
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2160
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2176
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2192
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 2208
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 2224
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 2240
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 2256
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 2272
- hash: "f369109744055d30eadf2832a028a104"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2288
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 2304
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 2320
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 2336
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 2352
- hash: "f369109744055d30eadf2832a028a104"
- }
- Frame {
- msec: 2368
- hash: "f369109744055d30eadf2832a028a104"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2384
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2400
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2416
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2432
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2448
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2464
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2480
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2496
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2512
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2528
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2544
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2560
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2576
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2592
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2608
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2624
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2640
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2656
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2672
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2688
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2704
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2720
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2736
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2752
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2768
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2784
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2800
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2816
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2832
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2848
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2864
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2880
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2896
- image: "test.3.png"
- }
- Frame {
- msec: 2912
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2928
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2944
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2960
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2976
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 2992
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 3008
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
- Frame {
- msec: 3024
- hash: "94675f9c9afb6834b91a69fd0ce35a22"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test2.0.png b/tests/auto/declarative/qmlvisual/focusscope/data/test2.0.png
deleted file mode 100644
index 396bf2d1f1..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test2.1.png b/tests/auto/declarative/qmlvisual/focusscope/data/test2.1.png
deleted file mode 100644
index 396bf2d1f1..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test2.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test2.qml b/tests/auto/declarative/qmlvisual/focusscope/data/test2.qml
deleted file mode 100644
index 8669071ca9..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test2.qml
+++ /dev/null
@@ -1,323 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "test2.0.png"
- }
- Frame {
- msec: 32
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 48
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 64
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 80
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 96
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 112
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 128
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 144
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 160
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 176
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 192
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 208
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 224
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 240
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 256
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 272
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 288
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 304
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 320
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 336
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 352
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 368
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 384
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 400
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 416
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 432
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 448
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 464
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 480
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 496
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 512
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 528
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 544
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 560
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 576
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 592
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 608
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 624
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 640
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 656
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 672
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 688
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 704
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 720
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 736
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 752
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 768
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 784
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 800
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 816
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 832
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 848
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 864
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 880
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 896
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 912
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 928
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 944
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 960
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 976
- image: "test2.1.png"
- }
- Frame {
- msec: 992
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1008
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1024
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1040
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1056
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1072
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1088
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1104
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1120
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1136
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1152
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1168
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1184
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1200
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1216
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1232
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1248
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
- Frame {
- msec: 1264
- hash: "f4041fcc91346361df95e344a0ee8e2d"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png
deleted file mode 100644
index c092535211..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test3.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png
deleted file mode 100644
index 861b4592e0..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test3.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png
deleted file mode 100644
index 2ede7c904f..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test3.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png
deleted file mode 100644
index 055f184649..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test3.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.4.png b/tests/auto/declarative/qmlvisual/focusscope/data/test3.4.png
deleted file mode 100644
index c092535211..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test3.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml b/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml
deleted file mode 100644
index 8ed9c7dd61..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/data/test3.qml
+++ /dev/null
@@ -1,1327 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "test3.0.png"
- }
- Frame {
- msec: 32
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 48
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 64
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 80
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 96
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 112
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 128
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 144
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 160
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 176
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 192
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 208
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 224
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 240
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 256
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 272
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 288
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 304
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 320
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 336
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 352
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 368
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 384
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 400
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 416
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 432
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 448
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 464
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 480
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 496
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 512
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 528
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "e24319b7e562a668e86ac17f4914bcb7"
- }
- Frame {
- msec: 560
- hash: "742f87f00d2d7e64b4a579823fa99df2"
- }
- Frame {
- msec: 576
- hash: "db6793df1b6d00f4b6286253173ee2b5"
- }
- Frame {
- msec: 592
- hash: "3da67f52ad1bc0ee55f8d6637286f420"
- }
- Frame {
- msec: 608
- hash: "89e8c8fd913cb229f5adc221090d789c"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 624
- hash: "d47cc2fe207628f4deddd58c3697171a"
- }
- Frame {
- msec: 640
- hash: "9ab1f939324602533b14b20d6160ae57"
- }
- Frame {
- msec: 656
- hash: "798b200076ec6688cda78fd273a9fde1"
- }
- Frame {
- msec: 672
- hash: "5c485ac62f637db9e3aa327dd1bee801"
- }
- Frame {
- msec: 688
- hash: "5c485ac62f637db9e3aa327dd1bee801"
- }
- Frame {
- msec: 704
- hash: "5c485ac62f637db9e3aa327dd1bee801"
- }
- Frame {
- msec: 720
- hash: "5c485ac62f637db9e3aa327dd1bee801"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 736
- hash: "75bbe5082eebec814c726adc8fc076ec"
- }
- Frame {
- msec: 752
- hash: "58d8051766872d54831bec4c8c7cbd63"
- }
- Frame {
- msec: 768
- hash: "f474b747b4b7bb2a5b2c418f35aa1b09"
- }
- Frame {
- msec: 784
- hash: "d561cf0dbded0b2bd85c7c88fb3afdd6"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 800
- hash: "49c0616c4d5cedeb9fdb12fb7d7f504d"
- }
- Frame {
- msec: 816
- hash: "9e5c66cfc3af51b7a10f6a969452dafe"
- }
- Frame {
- msec: 832
- hash: "72d765f52ce8ab3748cd43d859285ca7"
- }
- Frame {
- msec: 848
- hash: "732987bbdc421c4650d7503387acd4de"
- }
- Frame {
- msec: 864
- hash: "439456ecedad4674b6ecef415e53334b"
- }
- Frame {
- msec: 880
- hash: "439456ecedad4674b6ecef415e53334b"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 896
- hash: "5f2d5dc55b551713c4219bc55124f7db"
- }
- Frame {
- msec: 912
- hash: "54e2150829c6201b3ba8eb61f4142de7"
- }
- Frame {
- msec: 928
- hash: "f916ac803817b7cd7e29c05ac23449fc"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 944
- hash: "590b45a3fb1571428c8da48f026fab3b"
- }
- Frame {
- msec: 960
- hash: "b5a811e6d1b956af67c6df4c9eabd0a3"
- }
- Frame {
- msec: 976
- image: "test3.1.png"
- }
- Frame {
- msec: 992
- hash: "877ca6b70b6535f868d3a450045f70a0"
- }
- Frame {
- msec: 1008
- hash: "559a5c06ed2d1030d21f56aaaded8869"
- }
- Frame {
- msec: 1024
- hash: "559a5c06ed2d1030d21f56aaaded8869"
- }
- Frame {
- msec: 1040
- hash: "559a5c06ed2d1030d21f56aaaded8869"
- }
- Frame {
- msec: 1056
- hash: "559a5c06ed2d1030d21f56aaaded8869"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1072
- hash: "f6d3d4fd5d9d1be96646891cbf0740e5"
- }
- Frame {
- msec: 1088
- hash: "2ba5d4da68051a96fed2b54804854a8e"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1104
- hash: "2b1b72dfac63903377b427ef4149dfd7"
- }
- Frame {
- msec: 1120
- hash: "7ada77586dd0583a66c801b6faf78e2a"
- }
- Frame {
- msec: 1136
- hash: "a5c527fa2095e2d8949d36351994624a"
- }
- Frame {
- msec: 1152
- hash: "f89bf3f20d3f7284ba52338c1cfb91e1"
- }
- Frame {
- msec: 1168
- hash: "e7de3174a111f26f4d92a273e2c43b61"
- }
- Frame {
- msec: 1184
- hash: "d9ef1156a1f7bfe86f97717a600b31c9"
- }
- Frame {
- msec: 1200
- hash: "0b216b28513d00939531e409aac328e8"
- }
- Frame {
- msec: 1216
- hash: "0b216b28513d00939531e409aac328e8"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1232
- hash: "d92131f183e9d926a2718559f58f17cb"
- }
- Frame {
- msec: 1248
- hash: "9e5985271ddec748803ea3c72d40ad97"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1264
- hash: "2462ddfcf93f96ad6a3164c7f21e2948"
- }
- Frame {
- msec: 1280
- hash: "4ce27e3e77d9c80982c5197c2a440dc4"
- }
- Frame {
- msec: 1296
- hash: "e4afa6dc35ddd52876af514ec151900e"
- }
- Frame {
- msec: 1312
- hash: "3e542da8a83e53c66fd96d2c003a8b67"
- }
- Frame {
- msec: 1328
- hash: "6b0afb12551ada7501346125ac29071c"
- }
- Frame {
- msec: 1344
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Frame {
- msec: 1360
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Frame {
- msec: 1376
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Frame {
- msec: 1392
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Frame {
- msec: 1408
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Frame {
- msec: 1424
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Frame {
- msec: 1440
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Frame {
- msec: 1456
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Frame {
- msec: 1472
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Frame {
- msec: 1488
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1504
- hash: "ca6c00b583f88efb6efe285a0903392b"
- }
- Frame {
- msec: 1520
- hash: "2a2fcb90a6a7ae6d3d08f49c7a7177c0"
- }
- Frame {
- msec: 1536
- hash: "3a7cd960ff367793e09d73302e57b6e4"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1552
- hash: "581121ab5334a6122bf9ca4489c9b971"
- }
- Frame {
- msec: 1568
- hash: "8690456fa25a12ef28f014b86cc94c81"
- }
- Frame {
- msec: 1584
- hash: "27a395e2e25eedba8f361a20f917590b"
- }
- Frame {
- msec: 1600
- hash: "5eae6bbdd6acd7f21eccf277f21f4893"
- }
- Frame {
- msec: 1616
- hash: "f5ebab53b77dcea32e821c8e551077e4"
- }
- Frame {
- msec: 1632
- hash: "738278d39b73bfa15fc8b19b5720bbd7"
- }
- Frame {
- msec: 1648
- hash: "738278d39b73bfa15fc8b19b5720bbd7"
- }
- Frame {
- msec: 1664
- hash: "738278d39b73bfa15fc8b19b5720bbd7"
- }
- Frame {
- msec: 1680
- hash: "738278d39b73bfa15fc8b19b5720bbd7"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1696
- hash: "7c83c13e1d9e6456023ba7e2a1f3875c"
- }
- Frame {
- msec: 1712
- hash: "f12f6c5111de654e90d462a4d44f12ec"
- }
- Frame {
- msec: 1728
- hash: "dcb7712d8320bf4096a3af794facad4d"
- }
- Frame {
- msec: 1744
- hash: "84f7c046592d31f403b56ee1fd6fcbc4"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1760
- hash: "1b05381e85ec8bbf69edacbedce01fb8"
- }
- Frame {
- msec: 1776
- hash: "b2c148675ffe1ef5110602f7a4feab74"
- }
- Frame {
- msec: 1792
- hash: "d082931d05d2b2dc24ccfa5d7a703291"
- }
- Frame {
- msec: 1808
- hash: "99783e2541d03a7ce9ee4e69a2b21993"
- }
- Frame {
- msec: 1824
- hash: "503ff7e940ac59006c1486e3d2027d35"
- }
- Frame {
- msec: 1840
- hash: "503ff7e940ac59006c1486e3d2027d35"
- }
- Frame {
- msec: 1856
- hash: "503ff7e940ac59006c1486e3d2027d35"
- }
- Frame {
- msec: 1872
- hash: "503ff7e940ac59006c1486e3d2027d35"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1888
- hash: "06fbf3d840cbf170c94377d767d1d49f"
- }
- Frame {
- msec: 1904
- hash: "34f538738046a1d6932ef1a6f59eb6be"
- }
- Frame {
- msec: 1920
- hash: "2553f91e5ea5a4da70eb3825a0cdfa10"
- }
- Frame {
- msec: 1936
- image: "test3.2.png"
- }
- Frame {
- msec: 1952
- hash: "115f1c37d6492bbc4848cc4be6ddd2b0"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1968
- hash: "40d5255e7e5ca12b90f5cbede1e9b2cd"
- }
- Frame {
- msec: 1984
- hash: "3a6f6b4cee75f8b1b0b2b5674c3df0a8"
- }
- Frame {
- msec: 2000
- hash: "2c24eab593d56a7554f9ba925f858d5b"
- }
- Frame {
- msec: 2016
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2032
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2048
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2064
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2080
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2096
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2112
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2128
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2144
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2160
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2176
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2192
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2208
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2224
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2240
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2256
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2272
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2288
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2304
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2320
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2336
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2352
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2368
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2384
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2400
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2416
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2432
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2448
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Frame {
- msec: 2464
- hash: "bb10ef1703674147351968121ebe0154"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2480
- hash: "1e61fbb8c054c6b8fdb895d236514bfa"
- }
- Frame {
- msec: 2496
- hash: "3a1b093963a0cb898a68f87a3c2056a9"
- }
- Frame {
- msec: 2512
- hash: "9fe3eb5cbc621401be9ab7bc7d28bb24"
- }
- Frame {
- msec: 2528
- hash: "1bb16e3d17506913e295d68e8d4ffa88"
- }
- Frame {
- msec: 2544
- hash: "19389ae4da2ad3bc7076632366db55c7"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2560
- hash: "5f1731dd62f61ddafb7cfe66167b7408"
- }
- Frame {
- msec: 2576
- hash: "e37b8399f9ea92a91b0d98b01a4ef72b"
- }
- Frame {
- msec: 2592
- hash: "e1282e3afc46fa8828a138e4722707b5"
- }
- Frame {
- msec: 2608
- hash: "503ff7e940ac59006c1486e3d2027d35"
- }
- Frame {
- msec: 2624
- hash: "503ff7e940ac59006c1486e3d2027d35"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2640
- hash: "925852b350354bb596d749fe31828147"
- }
- Frame {
- msec: 2656
- hash: "1e302775a002185b888b590cc6533b28"
- }
- Frame {
- msec: 2672
- hash: "b147169c3688148bda5b82afa1f5d2dc"
- }
- Frame {
- msec: 2688
- hash: "34964e45ff808595845f4a868be3782e"
- }
- Frame {
- msec: 2704
- hash: "b86ef7d97f20c3894dc5a551f41ab9c4"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2720
- hash: "dc9981cb1833b34fc4fc9b833281348e"
- }
- Frame {
- msec: 2736
- hash: "b28644e06195849afd44143bd60aa27d"
- }
- Frame {
- msec: 2752
- hash: "738278d39b73bfa15fc8b19b5720bbd7"
- }
- Frame {
- msec: 2768
- hash: "738278d39b73bfa15fc8b19b5720bbd7"
- }
- Frame {
- msec: 2784
- hash: "738278d39b73bfa15fc8b19b5720bbd7"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2800
- hash: "745230d107911d033ebeb58dc8a94445"
- }
- Frame {
- msec: 2816
- hash: "81cc4ac88a51518cf50cd6b46c3e0cb7"
- }
- Frame {
- msec: 2832
- hash: "10b7cff34298222ee305c9895bcdef21"
- }
- Frame {
- msec: 2848
- hash: "622a027091c1577a646ece0331016783"
- }
- Frame {
- msec: 2864
- hash: "ab527747f9918774c7a4cfb476cc31f4"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2880
- hash: "1bf8a37b5aeb9df37f97083ce19a0c1a"
- }
- Frame {
- msec: 2896
- image: "test3.3.png"
- }
- Frame {
- msec: 2912
- hash: "19a2f59bfe96a0a33ff45ab72cc2a2fc"
- }
- Frame {
- msec: 2928
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Frame {
- msec: 2944
- hash: "202d4ca464f73e28a286ebed05e86d9d"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2960
- hash: "6b172121f35f9667f40b0006d5875685"
- }
- Frame {
- msec: 2976
- hash: "6e65dfe717a69de65d58e059904bb00a"
- }
- Frame {
- msec: 2992
- hash: "e660212f2d7d477213ef8b8262e8f2b1"
- }
- Frame {
- msec: 3008
- hash: "df1e770a7177b7871cf734c47e1227ba"
- }
- Frame {
- msec: 3024
- hash: "9d103d49ea30b04f3e97ecad3c13a816"
- }
- Frame {
- msec: 3040
- hash: "4602aaf8b65c4ff5b9c8d4ba8d5b89d5"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3056
- hash: "bf029f1cb5ddf0dc3931b47895a2141d"
- }
- Frame {
- msec: 3072
- hash: "0b216b28513d00939531e409aac328e8"
- }
- Frame {
- msec: 3088
- hash: "0b216b28513d00939531e409aac328e8"
- }
- Frame {
- msec: 3104
- hash: "0b216b28513d00939531e409aac328e8"
- }
- Frame {
- msec: 3120
- hash: "0b216b28513d00939531e409aac328e8"
- }
- Frame {
- msec: 3136
- hash: "0b216b28513d00939531e409aac328e8"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3152
- hash: "807fe46158fdc72c45cd6c8024ce705d"
- }
- Frame {
- msec: 3168
- hash: "58dc1ca8e39488479acdb79762000ad5"
- }
- Frame {
- msec: 3184
- hash: "48dd97d986ee545f6727128b7a06529f"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3200
- hash: "a7f0c00cb4bbbd65c02b3949c90564ad"
- }
- Frame {
- msec: 3216
- hash: "3f1c40e8d17b83ff3a251d9284bd4282"
- }
- Frame {
- msec: 3232
- hash: "d7527558128467c64cf0a07289158238"
- }
- Frame {
- msec: 3248
- hash: "3af9f7618d0c9ffedb942ae422d61dcb"
- }
- Frame {
- msec: 3264
- hash: "eb1703107106afc54d47d8600ea40f18"
- }
- Frame {
- msec: 3280
- hash: "559a5c06ed2d1030d21f56aaaded8869"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3296
- hash: "c9a69d9ad499e6537ef047382dc01460"
- }
- Frame {
- msec: 3312
- hash: "594911681db91c825b93633b6aa3fe1f"
- }
- Frame {
- msec: 3328
- hash: "f566d5e728e9a45c7d339282c0c6709c"
- }
- Frame {
- msec: 3344
- hash: "49f1d0164a1ae3c361421635a2038697"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3360
- hash: "a22b4ea9973c03042a3cfa5d23a79c86"
- }
- Frame {
- msec: 3376
- hash: "abab27079cd52caaaf421d1b4d8d8066"
- }
- Frame {
- msec: 3392
- hash: "e528a9ab6ae13518fa541d7f2c6e09a8"
- }
- Frame {
- msec: 3408
- hash: "439456ecedad4674b6ecef415e53334b"
- }
- Frame {
- msec: 3424
- hash: "439456ecedad4674b6ecef415e53334b"
- }
- Frame {
- msec: 3440
- hash: "439456ecedad4674b6ecef415e53334b"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3456
- hash: "57543f91e958840efcad1948a19aa8e1"
- }
- Frame {
- msec: 3472
- hash: "534fc45fdace49ebf444e393b57c1315"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3488
- hash: "0eee986f096e3ebddf61d3b0a18f2eff"
- }
- Frame {
- msec: 3504
- hash: "74f702ca61d97d31f79d8ce3be53eee7"
- }
- Frame {
- msec: 3520
- hash: "1f0b630548fe93f93550439b4945bdda"
- }
- Frame {
- msec: 3536
- hash: "1eb442ca5e7e1f476d8297c3bdb7bbd1"
- }
- Frame {
- msec: 3552
- hash: "1689cba06c74a6204d80cc651b1d2150"
- }
- Frame {
- msec: 3568
- hash: "8711b6647c4146dfa3e3c680fbd1bf08"
- }
- Frame {
- msec: 3584
- hash: "5c485ac62f637db9e3aa327dd1bee801"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3600
- hash: "0ac2726d000ba2ef1097a49f37d5c209"
- }
- Frame {
- msec: 3616
- hash: "83d00571e499039b7f577e393eed881a"
- }
- Frame {
- msec: 3632
- hash: "46724d427a8f6d7737abcacd76701259"
- }
- Frame {
- msec: 3648
- hash: "a63554a4839e8874cbebe5204d43c6d5"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3664
- hash: "5946c98c4204d454a41575242db5fd45"
- }
- Frame {
- msec: 3680
- hash: "a3d0107e71a6b454f8fdc7557eb9ce18"
- }
- Frame {
- msec: 3696
- hash: "86d9ad1831acc4a73075e6792efb7db4"
- }
- Frame {
- msec: 3712
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3728
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3744
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3760
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3776
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3792
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3808
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3824
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3840
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3856
- image: "test3.4.png"
- }
- Frame {
- msec: 3872
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3888
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3904
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3920
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3936
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3952
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3968
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 3984
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4000
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4016
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4032
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4048
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4064
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4080
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4096
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4112
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4128
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4144
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4160
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4176
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4192
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4208
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4224
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4240
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
- Frame {
- msec: 4256
- hash: "cb3a3cca07a49fadf8bb00834ea24f73"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/focusscope/test.qml b/tests/auto/declarative/qmlvisual/focusscope/test.qml
deleted file mode 100644
index 7342e353db..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/test.qml
+++ /dev/null
@@ -1,81 +0,0 @@
-import QtQuick 1.0
-
-/*
- Blue border indicates scoped focus
- Black border indicates NOT scoped focus
- Red box indicates active focus
- Use arrow keys to navigate
- Press "9" to print currently focused item
-*/
-Rectangle {
- color: "white"
- width: 480
- height: 480
-
- Keys.onDigit9Pressed: console.log("Error - Root")
-
- FocusScope {
- id: myScope
- focus: true
-
- Keys.onDigit9Pressed: console.log("Error - FocusScope")
-
- Rectangle {
- height: 120
- width: 420
-
- color: "transparent"
- border.width: 5
- border.color: myScope.activeFocus?"blue":"black"
-
- Rectangle {
- id: item1
- x: 10; y: 10
- width: 100; height: 100; color: "green"
- border.width: 5
- border.color: activeFocus?"blue":"black"
- Keys.onDigit9Pressed: console.log("Top Left");
- KeyNavigation.right: item2
- focus: true
-
- Rectangle {
- width: 50; height: 50; anchors.centerIn: parent
- color: parent.focus?"red":"transparent"
- }
- }
-
- Rectangle {
- id: item2
- x: 310; y: 10
- width: 100; height: 100; color: "green"
- border.width: 5
- border.color: activeFocus?"blue":"black"
- KeyNavigation.left: item1
- Keys.onDigit9Pressed: console.log("Top Right");
-
- Rectangle {
- width: 50; height: 50; anchors.centerIn: parent
- color: parent.focus?"red":"transparent"
- }
- }
- }
- KeyNavigation.down: item3
- }
-
- Rectangle {
- id: item3
- x: 10; y: 300
- width: 100; height: 100; color: "green"
- border.width: 5
- border.color: activeFocus?"blue":"black"
-
- Keys.onDigit9Pressed: console.log("Bottom Left");
- KeyNavigation.up: myScope
-
- Rectangle {
- width: 50; height: 50; anchors.centerIn: parent
- color: parent.focus?"red":"transparent"
- }
- }
-
-}
diff --git a/tests/auto/declarative/qmlvisual/focusscope/test2.qml b/tests/auto/declarative/qmlvisual/focusscope/test2.qml
deleted file mode 100644
index 072eddbf2d..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/test2.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "white"
- width: 400
- height: 50
-
- //All five rectangles should be red
- FocusScope {
- focus: true
- Rectangle { width: 40; height: 40; color: parent.activeFocus?"red":"blue" }
-
- FocusScope {
- x: 80
- focus: true
- Rectangle { width: 40; height: 40; color: parent.activeFocus?"red":"blue" }
-
- FocusScope {
- x: 80
- focus: true
- Rectangle { width: 40; height: 40; color: parent.activeFocus?"red":"blue" }
-
- FocusScope {
- x: 80
- focus: true
- Rectangle { width: 40; height: 40; color: parent.activeFocus?"red":"blue" }
-
- FocusScope {
- x: 80
- focus: true
- Rectangle { width: 40; height: 40; color: parent.activeFocus?"red":"blue" }
- }
- }
- }
- }
- }
-
-}
diff --git a/tests/auto/declarative/qmlvisual/focusscope/test3.qml b/tests/auto/declarative/qmlvisual/focusscope/test3.qml
deleted file mode 100644
index 90c23573df..0000000000
--- a/tests/auto/declarative/qmlvisual/focusscope/test3.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-import QtQuick 1.0
-
-/*
- Currently selected element should be red
- Pressing "9" should print the number of the currently selected item
- Be sure to scroll all the way to the right, pause, and then all the way to the left
-*/
-Rectangle {
- color: "white"
- width: 400
- height: 100
-
- ListModel {
- id: model
- ListElement { name: "red" }
- ListElement { name: "orange" }
- ListElement { name: "yellow" }
- ListElement { name: "green" }
- ListElement { name: "cyan" }
- ListElement { name: "blue" }
- ListElement { name: "indigo" }
- ListElement { name: "violet" }
- ListElement { name: "pink" }
- }
-
- Component {
- id: verticalDelegate
- FocusScope {
- id: root
- width: 50; height: 50;
- Keys.onDigit9Pressed: console.log("Error - " + name)
- Rectangle {
- focus: true
- Keys.onDigit9Pressed: console.log(name)
- width: 50; height: 50;
- color: root.ListView.isCurrentItem?"black":name
- }
- }
- }
-
- ListView {
- width: 800; height: 50; orientation: "Horizontal"
- focus: true
- model: model
- delegate: verticalDelegate
- preferredHighlightBegin: 100
- preferredHighlightEnd: 101
- highlightRangeMode: ListView.StrictlyEnforceRange
- }
-
-
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated-smooth.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated-smooth.qml
deleted file mode 100644
index 33d8cb8566..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated-smooth.qml
+++ /dev/null
@@ -1,66 +0,0 @@
-import QtQuick 1.0
-import "content"
-
-Rectangle {
- id: page
- color: "white"
- width: 520; height: 260
- Grid{
- columns: 4
- spacing: 4
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 60; maxHeight: 120
- source: "content/colors.png"; margin: 15
- antialiased: true
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 60; maxHeight: 120
- source: "content/colors.png"; margin: 15
- horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
- antialiased: true
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 60; maxHeight: 120
- source: "content/colors.png"; margin: 15
- horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
- antialiased: true
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 60; maxHeight: 120
- source: "content/colors.png"; margin: 15
- horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
- antialiased: true
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 40; maxHeight: 120
- source: "content/bw.png"; margin: 10
- antialiased: true
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 40; maxHeight: 120
- source: "content/bw.png"; margin: 10
- horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
- antialiased: true
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 40; maxHeight: 120
- source: "content/bw.png"; margin: 10
- horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
- antialiased: true
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 40; maxHeight: 120
- source: "content/bw.png"; margin: 10
- horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
- antialiased: true
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated.qml
deleted file mode 100644
index 21f6b5f90b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/animated.qml
+++ /dev/null
@@ -1,58 +0,0 @@
-import QtQuick 1.0
-import "content"
-
-Rectangle {
- id: page
- color: "white"
- width: 520; height: 260
- Grid{
- columns: 4
- spacing: 4
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 60; maxHeight: 120
- source: "content/colors.png"; margin: 15
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 60; maxHeight: 120
- source: "content/colors.png"; margin: 15
- horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 60; maxHeight: 120
- source: "content/colors.png"; margin: 15
- horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 60; maxHeight: 120
- source: "content/colors.png"; margin: 15
- horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 40; maxHeight: 120
- source: "content/bw.png"; margin: 10
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 40; maxHeight: 120
- source: "content/bw.png"; margin: 10
- horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 40; maxHeight: 120
- source: "content/bw.png"; margin: 10
- horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat
- }
- MyBorderImage {
- minWidth: 60; maxWidth: 120
- minHeight: 40; maxHeight: 120
- source: "content/bw.png"; margin: 10
- horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/borders.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/borders.qml
deleted file mode 100644
index 1a8b7a59f0..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/borders.qml
+++ /dev/null
@@ -1,18 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- id: page
- color: "white"
- width: 520; height: 280
-
- BorderImage {
- x: 20; y: 20; width: 230; height: 240
- smooth: true
- source: "content/colors-stretch.sci"
- }
- BorderImage {
- x: 270; y: 20; width: 230; height: 240
- smooth: true
- source: "content/colors-round.sci"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/MyBorderImage.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/MyBorderImage.qml
deleted file mode 100644
index 923db47b4a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/MyBorderImage.qml
+++ /dev/null
@@ -1,38 +0,0 @@
-import QtQuick 1.0
-
-Item {
- property alias horizontalMode: image.horizontalTileMode
- property alias verticalMode: image.verticalTileMode
- property alias source: image.source
- property alias antialiased: image.smooth
-
- property int minWidth
- property int minHeight
- property int maxWidth
- property int maxHeight
- property int margin
-
- id: container
- width: maxWidth; height: maxHeight
-
- BorderImage {
- id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2
-
- SequentialAnimation on width {
- loops: Animation.Infinite
- NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 600; easing.type: "InOutQuad"}
- NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 600; easing.type: "InOutQuad" }
- }
-
- SequentialAnimation on height {
- loops: Animation.Infinite
- NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 600; easing.type: "InOutQuad"}
- NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 600; easing.type: "InOutQuad" }
- }
-
- border.top: container.margin
- border.left: container.margin
- border.bottom: container.margin
- border.right: container.margin
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/bw.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/bw.png
deleted file mode 100644
index 486eaae96e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/bw.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-round.sci b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-round.sci
deleted file mode 100644
index 0d91764551..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-round.sci
+++ /dev/null
@@ -1,7 +0,0 @@
-border.left:15
-border.top:15
-border.right:15
-border.bottom:15
-horizontalTileRule:Round
-verticalTileRule:Round
-source:colors.png
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-stretch.sci b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-stretch.sci
deleted file mode 100644
index 16ac8ccd21..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors-stretch.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left:15
-border.top:15
-border.right:15
-border.bottom:15
-source:colors.png
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors.png
deleted file mode 100644
index 116907d2c5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/colors.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/qmldir b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/qmldir
deleted file mode 100644
index 0c732d2dcb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/content/qmldir
+++ /dev/null
@@ -1 +0,0 @@
-MyBorderImage 1.0 MyBorderImage.qml
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png
deleted file mode 100644
index b7d06e48d7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.1.png
deleted file mode 100644
index d904aa0d13..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml
deleted file mode 100644
index 6c7a940828..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated-smooth.qml
+++ /dev/null
@@ -1,319 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "animated-smooth.0.png"
- }
- Frame {
- msec: 32
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 48
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 64
- hash: "8ba2cebd7b80bd58612ce46470e7763b"
- }
- Frame {
- msec: 80
- hash: "9ab9c8f788bbca58552bbb6009386d69"
- }
- Frame {
- msec: 96
- hash: "7f4b50df7848ad07fb75cb19f2c4b04a"
- }
- Frame {
- msec: 112
- hash: "425e48ae492190eb6b8028be11352d7e"
- }
- Frame {
- msec: 128
- hash: "183e1f8321edb7b8d1cc2cc858039360"
- }
- Frame {
- msec: 144
- hash: "83d82bc27b0e3387dddb8e7e09380e02"
- }
- Frame {
- msec: 160
- hash: "bca94a64a283e7e30ec8c1fe3249f981"
- }
- Frame {
- msec: 176
- hash: "26cbcf6233c8fd222a857a8ae801749a"
- }
- Frame {
- msec: 192
- hash: "ac1d21dba648ab729e1670ead441b173"
- }
- Frame {
- msec: 208
- hash: "e42811f8029c6cd70041f8492a31ff27"
- }
- Frame {
- msec: 224
- hash: "f0b06b2ccf1be47ab7c5f6863ccdc495"
- }
- Frame {
- msec: 240
- hash: "9b398166d385facb2d02c86cd92ab85f"
- }
- Frame {
- msec: 256
- hash: "a4414a5ae4e44320383d49441d7acb51"
- }
- Frame {
- msec: 272
- hash: "f09208fa210f3b0b271af9ef6f3741e8"
- }
- Frame {
- msec: 288
- hash: "054f7aebcef583f9c8469aaa2e62f9ea"
- }
- Frame {
- msec: 304
- hash: "1331b1218fa6134922ab248bfde5d3f6"
- }
- Frame {
- msec: 320
- hash: "601b97220c77c185d9ed3ae3726815a5"
- }
- Frame {
- msec: 336
- hash: "487c739f3849834e3d7fa2885bb28375"
- }
- Frame {
- msec: 352
- hash: "c41dc19ab7f3c80349ac52ab2c3b410d"
- }
- Frame {
- msec: 368
- hash: "c6e8b055e5919aecbf2ef4d88de6cabd"
- }
- Frame {
- msec: 384
- hash: "f9d99999cccd8a3a9d7cb74cadb08059"
- }
- Frame {
- msec: 400
- hash: "c466c57cda1c7666a46bab9478031c86"
- }
- Frame {
- msec: 416
- hash: "02f9c85d8cbd9041ed18d2fe0071c526"
- }
- Frame {
- msec: 432
- hash: "355d2b1b30a721a26f80c414bd9164f6"
- }
- Frame {
- msec: 448
- hash: "bfc8b1bdb53f4a4c44285a5c10819ae7"
- }
- Frame {
- msec: 464
- hash: "c272ac121fe5392f12ef3180d4c694c8"
- }
- Frame {
- msec: 480
- hash: "83324ab9209ac5246c39274ecec2dbcf"
- }
- Frame {
- msec: 496
- hash: "b128fd583f5fa460bcd1c062226274fb"
- }
- Frame {
- msec: 512
- hash: "f46f1f1069806b1e17f340140e82bfd3"
- }
- Frame {
- msec: 528
- hash: "dff621d5da5f4d008a8f874914f90637"
- }
- Frame {
- msec: 544
- hash: "c5920a84e215f4bbda3032bbfbca4070"
- }
- Frame {
- msec: 560
- hash: "ecc23f198a4bf346bf6eee51f7adea69"
- }
- Frame {
- msec: 576
- hash: "dcc8f5b1b6aac31c3c5856560b37c501"
- }
- Frame {
- msec: 592
- hash: "203fa4bd23440aa88fc2a27b66ee091d"
- }
- Frame {
- msec: 608
- hash: "a2662209c8f9aa7bd9c5b4066b289cde"
- }
- Frame {
- msec: 624
- hash: "a2662209c8f9aa7bd9c5b4066b289cde"
- }
- Frame {
- msec: 640
- hash: "203fa4bd23440aa88fc2a27b66ee091d"
- }
- Frame {
- msec: 656
- hash: "dcc8f5b1b6aac31c3c5856560b37c501"
- }
- Frame {
- msec: 672
- hash: "ecc23f198a4bf346bf6eee51f7adea69"
- }
- Frame {
- msec: 688
- hash: "c5920a84e215f4bbda3032bbfbca4070"
- }
- Frame {
- msec: 704
- hash: "dff621d5da5f4d008a8f874914f90637"
- }
- Frame {
- msec: 720
- hash: "f46f1f1069806b1e17f340140e82bfd3"
- }
- Frame {
- msec: 736
- hash: "b128fd583f5fa460bcd1c062226274fb"
- }
- Frame {
- msec: 752
- hash: "83324ab9209ac5246c39274ecec2dbcf"
- }
- Frame {
- msec: 768
- hash: "c272ac121fe5392f12ef3180d4c694c8"
- }
- Frame {
- msec: 784
- hash: "bfc8b1bdb53f4a4c44285a5c10819ae7"
- }
- Frame {
- msec: 800
- hash: "355d2b1b30a721a26f80c414bd9164f6"
- }
- Frame {
- msec: 816
- hash: "02f9c85d8cbd9041ed18d2fe0071c526"
- }
- Frame {
- msec: 832
- hash: "c466c57cda1c7666a46bab9478031c86"
- }
- Frame {
- msec: 848
- hash: "f9d99999cccd8a3a9d7cb74cadb08059"
- }
- Frame {
- msec: 864
- hash: "c6e8b055e5919aecbf2ef4d88de6cabd"
- }
- Frame {
- msec: 880
- hash: "c41dc19ab7f3c80349ac52ab2c3b410d"
- }
- Frame {
- msec: 896
- hash: "487c739f3849834e3d7fa2885bb28375"
- }
- Frame {
- msec: 912
- hash: "601b97220c77c185d9ed3ae3726815a5"
- }
- Frame {
- msec: 928
- hash: "1331b1218fa6134922ab248bfde5d3f6"
- }
- Frame {
- msec: 944
- hash: "054f7aebcef583f9c8469aaa2e62f9ea"
- }
- Frame {
- msec: 960
- hash: "f09208fa210f3b0b271af9ef6f3741e8"
- }
- Frame {
- msec: 976
- image: "animated-smooth.1.png"
- }
- Frame {
- msec: 992
- hash: "9b398166d385facb2d02c86cd92ab85f"
- }
- Frame {
- msec: 1008
- hash: "f0b06b2ccf1be47ab7c5f6863ccdc495"
- }
- Frame {
- msec: 1024
- hash: "e42811f8029c6cd70041f8492a31ff27"
- }
- Frame {
- msec: 1040
- hash: "ac1d21dba648ab729e1670ead441b173"
- }
- Frame {
- msec: 1056
- hash: "26cbcf6233c8fd222a857a8ae801749a"
- }
- Frame {
- msec: 1072
- hash: "bca94a64a283e7e30ec8c1fe3249f981"
- }
- Frame {
- msec: 1088
- hash: "83d82bc27b0e3387dddb8e7e09380e02"
- }
- Frame {
- msec: 1104
- hash: "183e1f8321edb7b8d1cc2cc858039360"
- }
- Frame {
- msec: 1120
- hash: "425e48ae492190eb6b8028be11352d7e"
- }
- Frame {
- msec: 1136
- hash: "7f4b50df7848ad07fb75cb19f2c4b04a"
- }
- Frame {
- msec: 1152
- hash: "9ab9c8f788bbca58552bbb6009386d69"
- }
- Frame {
- msec: 1168
- hash: "8ba2cebd7b80bd58612ce46470e7763b"
- }
- Frame {
- msec: 1184
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 1200
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 1216
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 1232
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 1248
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png
deleted file mode 100644
index b7d06e48d7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.1.png
deleted file mode 100644
index a0081a95d7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml
deleted file mode 100644
index 87be9f069e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/animated.qml
+++ /dev/null
@@ -1,343 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "animated.0.png"
- }
- Frame {
- msec: 32
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 48
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 64
- hash: "ed19378ea8f51f5ecbd4c89ee5c905c2"
- }
- Frame {
- msec: 80
- hash: "3dc69d5d1b6c524a74e7cec619df5ee3"
- }
- Frame {
- msec: 96
- hash: "ab8d9aa7290be2134a6ef10ca1e1bfe7"
- }
- Frame {
- msec: 112
- hash: "8091f4ff6f68e178b7a2a76ba2b38df3"
- }
- Frame {
- msec: 128
- hash: "a94ad01eb63609b5e4a9e6570e1dc25c"
- }
- Frame {
- msec: 144
- hash: "21692407cdfeeb20ff81d5d8a8ba3b7e"
- }
- Frame {
- msec: 160
- hash: "b1d5e860ea311dce4a46fd6d46f9ed58"
- }
- Frame {
- msec: 176
- hash: "a2ef453b88ee01c70a4312ab6dd26685"
- }
- Frame {
- msec: 192
- hash: "6ce1f7da3994a51ad06afa0afb789752"
- }
- Frame {
- msec: 208
- hash: "dccf9c55dfe7ae652b0e659893465158"
- }
- Frame {
- msec: 224
- hash: "18b00b462711676fdf61ef1819f9f73a"
- }
- Frame {
- msec: 240
- hash: "981011b01c3dbde098b1a3d0de4026cd"
- }
- Frame {
- msec: 256
- hash: "86389b057e84c4dd4cf75d4e33d5e282"
- }
- Frame {
- msec: 272
- hash: "6802146ad90b2921856c103246f4bca9"
- }
- Frame {
- msec: 288
- hash: "7ab7d71199e883192e28fc150646128c"
- }
- Frame {
- msec: 304
- hash: "3d2298cc655318029a2467813f8d75f4"
- }
- Frame {
- msec: 320
- hash: "74a1ed7250f85e7ed4d811b5b697ecb3"
- }
- Frame {
- msec: 336
- hash: "2cc6d5e8f4ebde059ffe31fffb2b359d"
- }
- Frame {
- msec: 352
- hash: "b08aec6d9f82e0d530d57f592c25e91a"
- }
- Frame {
- msec: 368
- hash: "9f4272d24685a9fbe5c48186932cac07"
- }
- Frame {
- msec: 384
- hash: "4cde877841640aa89949c1369c3b6fd0"
- }
- Frame {
- msec: 400
- hash: "bdbbd0b6a309b63d152b7f9b34b51d80"
- }
- Frame {
- msec: 416
- hash: "531708677915c1e094ece6f1acac6d1f"
- }
- Frame {
- msec: 432
- hash: "7213628b1f66f1dc47fa63eb2aad2d81"
- }
- Frame {
- msec: 448
- hash: "0ff58a47d524fae956431efc21364ed2"
- }
- Frame {
- msec: 464
- hash: "1e940cc44e00f05bad28bcf934b40b1c"
- }
- Frame {
- msec: 480
- hash: "0f76be39637e8b6ac15c40ea95890189"
- }
- Frame {
- msec: 496
- hash: "e23cf00dbd05677815e7e38f6f8e3a4a"
- }
- Frame {
- msec: 512
- hash: "3d7e81620d169800f6a251fa3875f23d"
- }
- Frame {
- msec: 528
- hash: "9e04076e283a3a71407488e94d84861f"
- }
- Frame {
- msec: 544
- hash: "f4fc58740d6b5cf392e117164d859c0b"
- }
- Frame {
- msec: 560
- hash: "8f041ba2a82618c1545aac6f50c95384"
- }
- Frame {
- msec: 576
- hash: "759368622bc25c7ae1cb8d2c44affe6a"
- }
- Frame {
- msec: 592
- hash: "90314671aab8165c7c1b35dcf5aaa6b9"
- }
- Frame {
- msec: 608
- hash: "ecd1d2fe087a36fc58290c0c249a7ea0"
- }
- Frame {
- msec: 624
- hash: "ecd1d2fe087a36fc58290c0c249a7ea0"
- }
- Frame {
- msec: 640
- hash: "90314671aab8165c7c1b35dcf5aaa6b9"
- }
- Frame {
- msec: 656
- hash: "759368622bc25c7ae1cb8d2c44affe6a"
- }
- Frame {
- msec: 672
- hash: "8f041ba2a82618c1545aac6f50c95384"
- }
- Frame {
- msec: 688
- hash: "f4fc58740d6b5cf392e117164d859c0b"
- }
- Frame {
- msec: 704
- hash: "9e04076e283a3a71407488e94d84861f"
- }
- Frame {
- msec: 720
- hash: "3d7e81620d169800f6a251fa3875f23d"
- }
- Frame {
- msec: 736
- hash: "e23cf00dbd05677815e7e38f6f8e3a4a"
- }
- Frame {
- msec: 752
- hash: "0f76be39637e8b6ac15c40ea95890189"
- }
- Frame {
- msec: 768
- hash: "1e940cc44e00f05bad28bcf934b40b1c"
- }
- Frame {
- msec: 784
- hash: "0ff58a47d524fae956431efc21364ed2"
- }
- Frame {
- msec: 800
- hash: "7213628b1f66f1dc47fa63eb2aad2d81"
- }
- Frame {
- msec: 816
- hash: "531708677915c1e094ece6f1acac6d1f"
- }
- Frame {
- msec: 832
- hash: "bdbbd0b6a309b63d152b7f9b34b51d80"
- }
- Frame {
- msec: 848
- hash: "4cde877841640aa89949c1369c3b6fd0"
- }
- Frame {
- msec: 864
- hash: "9f4272d24685a9fbe5c48186932cac07"
- }
- Frame {
- msec: 880
- hash: "b08aec6d9f82e0d530d57f592c25e91a"
- }
- Frame {
- msec: 896
- hash: "2cc6d5e8f4ebde059ffe31fffb2b359d"
- }
- Frame {
- msec: 912
- hash: "74a1ed7250f85e7ed4d811b5b697ecb3"
- }
- Frame {
- msec: 928
- hash: "3d2298cc655318029a2467813f8d75f4"
- }
- Frame {
- msec: 944
- hash: "7ab7d71199e883192e28fc150646128c"
- }
- Frame {
- msec: 960
- hash: "6802146ad90b2921856c103246f4bca9"
- }
- Frame {
- msec: 976
- image: "animated.1.png"
- }
- Frame {
- msec: 992
- hash: "981011b01c3dbde098b1a3d0de4026cd"
- }
- Frame {
- msec: 1008
- hash: "18b00b462711676fdf61ef1819f9f73a"
- }
- Frame {
- msec: 1024
- hash: "dccf9c55dfe7ae652b0e659893465158"
- }
- Frame {
- msec: 1040
- hash: "6ce1f7da3994a51ad06afa0afb789752"
- }
- Frame {
- msec: 1056
- hash: "a2ef453b88ee01c70a4312ab6dd26685"
- }
- Frame {
- msec: 1072
- hash: "b1d5e860ea311dce4a46fd6d46f9ed58"
- }
- Frame {
- msec: 1088
- hash: "21692407cdfeeb20ff81d5d8a8ba3b7e"
- }
- Frame {
- msec: 1104
- hash: "a94ad01eb63609b5e4a9e6570e1dc25c"
- }
- Frame {
- msec: 1120
- hash: "8091f4ff6f68e178b7a2a76ba2b38df3"
- }
- Frame {
- msec: 1136
- hash: "ab8d9aa7290be2134a6ef10ca1e1bfe7"
- }
- Frame {
- msec: 1152
- hash: "3dc69d5d1b6c524a74e7cec619df5ee3"
- }
- Frame {
- msec: 1168
- hash: "ed19378ea8f51f5ecbd4c89ee5c905c2"
- }
- Frame {
- msec: 1184
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 1200
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 1216
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 1232
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 1248
- hash: "a2467396d7318a93d35aa314896d3d05"
- }
- Frame {
- msec: 1264
- hash: "ed19378ea8f51f5ecbd4c89ee5c905c2"
- }
- Frame {
- msec: 1280
- hash: "3dc69d5d1b6c524a74e7cec619df5ee3"
- }
- Frame {
- msec: 1296
- hash: "ab8d9aa7290be2134a6ef10ca1e1bfe7"
- }
- Frame {
- msec: 1312
- hash: "8091f4ff6f68e178b7a2a76ba2b38df3"
- }
- Frame {
- msec: 1328
- hash: "a94ad01eb63609b5e4a9e6570e1dc25c"
- }
- Frame {
- msec: 1344
- hash: "21692407cdfeeb20ff81d5d8a8ba3b7e"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.0.png
deleted file mode 100644
index 8d4355410d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.qml b/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.qml
deleted file mode 100644
index eb40fcb5ee..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeborderimage/data/borders.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "borders.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.0.png
deleted file mode 100644
index 9a81b29aa4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.1.png
deleted file mode 100644
index 2d9c4fdfb4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.2.png
deleted file mode 100644
index 2bb0cb0fe5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.3.png
deleted file mode 100644
index 8260a65df3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.4.png
deleted file mode 100644
index 0abcbc2f4d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.qml
deleted file mode 100644
index f1bb428295..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data-MAC/flickable-horizontal.qml
+++ /dev/null
@@ -1,1575 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "flickable-horizontal.0.png"
- }
- Frame {
- msec: 32
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 48
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 64
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 80
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 96
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 112
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 128
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 144
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 160
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 176
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 192
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 208
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 224
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 240
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 256
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 272
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 288
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 304
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 320
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 336
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 352
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 368
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 384
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 400
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 416
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 432
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 448
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 464
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 480
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 496
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 512
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 528
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 544
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 560
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 576
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 592
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 608
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 624
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 640
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 656
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 672
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 688
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 704
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 720
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 447; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 736
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 752
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 768
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 446; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 784
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 440; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 800
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 425; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 407; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 816
- hash: "c92e345e4ffdb30c28d9d5aa5400bd30"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 359; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 832
- hash: "90f94986ab44ab59618e9a5da17b8cc9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 309; y: 181
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 848
- hash: "0154a65f8693b98576101ac1c2fc8761"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 282; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 282; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 864
- hash: "792c1b5267f14c891dae2348a8188a92"
- }
- Frame {
- msec: 880
- hash: "15ce9e88d4ad2e698bf167d1432c0b8a"
- }
- Frame {
- msec: 896
- hash: "8f4109ef4c24d286d73f689565a0d056"
- }
- Frame {
- msec: 912
- hash: "f5728190bf5c94742686f063b4a4b09b"
- }
- Frame {
- msec: 928
- hash: "a38c7527a9a818b7bc25466b0e4939f9"
- }
- Frame {
- msec: 944
- hash: "ed3902455fc31a4e3232308b815a4daa"
- }
- Frame {
- msec: 960
- hash: "a2093589363ac2d50491412e99e0193a"
- }
- Frame {
- msec: 976
- image: "flickable-horizontal.1.png"
- }
- Frame {
- msec: 992
- hash: "c32349580e3a9586cc1133c935607cf0"
- }
- Frame {
- msec: 1008
- hash: "cd2068492e346eb20d50aee69e3a3559"
- }
- Frame {
- msec: 1024
- hash: "f43a1a38894b8ffad009ba995d84b0ee"
- }
- Frame {
- msec: 1040
- hash: "2d5c4a73df2a054801571f1ce119e31f"
- }
- Frame {
- msec: 1056
- hash: "b8825cc6bdca8102a655d797ea41b5b1"
- }
- Frame {
- msec: 1072
- hash: "3f0be15b85220743d004f2d54b6e137c"
- }
- Frame {
- msec: 1088
- hash: "4b0952d33149b44ffa0a06723a4116c7"
- }
- Frame {
- msec: 1104
- hash: "9056bda43259e92cfe56fdf394e2ca54"
- }
- Frame {
- msec: 1120
- hash: "82ec9f09d2303e5b0b9c05b9a10a84db"
- }
- Frame {
- msec: 1136
- hash: "751a9b3054c09d900364d7c9cac8bc2b"
- }
- Frame {
- msec: 1152
- hash: "17dfdfef20f9da7e8b6f16df974baea9"
- }
- Frame {
- msec: 1168
- hash: "108e6d9a5a81df32823bfd7a90a000a7"
- }
- Frame {
- msec: 1184
- hash: "71dd0d55a3e837d3a8e4b4e318579ade"
- }
- Frame {
- msec: 1200
- hash: "8013cdb2615bca89134ea040409af509"
- }
- Frame {
- msec: 1216
- hash: "4b2826ad4c755690bd837994133f5fac"
- }
- Frame {
- msec: 1232
- hash: "52d0da7f138bd37ac587a448d6402aca"
- }
- Frame {
- msec: 1248
- hash: "e634724c5bb294d338210845bf64d2cf"
- }
- Frame {
- msec: 1264
- hash: "59bc5f0d057ee431f289806377f19213"
- }
- Frame {
- msec: 1280
- hash: "6ef2c5f7766c2cc77b30d636bfaa4422"
- }
- Frame {
- msec: 1296
- hash: "578d056c3db094420dbaa51bd08ced20"
- }
- Frame {
- msec: 1312
- hash: "14c6f7a04a52caffefa07af556ccb262"
- }
- Frame {
- msec: 1328
- hash: "7cb63d56fec144d0509ce219fc6fe459"
- }
- Frame {
- msec: 1344
- hash: "462dafa7f6427aecf6c28a5dcf5a10cc"
- }
- Frame {
- msec: 1360
- hash: "45360814f985ed780a443568a91fc170"
- }
- Frame {
- msec: 1376
- hash: "0d18ceb2436e4f7eb56a3443fab706e6"
- }
- Frame {
- msec: 1392
- hash: "1d83f367ba9f7f1d4496208271e925ed"
- }
- Frame {
- msec: 1408
- hash: "fdbd00ee4c122aef779df42ea53f403a"
- }
- Frame {
- msec: 1424
- hash: "bedd1cb304efd4851813b39a746198a4"
- }
- Frame {
- msec: 1440
- hash: "9aa7bed86efa9634466736f20ee0ab5b"
- }
- Frame {
- msec: 1456
- hash: "00fc8186a7ae44e10195a7b13defa0d2"
- }
- Frame {
- msec: 1472
- hash: "42d6e8e0bbed879ed63644c83e61e7bd"
- }
- Frame {
- msec: 1488
- hash: "df074f8c210249e5ef652349479b6325"
- }
- Frame {
- msec: 1504
- hash: "4f94020437e35cf44dd3576997990ab7"
- }
- Frame {
- msec: 1520
- hash: "8ca6c3b4fa3be73ac35073356b680a35"
- }
- Frame {
- msec: 1536
- hash: "c25eee1c5791383ebc59974e7754eacb"
- }
- Frame {
- msec: 1552
- hash: "f4917ada78942428cc6b9aa5e56c013d"
- }
- Frame {
- msec: 1568
- hash: "23e1e607101fc7260a4ac841344f5fe0"
- }
- Frame {
- msec: 1584
- hash: "2dcc7d187d8e0493e5766efbf09ef37c"
- }
- Frame {
- msec: 1600
- hash: "c1e5602753e80cf44d7b330140c6912e"
- }
- Frame {
- msec: 1616
- hash: "febaf72d01a3763461b4b7d2ddd7a23e"
- }
- Frame {
- msec: 1632
- hash: "071262b911b61576f451be25691a57cf"
- }
- Frame {
- msec: 1648
- hash: "44705db9289fd8753b9d63e8bc963b38"
- }
- Frame {
- msec: 1664
- hash: "0c41d7b7d36bd083abfc0b83b862cad9"
- }
- Frame {
- msec: 1680
- hash: "0c41d7b7d36bd083abfc0b83b862cad9"
- }
- Frame {
- msec: 1696
- hash: "071262b911b61576f451be25691a57cf"
- }
- Frame {
- msec: 1712
- hash: "a00aa90e894b48203b0446ca287ee712"
- }
- Frame {
- msec: 1728
- hash: "26c9ca53ee4b084c6595ad65bf4880df"
- }
- Frame {
- msec: 1744
- hash: "f4917ada78942428cc6b9aa5e56c013d"
- }
- Frame {
- msec: 1760
- hash: "ffedee7bf2d8099e361b8b1706b03f88"
- }
- Frame {
- msec: 1776
- hash: "1778ef1629ce977015b641448b46634f"
- }
- Frame {
- msec: 1792
- hash: "42d6e8e0bbed879ed63644c83e61e7bd"
- }
- Frame {
- msec: 1808
- hash: "99e843ec69b79b79b0792e0a2f28cd1b"
- }
- Frame {
- msec: 1824
- hash: "8b3ebca70b50a6a93823e015ea80f0f9"
- }
- Frame {
- msec: 1840
- hash: "8eaa7f076064ce55051237b04861e408"
- }
- Frame {
- msec: 1856
- hash: "6acc0ca5e5808d911287edfa78c8ac02"
- }
- Frame {
- msec: 1872
- hash: "e9f05899e0b53c21f6efe834095a3ea4"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 91; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 93; y: 209
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1888
- hash: "e9f05899e0b53c21f6efe834095a3ea4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 99; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 108; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1904
- hash: "d2dece405f5f6ed1de2acb6615a931de"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 142; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1920
- hash: "21e0f21edc77424e8327c9a3350ecc1d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 198; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1936
- image: "flickable-horizontal.2.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 229; y: 218
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 266; y: 220
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1952
- hash: "c10c8b0c94f899414d8b3ef0b7c97646"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 322; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 322; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1968
- hash: "807aff4e6c96a9d0de7fa55e233446b1"
- }
- Frame {
- msec: 1984
- hash: "dbd02848cefacbb26f4bcb7d8f073d6c"
- }
- Frame {
- msec: 2000
- hash: "9a60608d8ea1b39fa2d3851873f2f08e"
- }
- Frame {
- msec: 2016
- hash: "e7b3e3a40281f63889808211d6746374"
- }
- Frame {
- msec: 2032
- hash: "188c225c46ec00105df230bfeea09974"
- }
- Frame {
- msec: 2048
- hash: "e2e977b42e91d8c5dee57fd8245692eb"
- }
- Frame {
- msec: 2064
- hash: "ca2f12fb173c405f95e608858ab982ad"
- }
- Frame {
- msec: 2080
- hash: "fa86ee5f25fa425cf2569c8ef570b9d8"
- }
- Frame {
- msec: 2096
- hash: "9b74656866fb8c7394bbbecec6414aca"
- }
- Frame {
- msec: 2112
- hash: "87147326d1baab174c0f9a5ccdc2cb84"
- }
- Frame {
- msec: 2128
- hash: "c0d00f98c71bf3f8e5954b45fbab95a8"
- }
- Frame {
- msec: 2144
- hash: "c087d1d62e56e573b55c1d8599bba8a6"
- }
- Frame {
- msec: 2160
- hash: "dd5a94c6febdee58e8f115cb75131aaa"
- }
- Frame {
- msec: 2176
- hash: "a7465d6137f865f512ce65ceb29533b4"
- }
- Frame {
- msec: 2192
- hash: "409086f6bb661aab8b548fea56d7e6b1"
- }
- Frame {
- msec: 2208
- hash: "6a22911e0fb58df31271baa463ff599d"
- }
- Frame {
- msec: 2224
- hash: "c4f6dd30d5fdfcf91a8b29cf5c622423"
- }
- Frame {
- msec: 2240
- hash: "5a95b83f237c7243a198a43e9a587179"
- }
- Frame {
- msec: 2256
- hash: "d79ed290efc6dbd976d574bf0b14a6a3"
- }
- Frame {
- msec: 2272
- hash: "a7bcb436e96d7c981852239462573495"
- }
- Frame {
- msec: 2288
- hash: "f63cc82e351daab503e316f8b516990f"
- }
- Frame {
- msec: 2304
- hash: "4ea63cd25a1424042ffc60549a78563c"
- }
- Frame {
- msec: 2320
- hash: "ef0fb776012575b3b0dbf6e5f4dee571"
- }
- Frame {
- msec: 2336
- hash: "e2508faec7737be2666d87ad715b5f74"
- }
- Frame {
- msec: 2352
- hash: "9fe4e897c6b853f774d11817a0eb53bf"
- }
- Frame {
- msec: 2368
- hash: "c122ce2e73cbfedcc99d649c21d91f9d"
- }
- Frame {
- msec: 2384
- hash: "883b8b180853f1f432ae98ddfe1b6ce3"
- }
- Frame {
- msec: 2400
- hash: "d0808284e431da60f61d571c257a3011"
- }
- Frame {
- msec: 2416
- hash: "df90f19450bf4d9496aab987a89e3a02"
- }
- Frame {
- msec: 2432
- hash: "5640c1e64556b90e7fbd4448fa9db462"
- }
- Frame {
- msec: 2448
- hash: "6d9b5c2f7d0dedbbc444e69bb39fed08"
- }
- Frame {
- msec: 2464
- hash: "485c4a8049068cf73bf22db5fd3618be"
- }
- Frame {
- msec: 2480
- hash: "9e25da59c9e7e4cf7796902e8e2ff92a"
- }
- Frame {
- msec: 2496
- hash: "bd45e8f2442d7c1a1b16a762bc29e7cf"
- }
- Frame {
- msec: 2512
- hash: "ec1013d23e581dbb39b1549d2e1b3b32"
- }
- Frame {
- msec: 2528
- hash: "1ea3c2fde8ee3a14406e027f2124d793"
- }
- Frame {
- msec: 2544
- hash: "3c3f31a05fb2f32538872c9fa158aaab"
- }
- Frame {
- msec: 2560
- hash: "05a84d9c55e634ec01edd2a63e13613b"
- }
- Frame {
- msec: 2576
- hash: "0f7ccd2da58e2e73b0ab18bb681dafd5"
- }
- Frame {
- msec: 2592
- hash: "e481ff78029f8bc4bf7c697db6824f6a"
- }
- Frame {
- msec: 2608
- hash: "efb92b8b7a90acabeb4a8d5cae52fe3c"
- }
- Frame {
- msec: 2624
- hash: "4728dd0fac4edf40cfd5ef5a422b4ed9"
- }
- Frame {
- msec: 2640
- hash: "27641dcd772c979ae22d12bfbadbb67f"
- }
- Frame {
- msec: 2656
- hash: "26268714105bc4832d336a38a859fc50"
- }
- Frame {
- msec: 2672
- hash: "caf0d351d3b6914ca52853a30643ea48"
- }
- Frame {
- msec: 2688
- hash: "319824b1143925162f04aaddcfaa65d9"
- }
- Frame {
- msec: 2704
- hash: "73aa36815f34bf5e005000e7da38555e"
- }
- Frame {
- msec: 2720
- hash: "73aa36815f34bf5e005000e7da38555e"
- }
- Frame {
- msec: 2736
- hash: "319824b1143925162f04aaddcfaa65d9"
- }
- Frame {
- msec: 2752
- hash: "caf0d351d3b6914ca52853a30643ea48"
- }
- Frame {
- msec: 2768
- hash: "6608412ee80d14e13a1a05fb4716e719"
- }
- Frame {
- msec: 2784
- hash: "f4f6f002fb76407a5120329972285dc4"
- }
- Frame {
- msec: 2800
- hash: "474d8b566b9e4ef7dc125a8df30ccbb1"
- }
- Frame {
- msec: 2816
- hash: "0133138f30be4ffc7f3af3d9f477c4b4"
- }
- Frame {
- msec: 2832
- hash: "e9ee9d7d0ab9dcea3f28ae71ee19270f"
- }
- Frame {
- msec: 2848
- hash: "9fd9eb665a42b48583bc28c6c0118799"
- }
- Frame {
- msec: 2864
- hash: "94231107bc4a7e900fe5f4eb823bd9bf"
- }
- Frame {
- msec: 2880
- hash: "6011b10728fb1c83f10d3c27366ea3a5"
- }
- Frame {
- msec: 2896
- image: "flickable-horizontal.3.png"
- }
- Frame {
- msec: 2912
- hash: "e456c5fddb5fbcb02662716f19755622"
- }
- Frame {
- msec: 2928
- hash: "88cef15940302e2b8b43e73234fd7b9c"
- }
- Frame {
- msec: 2944
- hash: "041aecec2b0b0d59a56e1dd26b45cab1"
- }
- Frame {
- msec: 2960
- hash: "0d519463c713f3da46ecacd155e1a0f3"
- }
- Frame {
- msec: 2976
- hash: "5dd0c855b97d298244fb599c9f781651"
- }
- Frame {
- msec: 2992
- hash: "8677cec5e559e51095d89abfeda8e542"
- }
- Frame {
- msec: 3008
- hash: "b05fb6e798ab3fed940b5ac4d88ca378"
- }
- Frame {
- msec: 3024
- hash: "6bc9cc0d3b11ea91856296b0ec934a8b"
- }
- Frame {
- msec: 3040
- hash: "f4e63f3af69dacbf2d1d719d4d03a266"
- }
- Frame {
- msec: 3056
- hash: "31ab08997eb86fab062a3128aecbccb5"
- }
- Frame {
- msec: 3072
- hash: "90736b240ba1e634bd0ea86423908e16"
- }
- Frame {
- msec: 3088
- hash: "90736b240ba1e634bd0ea86423908e16"
- }
- Frame {
- msec: 3104
- hash: "e74982557dc06aac572078840c7e889a"
- }
- Frame {
- msec: 3120
- hash: "e74982557dc06aac572078840c7e889a"
- }
- Frame {
- msec: 3136
- hash: "ca30c14c7344d1711a35c707f8804f6e"
- }
- Frame {
- msec: 3152
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 3168
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 3184
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 3200
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 412; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3216
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 3232
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 3248
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 408; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 407; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3264
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 403; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3280
- hash: "1991cbb0fb053937f922731d5716032c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 398; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3296
- hash: "df447575a4734bb5bd9badc6e27d98e4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 391; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3312
- hash: "0fbfe1e0d7fb54450188398aa40690cd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 383; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3328
- hash: "cb62e60296046c73d301d7186e14faed"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 369; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3344
- hash: "909cbd1292476584554e22232cb43639"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3360
- hash: "e63b7e502dfb2834c06a969b683b9bd3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 331; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3376
- hash: "4ea63cd25a1424042ffc60549a78563c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 314; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3392
- hash: "77e39d2d4bfcacecdae4f014e4506d71"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 300; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3408
- hash: "db576eca8bad67cb8b994f12fc448969"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 288; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3424
- hash: "efeb3f616da9d78505c3c82fc34ee31c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 278; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3440
- hash: "e4f8bb02f8ac6bc40e1801cc8f360078"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 266; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3456
- hash: "82118ef71809e3867717232c4d9c5518"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 252; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3472
- hash: "5363451c696f6c6eb792b23d086243d7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 238; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3488
- hash: "fe6afe8ae8a7c216a1cffc5515f273d5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 227; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3504
- hash: "9b165741d86c70380c15e15cff3fabb6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 224; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3520
- hash: "f5e176355468f4fa224d4dfcdd7525a3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 222; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3536
- hash: "8c5a14a76e052cc6503a3e78245d1da3"
- }
- Frame {
- msec: 3552
- hash: "8c5a14a76e052cc6503a3e78245d1da3"
- }
- Frame {
- msec: 3568
- hash: "8c5a14a76e052cc6503a3e78245d1da3"
- }
- Frame {
- msec: 3584
- hash: "8c5a14a76e052cc6503a3e78245d1da3"
- }
- Frame {
- msec: 3600
- hash: "8c5a14a76e052cc6503a3e78245d1da3"
- }
- Frame {
- msec: 3616
- hash: "8c5a14a76e052cc6503a3e78245d1da3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 224; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3632
- hash: "f5e176355468f4fa224d4dfcdd7525a3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 232; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3648
- hash: "acf538fce5f1b90b83474d9898b7cdd7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 246; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3664
- hash: "5a0ee016b8732fbc36064e8a35d91215"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 265; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3680
- hash: "8fd06a14c1de175813845ce8f07db6ec"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 292; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3696
- hash: "26b0ff6ffda0725e0800f7ea3af510ef"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 310; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3712
- hash: "80443f134511be0356a687c9b542b3e7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 321; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3728
- hash: "3eeb98a829d29b3dc52f3d145ac49d58"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 323; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3744
- hash: "f4d43069b16f41a30e5549aae911d4cd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 324; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "661c89fa832f0abdcf4ae0c9e8e2d18f"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 324; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3776
- hash: "661c89fa832f0abdcf4ae0c9e8e2d18f"
- }
- Frame {
- msec: 3792
- hash: "1520f54b6c8606b9e8372c5c06180453"
- }
- Frame {
- msec: 3808
- hash: "0fcf5e2ce47348cbb5bb485f101fe5ac"
- }
- Frame {
- msec: 3824
- hash: "2eb070e69de07c89830543e0475fc110"
- }
- Frame {
- msec: 3840
- hash: "d73c1059219c0655968af268d22e2c18"
- }
- Frame {
- msec: 3856
- image: "flickable-horizontal.4.png"
- }
- Frame {
- msec: 3872
- hash: "cc969b2c64839ca6d3b5069c0ed938d0"
- }
- Frame {
- msec: 3888
- hash: "1f819e18d1297a1c7eeebb7b040bdef8"
- }
- Frame {
- msec: 3904
- hash: "3643b99afbd8af0953cb39b2c8c04b9f"
- }
- Frame {
- msec: 3920
- hash: "713fd2e2fa38ab27604cb9cae59f1777"
- }
- Frame {
- msec: 3936
- hash: "e2508faec7737be2666d87ad715b5f74"
- }
- Frame {
- msec: 3952
- hash: "fc33b1c7479caeff676ffd885a18d618"
- }
- Frame {
- msec: 3968
- hash: "aca01143db4f870a56bb7546e84cbc5e"
- }
- Frame {
- msec: 3984
- hash: "442b58c39fd3745c61a1eb5043fcbb53"
- }
- Frame {
- msec: 4000
- hash: "7983d7183cc11d6819fa0a006c2d67b4"
- }
- Frame {
- msec: 4016
- hash: "9fe4e897c6b853f774d11817a0eb53bf"
- }
- Frame {
- msec: 4032
- hash: "43f528c81ccfa5b9921dfa3564a24c68"
- }
- Frame {
- msec: 4048
- hash: "dfe04ff0b3ccf205bb38beeab58a4411"
- }
- Frame {
- msec: 4064
- hash: "32ff30b50b500e9feb51e8eef205783c"
- }
- Frame {
- msec: 4080
- hash: "7d83ab4c336b05bcf2cde4e7d8031f6c"
- }
- Frame {
- msec: 4096
- hash: "c92e345e4ffdb30c28d9d5aa5400bd30"
- }
- Frame {
- msec: 4112
- hash: "02eec604d0c00965aae4ac61b91bdc22"
- }
- Frame {
- msec: 4128
- hash: "df447575a4734bb5bd9badc6e27d98e4"
- }
- Frame {
- msec: 4144
- hash: "bac10d8f94a39573313b3b8b2f871c49"
- }
- Frame {
- msec: 4160
- hash: "e5944c5dc6dec8f0c28b7ec3cd58723d"
- }
- Frame {
- msec: 4176
- hash: "1991cbb0fb053937f922731d5716032c"
- }
- Frame {
- msec: 4192
- hash: "50d6538bcaffc343f6626635a3e5899c"
- }
- Frame {
- msec: 4208
- hash: "f3613f57cdb9ed38d8e3fa636962aa99"
- }
- Frame {
- msec: 4224
- hash: "10a89da9887cb4bbd812c090a8a56797"
- }
- Frame {
- msec: 4240
- hash: "89ba74d46970ad2edff701475c059ec8"
- }
- Frame {
- msec: 4256
- hash: "6e8b84c70e81578a2216e9e975b35434"
- }
- Frame {
- msec: 4272
- hash: "6e8b84c70e81578a2216e9e975b35434"
- }
- Frame {
- msec: 4288
- hash: "883b8b180853f1f432ae98ddfe1b6ce3"
- }
- Frame {
- msec: 4304
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4320
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4336
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4352
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4368
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4384
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4400
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4416
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4432
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4448
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4464
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4480
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4496
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4512
- hash: "e616110d39009f0d636b816828cc0ccb"
- }
- Frame {
- msec: 4528
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4544
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4560
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4576
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4592
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4608
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4624
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4640
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4656
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4672
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4688
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
- Frame {
- msec: 4704
- hash: "244c12e82ee0b2528a0dbb02a8b8134a"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png
deleted file mode 100644
index 968a78f7c6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png
deleted file mode 100644
index 55ab3b712f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png
deleted file mode 100644
index a6ec6d1897..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png
deleted file mode 100644
index e6755acaf0..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.png
deleted file mode 100644
index 4c4d17c9e3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml
deleted file mode 100644
index 106d108ae1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-horizontal.qml
+++ /dev/null
@@ -1,1575 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "flickable-horizontal.0.png"
- }
- Frame {
- msec: 32
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 48
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 64
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 80
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 96
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 112
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 128
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 144
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 160
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 176
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 192
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 208
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 224
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 240
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 256
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 272
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 288
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 304
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 320
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 336
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 352
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 368
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 384
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 400
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 416
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 432
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 448
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 464
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 480
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 496
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 512
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 528
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 544
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 560
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 576
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 592
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 608
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 624
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 640
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 656
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 672
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 688
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 704
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 720
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 447; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 736
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 752
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 768
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 446; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 784
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 440; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 800
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 425; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 407; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 816
- hash: "49372aa66b86904d587b72c6c2cfd467"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 359; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 832
- hash: "06519aabcc86c5fd961c80a65d2cf67c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 309; y: 181
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 848
- hash: "c3b182c37393ea0468c06474e84f127f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 282; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 282; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 864
- hash: "dce4bcca20e89c40a603394515f679b1"
- }
- Frame {
- msec: 880
- hash: "dabf2b63bedd0073f761a858f048df5a"
- }
- Frame {
- msec: 896
- hash: "c51ca7786b7346b3e62b774c01a67f98"
- }
- Frame {
- msec: 912
- hash: "d1628aa2fd1ec92021fa37f9960fb06a"
- }
- Frame {
- msec: 928
- hash: "4e571776c8a01d1ab79ff1c3affc0474"
- }
- Frame {
- msec: 944
- hash: "85a3c22ecaed87c119202b76e22f2b2e"
- }
- Frame {
- msec: 960
- hash: "42d345e97b0a8e5cbcfdf4243ccafcdc"
- }
- Frame {
- msec: 976
- image: "flickable-horizontal.1.png"
- }
- Frame {
- msec: 992
- hash: "1a651405076d8980b03cc8279a379fff"
- }
- Frame {
- msec: 1008
- hash: "8c4f3c6a4c67c76fe92ff401114892e7"
- }
- Frame {
- msec: 1024
- hash: "447a817e33cd8213e362192ffe663272"
- }
- Frame {
- msec: 1040
- hash: "eed6ba9be5f7869101068afd1d46cb69"
- }
- Frame {
- msec: 1056
- hash: "15ae5acff4211f97802c6c50649ad487"
- }
- Frame {
- msec: 1072
- hash: "e30b0a23e215c0b9b71b083381a8523e"
- }
- Frame {
- msec: 1088
- hash: "6fad48a7d3a2480468aca07e6760de94"
- }
- Frame {
- msec: 1104
- hash: "998bd191ac5bac1f300e247514a112d7"
- }
- Frame {
- msec: 1120
- hash: "9245e8bf2fb38f491aa7f0da4400e190"
- }
- Frame {
- msec: 1136
- hash: "7565ea1f01cd9ad5d92e2a0ee7fc947d"
- }
- Frame {
- msec: 1152
- hash: "898c6e226787391340099910ee128ed6"
- }
- Frame {
- msec: 1168
- hash: "bafd74d70e99cf4053d3c00d18915762"
- }
- Frame {
- msec: 1184
- hash: "6456a5ca9bb90b2d0fb99bae63a8db35"
- }
- Frame {
- msec: 1200
- hash: "2b34216c9f7c76133ef4889b74df7ad9"
- }
- Frame {
- msec: 1216
- hash: "cbc75068017b378f277c2692f2cb1709"
- }
- Frame {
- msec: 1232
- hash: "8c72d80a5a2776ee2d805c089f5c534d"
- }
- Frame {
- msec: 1248
- hash: "d5a248b9177e078cad40af72b3cbceb5"
- }
- Frame {
- msec: 1264
- hash: "1a9b246f8223bbcf6421a22e8a1fb50e"
- }
- Frame {
- msec: 1280
- hash: "ea9b292eb000a9e4c5b46a8d94b8e80e"
- }
- Frame {
- msec: 1296
- hash: "ac059cd45cd1936a7ff3fd0fc9fa688b"
- }
- Frame {
- msec: 1312
- hash: "fda383d47ffb1e2fd633793594831cfb"
- }
- Frame {
- msec: 1328
- hash: "a4c7709f3642088e4be48ec607d0a0fe"
- }
- Frame {
- msec: 1344
- hash: "08d0268402d4a410f5f8c9bb8ba7b306"
- }
- Frame {
- msec: 1360
- hash: "ecc8f3c4faf86362e45b465b0f4d6dc2"
- }
- Frame {
- msec: 1376
- hash: "3107a4b522744a643dd107da5e5e13c2"
- }
- Frame {
- msec: 1392
- hash: "44c1731d0433aac53edc2e88a38c66b0"
- }
- Frame {
- msec: 1408
- hash: "d86e9dfb38be51b2fa9cf44271eddc3e"
- }
- Frame {
- msec: 1424
- hash: "0c33ce00df6fbb848d300aa510ad80d9"
- }
- Frame {
- msec: 1440
- hash: "48ff92aaa0c797c10ca8dbc5b2240736"
- }
- Frame {
- msec: 1456
- hash: "8582fd8c3643d9a5c1993e1607c6fae8"
- }
- Frame {
- msec: 1472
- hash: "2390e374160ec5bc99613a463aa98fb2"
- }
- Frame {
- msec: 1488
- hash: "369a11c32596b668a4f275232c45ac68"
- }
- Frame {
- msec: 1504
- hash: "0b0d82d523a77a925ee00cf457326034"
- }
- Frame {
- msec: 1520
- hash: "48e7a92905761d7f0b8b9ac95bb5ff45"
- }
- Frame {
- msec: 1536
- hash: "2cdccfd2cdf56728fa07a49de34142d9"
- }
- Frame {
- msec: 1552
- hash: "83a8166805523ee8426d88ef80c8f3a9"
- }
- Frame {
- msec: 1568
- hash: "20ac2e68a5c733dc6128921c34f033e5"
- }
- Frame {
- msec: 1584
- hash: "836963a1ed3084606b80b7f82fee09ef"
- }
- Frame {
- msec: 1600
- hash: "ee49c684d788558e20a10899ebe0b6c2"
- }
- Frame {
- msec: 1616
- hash: "e00c0b340165d335cb49730890eca301"
- }
- Frame {
- msec: 1632
- hash: "fba2c2adeef04e6c1a764c4d8a1a97bc"
- }
- Frame {
- msec: 1648
- hash: "8160bd2a6daa2757b948d038fa754c77"
- }
- Frame {
- msec: 1664
- hash: "10130d0b75ce420f5c9af6f181500783"
- }
- Frame {
- msec: 1680
- hash: "10130d0b75ce420f5c9af6f181500783"
- }
- Frame {
- msec: 1696
- hash: "fba2c2adeef04e6c1a764c4d8a1a97bc"
- }
- Frame {
- msec: 1712
- hash: "fec5477699ba60da129866e1c3727e08"
- }
- Frame {
- msec: 1728
- hash: "12076b96a177bd24be8ad4a3dc179d79"
- }
- Frame {
- msec: 1744
- hash: "83a8166805523ee8426d88ef80c8f3a9"
- }
- Frame {
- msec: 1760
- hash: "e9016d43624060ef4efbad2b7bc53b1b"
- }
- Frame {
- msec: 1776
- hash: "483700c4ba07a9f01d2a226a3efde15f"
- }
- Frame {
- msec: 1792
- hash: "2390e374160ec5bc99613a463aa98fb2"
- }
- Frame {
- msec: 1808
- hash: "094df49593f0cd1d6de4a0b91c459d15"
- }
- Frame {
- msec: 1824
- hash: "0a60ed609c7fcb2d485f393ea309527a"
- }
- Frame {
- msec: 1840
- hash: "d4e0f07c2f298626ae800d5d7b5f098b"
- }
- Frame {
- msec: 1856
- hash: "ff249c1301704da0b82b023558512c6a"
- }
- Frame {
- msec: 1872
- hash: "42883458efeb17ff1e52296ae7228fb2"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 91; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 93; y: 209
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1888
- hash: "42883458efeb17ff1e52296ae7228fb2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 99; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 108; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1904
- hash: "36a4b0d745ee8fa53e906b7a23b7ab88"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 142; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1920
- hash: "826187b1a24fd09e1abcb6a01c59c059"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 198; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1936
- image: "flickable-horizontal.2.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 229; y: 218
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 266; y: 220
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1952
- hash: "426f9459ac16c2903f85d618b366a475"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 322; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 322; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1968
- hash: "d43dc1cfeaac1da281f2cdbffda93d17"
- }
- Frame {
- msec: 1984
- hash: "766dd54cdb6253ead664b6ab852e934b"
- }
- Frame {
- msec: 2000
- hash: "1db59868779a357917a5d4859130108e"
- }
- Frame {
- msec: 2016
- hash: "1da33a5f6a001915464f34799a651f7a"
- }
- Frame {
- msec: 2032
- hash: "868a6e445623378b6590789156e4b7e0"
- }
- Frame {
- msec: 2048
- hash: "46ae42a4b7f00e24a10ffdfd7a076b68"
- }
- Frame {
- msec: 2064
- hash: "2a91ffdfec461f573784cfaed2150e33"
- }
- Frame {
- msec: 2080
- hash: "2cbaa11e8589c806e65e52ce59ad1c42"
- }
- Frame {
- msec: 2096
- hash: "3b93b1e1fa7963d5a75103814f93a0a2"
- }
- Frame {
- msec: 2112
- hash: "a2e59dc9459a7afb6916638d08330dff"
- }
- Frame {
- msec: 2128
- hash: "cb3e8334babe3abffa202c2ba2d3b21f"
- }
- Frame {
- msec: 2144
- hash: "07882f5f098e59c479f089dbc74612bf"
- }
- Frame {
- msec: 2160
- hash: "e9ad84bf0c7f83bfe1bff3afed591bfd"
- }
- Frame {
- msec: 2176
- hash: "1839c26fda8710dc3fa7f5abd8136eee"
- }
- Frame {
- msec: 2192
- hash: "15e3bdd811c390ad3a9cf22949568ed7"
- }
- Frame {
- msec: 2208
- hash: "61ede9a7ef29997627bb08070fea65a4"
- }
- Frame {
- msec: 2224
- hash: "fac89040e757522117e3792625ca6a19"
- }
- Frame {
- msec: 2240
- hash: "1dc01a1118681f8606768fcf246397f7"
- }
- Frame {
- msec: 2256
- hash: "2b243094b7f25368a8fb4a9014968cad"
- }
- Frame {
- msec: 2272
- hash: "c6677acf9b9d632bc99caa8626448c49"
- }
- Frame {
- msec: 2288
- hash: "9035988b0dc0b7065fe4f1d1a4737801"
- }
- Frame {
- msec: 2304
- hash: "cd34e7118d43968cfcf52ed9ce58fc0a"
- }
- Frame {
- msec: 2320
- hash: "7142aeaed61722424e184c55bb8d047c"
- }
- Frame {
- msec: 2336
- hash: "9113c68cf5689e1f4690e58bbf824ae6"
- }
- Frame {
- msec: 2352
- hash: "2f9ec963d6f06f8252a69760965df2ee"
- }
- Frame {
- msec: 2368
- hash: "07373282f0337437944dc8fff1e32343"
- }
- Frame {
- msec: 2384
- hash: "4769fa4ba0c08baefa431b94b47a7ffc"
- }
- Frame {
- msec: 2400
- hash: "390cd7786aa1989b590033682472f604"
- }
- Frame {
- msec: 2416
- hash: "482e2969bc1a877ba63c3df65ec04b7e"
- }
- Frame {
- msec: 2432
- hash: "e3dc252a3a0b35398bf3d91c37d6b5e9"
- }
- Frame {
- msec: 2448
- hash: "5bce3aac5cc049d81a74e7f71e2cf522"
- }
- Frame {
- msec: 2464
- hash: "390edc00756c4e92e94a7a75f3d65c45"
- }
- Frame {
- msec: 2480
- hash: "285397b2ff5a64d2a112c458d6ec5aba"
- }
- Frame {
- msec: 2496
- hash: "ed0889dc439d66e6b5a81059956ef564"
- }
- Frame {
- msec: 2512
- hash: "cb804da0db92d879a5cb8f138c546f88"
- }
- Frame {
- msec: 2528
- hash: "523fe4d3d9c11631f41d96bcc604103b"
- }
- Frame {
- msec: 2544
- hash: "cc4717c4233f9a2f2380bfad6dc89075"
- }
- Frame {
- msec: 2560
- hash: "65c4171ff3e98aa04667606d9f6bd9b3"
- }
- Frame {
- msec: 2576
- hash: "b2994136a603206c8013158fd67ca6bd"
- }
- Frame {
- msec: 2592
- hash: "44ad0d4645a01243b9d9be0faaf6d6ee"
- }
- Frame {
- msec: 2608
- hash: "3b7b06f5f3f028fbae21dfedf821e696"
- }
- Frame {
- msec: 2624
- hash: "b86466e530c3bd51353074cbb9da9ec3"
- }
- Frame {
- msec: 2640
- hash: "2528deb04bae8b89a85dc6fcea05dbbd"
- }
- Frame {
- msec: 2656
- hash: "e0ff5e36bff2b9e08244fc7f79cecee6"
- }
- Frame {
- msec: 2672
- hash: "34ca311d2e3462da3779324419c027e7"
- }
- Frame {
- msec: 2688
- hash: "75aae68f21f68364a897c504f26ee655"
- }
- Frame {
- msec: 2704
- hash: "8039e52e7f1977433596c1a34a41cc9f"
- }
- Frame {
- msec: 2720
- hash: "8039e52e7f1977433596c1a34a41cc9f"
- }
- Frame {
- msec: 2736
- hash: "75aae68f21f68364a897c504f26ee655"
- }
- Frame {
- msec: 2752
- hash: "34ca311d2e3462da3779324419c027e7"
- }
- Frame {
- msec: 2768
- hash: "d3649eb8f8232b0e64b0cb476313b63c"
- }
- Frame {
- msec: 2784
- hash: "cdb30549933d3778e74dbd419b474a5f"
- }
- Frame {
- msec: 2800
- hash: "3a43d652bb85d3f562bd5eaec386107f"
- }
- Frame {
- msec: 2816
- hash: "df6771eb2afa24b6e3250b05b180fa4d"
- }
- Frame {
- msec: 2832
- hash: "cc4717c4233f9a2f2380bfad6dc89075"
- }
- Frame {
- msec: 2848
- hash: "76e04278dab430d5860306830b73ab6f"
- }
- Frame {
- msec: 2864
- hash: "8f70f69731fe8b8f4aa397a667f4c5c0"
- }
- Frame {
- msec: 2880
- hash: "25b72be5ca16c246bfc6adc4bf19871c"
- }
- Frame {
- msec: 2896
- image: "flickable-horizontal.3.png"
- }
- Frame {
- msec: 2912
- hash: "e3dc252a3a0b35398bf3d91c37d6b5e9"
- }
- Frame {
- msec: 2928
- hash: "ce0d8b3f0f0b235eaedc932f4514ea00"
- }
- Frame {
- msec: 2944
- hash: "f6b030effcca891ab20073f106b22d73"
- }
- Frame {
- msec: 2960
- hash: "2cfafd1f686f5794d5bf99ec4aaa1d08"
- }
- Frame {
- msec: 2976
- hash: "502a23fd9a3bcccb29c496e7edeb5d66"
- }
- Frame {
- msec: 2992
- hash: "82ac348a63a4e358a877a2e45d48e2b1"
- }
- Frame {
- msec: 3008
- hash: "0d321f4ca15f09d849c4a28f032cc1cc"
- }
- Frame {
- msec: 3024
- hash: "5c995f84415ea7a260647f946b8963ee"
- }
- Frame {
- msec: 3040
- hash: "ee4ecac449c4a2ad4e11ad1d560b3ec3"
- }
- Frame {
- msec: 3056
- hash: "0bc3d5b91d781bcf10041eb1557f0d6a"
- }
- Frame {
- msec: 3072
- hash: "321297177b354e0cc435b3eae49331a3"
- }
- Frame {
- msec: 3088
- hash: "321297177b354e0cc435b3eae49331a3"
- }
- Frame {
- msec: 3104
- hash: "de00148fe89be44237af32d929432655"
- }
- Frame {
- msec: 3120
- hash: "de00148fe89be44237af32d929432655"
- }
- Frame {
- msec: 3136
- hash: "756c8068009e9780428bd3ae35df19fe"
- }
- Frame {
- msec: 3152
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 3168
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 3184
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 3200
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 412; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3216
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 3232
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 3248
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 408; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 407; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3264
- hash: "96a78749a57bdb87cf28a3804b63793f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 403; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3280
- hash: "b8f158a8694f2b922faf818d469230e4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 398; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3296
- hash: "257a298bec9589037e3022cc2fe7a775"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 391; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3312
- hash: "391d17c09dd33b3dcfc9a619fbb500dc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 383; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3328
- hash: "b645a1808de7a5d2ce7944ab66a7c233"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 369; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3344
- hash: "54ddfe85ca8923bcf7f3b6ccab0560de"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3360
- hash: "5c1169e17ee96b817e66b4a6097f790c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 331; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3376
- hash: "cd34e7118d43968cfcf52ed9ce58fc0a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 314; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3392
- hash: "f3d9d5cd228914b2e1323f19c22aa6f9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 300; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3408
- hash: "10e63c46f4b970a9c997126906c01cf9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 288; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3424
- hash: "c9b412087f7b744096bf995c6a9ddf15"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 278; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3440
- hash: "70cdc34e22c7a031c2e28898f7edea72"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 266; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3456
- hash: "d0ea5c1f9050499d944ba7e61d354e40"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 252; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3472
- hash: "d9fc23e14a170b68264721dc18be4fb1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 238; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3488
- hash: "d59ccdfdb179f2c8c2636a64aecf2a6a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 227; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3504
- hash: "6d21752283210371faf2f757c7a972b3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 224; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3520
- hash: "1338a54d3b980a6868ba7d167cfdbdf7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 222; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3536
- hash: "0be430c9e6058be2aee599d4182bc0d0"
- }
- Frame {
- msec: 3552
- hash: "0be430c9e6058be2aee599d4182bc0d0"
- }
- Frame {
- msec: 3568
- hash: "0be430c9e6058be2aee599d4182bc0d0"
- }
- Frame {
- msec: 3584
- hash: "0be430c9e6058be2aee599d4182bc0d0"
- }
- Frame {
- msec: 3600
- hash: "0be430c9e6058be2aee599d4182bc0d0"
- }
- Frame {
- msec: 3616
- hash: "0be430c9e6058be2aee599d4182bc0d0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 224; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3632
- hash: "1338a54d3b980a6868ba7d167cfdbdf7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 232; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3648
- hash: "b58a71e761abe238de0e90c1c756cd37"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 246; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3664
- hash: "3383dc4a9b1f8267d145d22f9d825dc0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 265; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3680
- hash: "95df7fbe18630d9b8ffa83850bc5bec5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 292; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3696
- hash: "96c625b6854a862c83ead3fbb32df3b0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 310; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3712
- hash: "f48f12540c60bc7b60279db8e67ff91b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 321; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3728
- hash: "98353745244809a583c93c1fd87b9a56"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 323; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3744
- hash: "09a1bb3238282c80cc40fccb6e45ba28"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 324; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "9e50b6fc980c66698a35178e2520e13c"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 324; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3776
- hash: "9e50b6fc980c66698a35178e2520e13c"
- }
- Frame {
- msec: 3792
- hash: "006c37d9d6b5a8470d74909b9646d5f1"
- }
- Frame {
- msec: 3808
- hash: "24cf52f7c3cf095be20393757dfaaa6b"
- }
- Frame {
- msec: 3824
- hash: "2189799d060770928f1feaaa44728ec8"
- }
- Frame {
- msec: 3840
- hash: "b8a6375f0303ec8b66cf14f59888c273"
- }
- Frame {
- msec: 3856
- image: "flickable-horizontal.4.png"
- }
- Frame {
- msec: 3872
- hash: "1fd391b060c84ac99c6e94d2d3647c31"
- }
- Frame {
- msec: 3888
- hash: "8b594f115e8158b931a9da42fa6829a5"
- }
- Frame {
- msec: 3904
- hash: "8f93fdffed4bfd31f9f5977b09074f6a"
- }
- Frame {
- msec: 3920
- hash: "d0f3eae785732bf24c363fd189672eb2"
- }
- Frame {
- msec: 3936
- hash: "9113c68cf5689e1f4690e58bbf824ae6"
- }
- Frame {
- msec: 3952
- hash: "44dd376f3d5f61ec71b7c488c3a6ee58"
- }
- Frame {
- msec: 3968
- hash: "4555e295bd6de22abcbaecf797ec8902"
- }
- Frame {
- msec: 3984
- hash: "eb343f3e69f205a240c0425873ea6db1"
- }
- Frame {
- msec: 4000
- hash: "37a5b81894c16cacd13312f7113a5445"
- }
- Frame {
- msec: 4016
- hash: "2f9ec963d6f06f8252a69760965df2ee"
- }
- Frame {
- msec: 4032
- hash: "dec984b2a5cdd85f2dfb8983da5cdee4"
- }
- Frame {
- msec: 4048
- hash: "a95f51c3e172ee76b5b74e94532cdfaf"
- }
- Frame {
- msec: 4064
- hash: "62d73e875875329c886d2eb540a9c2d9"
- }
- Frame {
- msec: 4080
- hash: "63c70a0ea1f43d92c717ff23dcfebe81"
- }
- Frame {
- msec: 4096
- hash: "49372aa66b86904d587b72c6c2cfd467"
- }
- Frame {
- msec: 4112
- hash: "523c18f3c7bbaaf9c625835ddf0d8435"
- }
- Frame {
- msec: 4128
- hash: "257a298bec9589037e3022cc2fe7a775"
- }
- Frame {
- msec: 4144
- hash: "d777e4b06791bda82cf1e8e84b1cff5c"
- }
- Frame {
- msec: 4160
- hash: "c31de5bfff431b13dcbf2b8b4c503bc3"
- }
- Frame {
- msec: 4176
- hash: "b8f158a8694f2b922faf818d469230e4"
- }
- Frame {
- msec: 4192
- hash: "5fd4cd0c335cecc7468d44d188e1669d"
- }
- Frame {
- msec: 4208
- hash: "77b003c8f72498ed295678158adf417c"
- }
- Frame {
- msec: 4224
- hash: "96a78749a57bdb87cf28a3804b63793f"
- }
- Frame {
- msec: 4240
- hash: "f497ed7bc98daea35a9ae4838427207e"
- }
- Frame {
- msec: 4256
- hash: "35a7221f2888ab3afec443b2c1060c80"
- }
- Frame {
- msec: 4272
- hash: "35a7221f2888ab3afec443b2c1060c80"
- }
- Frame {
- msec: 4288
- hash: "4769fa4ba0c08baefa431b94b47a7ffc"
- }
- Frame {
- msec: 4304
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4320
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4336
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4352
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4368
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4384
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4400
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4416
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4432
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4448
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4464
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4480
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4496
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4512
- hash: "afec5604967bc19a2bb8fc7e899c1e11"
- }
- Frame {
- msec: 4528
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4544
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4560
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4576
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4592
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4608
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4624
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4640
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4656
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4672
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4688
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
- Frame {
- msec: 4704
- hash: "66d988259c52db9bd85f60ed598469f7"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.0.png
deleted file mode 100644
index 464d913399..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.1.png
deleted file mode 100644
index 464d913399..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.2.png
deleted file mode 100644
index b16b9f0e16..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.3.png
deleted file mode 100644
index c3d2a6f572..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.4.png
deleted file mode 100644
index d074e733e3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.5.png
deleted file mode 100644
index 0cac34ce81..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.qml
deleted file mode 100644
index c418cc8027..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-nested.qml
+++ /dev/null
@@ -1,2159 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "flickable-nested.0.png"
- }
- Frame {
- msec: 32
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 48
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 64
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 80
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 96
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 112
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 128
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 144
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 160
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 176
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 192
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 208
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 224
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 240
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 256
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 272
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 288
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 304
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 320
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 336
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 352
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 368
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 384
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 400
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 416
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 432
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 448
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 464
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 480
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 496
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 512
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 528
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 544
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 560
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 576
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 592
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 608
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 624
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 640
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 656
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 672
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 688
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 704
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 720
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 736
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 752
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 768
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 784
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 800
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 816
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 832
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 848
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 864
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 880
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 896
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 912
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 928
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 206; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 944
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Frame {
- msec: 960
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 976
- image: "flickable-nested.1.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 202
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 992
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1008
- hash: "7523750f0fd21aff13e6ab379e87640d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 197
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 202; y: 196
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1024
- hash: "bddf8ca2638c9a04f7029d6982152d11"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 198; y: 191
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 197; y: 189
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1040
- hash: "bc15f1b562879d5058d3b1336fb9074e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 185
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 184
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1056
- hash: "3572c62d7d2b9b23a8d9d3e5037591dd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 182
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 194; y: 182
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1072
- hash: "ce9658887cca581a88e7db14b92d46f2"
- }
- Frame {
- msec: 1088
- hash: "e1fe1a2e1669a200e20468b4aa98dd3d"
- }
- Frame {
- msec: 1104
- hash: "b7582829bf01223e6641ce82f62047df"
- }
- Frame {
- msec: 1120
- hash: "80bd41fe22fb84efb011acf50ec38574"
- }
- Frame {
- msec: 1136
- hash: "04c8d6c3922ce9777ee27d8df59d4729"
- }
- Frame {
- msec: 1152
- hash: "f84dba18e525f1c06548c0232a244b6d"
- }
- Frame {
- msec: 1168
- hash: "26c74b95835e8e0da5aadc7c42cac81c"
- }
- Frame {
- msec: 1184
- hash: "1b4fcb1f0bd83a683cfe0ac303be0033"
- }
- Frame {
- msec: 1200
- hash: "1b4fcb1f0bd83a683cfe0ac303be0033"
- }
- Frame {
- msec: 1216
- hash: "4df47f90656fff253883e3e2d33506dc"
- }
- Frame {
- msec: 1232
- hash: "4df47f90656fff253883e3e2d33506dc"
- }
- Frame {
- msec: 1248
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1264
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1280
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1296
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1312
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1328
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1344
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1360
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1376
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1392
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1408
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1424
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1440
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1456
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1472
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1488
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1504
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1520
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1536
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1552
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1568
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1584
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Frame {
- msec: 1600
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 226; y: 218
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1616
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 225; y: 218
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1632
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 223; y: 217
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 222; y: 217
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1648
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 220; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 218; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1664
- hash: "7d0d94c4a7a9330f5bd17782ca484848"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 214; y: 212
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 212; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1680
- hash: "54b41609ba43f710b08ba63f0b96df99"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 207; y: 207
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1696
- hash: "8910b66b9eb1b2be80e36ed2824df1a0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 205; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1712
- hash: "38df31933f34f961a9b7020ad0d469c2"
- }
- Frame {
- msec: 1728
- hash: "7702a7f710991225d9f411e8f410b515"
- }
- Frame {
- msec: 1744
- hash: "c90d402e68208ccfd2c7345a2bf650cd"
- }
- Frame {
- msec: 1760
- hash: "2630ed37aaf37907d1ee48efb0239615"
- }
- Frame {
- msec: 1776
- hash: "527725818699ce3425b5cb95a25610d5"
- }
- Frame {
- msec: 1792
- hash: "7bd6e37853946a835973c3da213beddc"
- }
- Frame {
- msec: 1808
- hash: "e3c5e113d992e5e50b6780185891edd7"
- }
- Frame {
- msec: 1824
- hash: "e3c5e113d992e5e50b6780185891edd7"
- }
- Frame {
- msec: 1840
- hash: "20ced2b9960931c4c0cbe8bcc1f9e52a"
- }
- Frame {
- msec: 1856
- hash: "09710c8964c8b010a90c67f126acdefa"
- }
- Frame {
- msec: 1872
- hash: "09710c8964c8b010a90c67f126acdefa"
- }
- Frame {
- msec: 1888
- hash: "09710c8964c8b010a90c67f126acdefa"
- }
- Frame {
- msec: 1904
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 1920
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 1936
- image: "flickable-nested.2.png"
- }
- Frame {
- msec: 1952
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 1968
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 1984
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2000
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2016
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2032
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2048
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2064
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2080
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2096
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2112
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2128
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2144
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2160
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2176
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2192
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2208
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2224
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2240
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2256
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2272
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2288
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Frame {
- msec: 2304
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 274; y: 218
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2320
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 273; y: 218
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 273; y: 217
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2336
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 272; y: 215
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 272; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2352
- hash: "e80b03bd168ec62aba64cdf75dcd1d5f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 271; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 270; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2368
- hash: "79a132ab719ccdf48d367cca443cd835"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 269; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 269; y: 202
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2384
- hash: "1f19e7d2c7494f5b603dee16e211d65d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 268; y: 196
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 268; y: 193
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2400
- hash: "64fd22407c77fac28d13035ce78c67b2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 268; y: 186
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 266; y: 177
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2416
- hash: "f05a0f956b4964d4ebff056b63252297"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 265; y: 173
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 264; y: 167
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2432
- hash: "3de1e9a2b33e37b0fe3b799b68ec22d6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 263; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 263; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2448
- hash: "71f115c60d4f20422e4ac3f319644c48"
- }
- Frame {
- msec: 2464
- hash: "c3995ac89f0a4b3fb07401479538d338"
- }
- Frame {
- msec: 2480
- hash: "950e83408adf55f4e7fc1c0c127caa89"
- }
- Frame {
- msec: 2496
- hash: "5b335621a76a527d058708384c2e5635"
- }
- Frame {
- msec: 2512
- hash: "a201ae31d5bb778bd44a49dd21951c1b"
- }
- Frame {
- msec: 2528
- hash: "550e6708a8999d56d1f57c121228692f"
- }
- Frame {
- msec: 2544
- hash: "d8eb4dd2b3cf50273cb7dfbb5bd658b9"
- }
- Frame {
- msec: 2560
- hash: "aa1fd0a990e42175acc84de96b384e9d"
- }
- Frame {
- msec: 2576
- hash: "0236fb15db30da5ec794444affee1169"
- }
- Frame {
- msec: 2592
- hash: "a7445a70874a9767462e79e1dff88dbc"
- }
- Frame {
- msec: 2608
- hash: "339ea6bd5b486ff85272e19e07669f0b"
- }
- Frame {
- msec: 2624
- hash: "2b24d9d17c77cd0ac52989328dcf499b"
- }
- Frame {
- msec: 2640
- hash: "2b24d9d17c77cd0ac52989328dcf499b"
- }
- Frame {
- msec: 2656
- hash: "e2fcfe4f3e14e46404eb6955502180a1"
- }
- Frame {
- msec: 2672
- hash: "5d0c9601b871690047f4df91723ccfb1"
- }
- Frame {
- msec: 2688
- hash: "5d0c9601b871690047f4df91723ccfb1"
- }
- Frame {
- msec: 2704
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2720
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2736
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2752
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2768
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2784
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2800
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2816
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2832
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2848
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2864
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2880
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2896
- image: "flickable-nested.3.png"
- }
- Frame {
- msec: 2912
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2928
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2944
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Frame {
- msec: 2960
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 268; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2976
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 268; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 268; y: 104
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2992
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 268; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 269; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3008
- hash: "5b5d7e880e9f4942f52a3cde738dc7fb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 270; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 270; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3024
- hash: "2b24d9d17c77cd0ac52989328dcf499b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 271; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 272; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3040
- hash: "550e6708a8999d56d1f57c121228692f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 273; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 274; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3056
- hash: "57f3c0a49cef2137e3cfa435396c099e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 274; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 274; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3072
- hash: "0fffc659a270cc614d16ddf3fa2ab51d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 274; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 274; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3088
- hash: "a8d937c8379950299a6e3611ff313415"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 273; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 272; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3104
- hash: "46cfebbf821a08aa30055bfa8fffd137"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 271; y: 175
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 270; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 270; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3120
- hash: "20a32ee8ae2cf88a2cfdb2dd8552255a"
- }
- Frame {
- msec: 3136
- hash: "20a32ee8ae2cf88a2cfdb2dd8552255a"
- }
- Frame {
- msec: 3152
- hash: "20a32ee8ae2cf88a2cfdb2dd8552255a"
- }
- Frame {
- msec: 3168
- hash: "20a32ee8ae2cf88a2cfdb2dd8552255a"
- }
- Frame {
- msec: 3184
- hash: "20a32ee8ae2cf88a2cfdb2dd8552255a"
- }
- Frame {
- msec: 3200
- hash: "20a32ee8ae2cf88a2cfdb2dd8552255a"
- }
- Frame {
- msec: 3216
- hash: "20a32ee8ae2cf88a2cfdb2dd8552255a"
- }
- Frame {
- msec: 3232
- hash: "20a32ee8ae2cf88a2cfdb2dd8552255a"
- }
- Frame {
- msec: 3248
- hash: "20a32ee8ae2cf88a2cfdb2dd8552255a"
- }
- Frame {
- msec: 3264
- hash: "20a32ee8ae2cf88a2cfdb2dd8552255a"
- }
- Frame {
- msec: 3280
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3296
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3312
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3328
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3344
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3360
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3376
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3392
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3408
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3424
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3440
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3456
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3472
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3488
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3504
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3520
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3536
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3552
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3568
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 3584
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 352; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3600
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3616
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 196
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3632
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 193
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 185
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3648
- hash: "eb718f97648438dae1440e2089434b0a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 176
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3664
- hash: "e4a2b82752939f351ac46032f2d3333e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 353; y: 163
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 354; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3680
- hash: "ab1099a146433a5ec77b336673d0527c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 356; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 356; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3696
- hash: "7e4ca5ba45d5de10d72ef5ab1171ead5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 357; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 357; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3712
- hash: "417bb78fc4f255194a71193e388b752f"
- }
- Frame {
- msec: 3728
- hash: "be63b1e57006d881a345db3ca66e7097"
- }
- Frame {
- msec: 3744
- hash: "e1b96137c2cc0ef18e224a32f665de9d"
- }
- Frame {
- msec: 3760
- hash: "6157ba3962fc7829e8693e2456fd6e8e"
- }
- Frame {
- msec: 3776
- hash: "951ae231b7b18517f8d6504ce7f01b3d"
- }
- Frame {
- msec: 3792
- hash: "57f60f9da1a204cc7eb930575de45ae4"
- }
- Frame {
- msec: 3808
- hash: "008323603b48a55b589af7cbb2f1c8b0"
- }
- Frame {
- msec: 3824
- hash: "b8447e994280cba5ccddc36e7ad3c927"
- }
- Frame {
- msec: 3840
- hash: "98dfc2d6573e5cb7a56a893b8fecf422"
- }
- Frame {
- msec: 3856
- image: "flickable-nested.4.png"
- }
- Frame {
- msec: 3872
- hash: "09dabc3ef85dc857719e7d20111e6023"
- }
- Frame {
- msec: 3888
- hash: "5864c4197fe3269c3f1ad05caf25832e"
- }
- Frame {
- msec: 3904
- hash: "370a471a614d22d281d9987a5b6a42bf"
- }
- Frame {
- msec: 3920
- hash: "36c74e2e325807c7c06e941581613f48"
- }
- Frame {
- msec: 3936
- hash: "e1e2b69992294dc611e6eef7e259d4cd"
- }
- Frame {
- msec: 3952
- hash: "e1e2b69992294dc611e6eef7e259d4cd"
- }
- Frame {
- msec: 3968
- hash: "e1e2b69992294dc611e6eef7e259d4cd"
- }
- Frame {
- msec: 3984
- hash: "36c74e2e325807c7c06e941581613f48"
- }
- Frame {
- msec: 4000
- hash: "36c74e2e325807c7c06e941581613f48"
- }
- Frame {
- msec: 4016
- hash: "bd8f39423d96fceaf577c7f792b61211"
- }
- Frame {
- msec: 4032
- hash: "370a471a614d22d281d9987a5b6a42bf"
- }
- Frame {
- msec: 4048
- hash: "c8fe4424d96460a2503632e3a54d4f6a"
- }
- Frame {
- msec: 4064
- hash: "09dabc3ef85dc857719e7d20111e6023"
- }
- Frame {
- msec: 4080
- hash: "22bff1406eba529d58320b8b19be76d9"
- }
- Frame {
- msec: 4096
- hash: "478bc04322b93b75b5185d047c2898b7"
- }
- Frame {
- msec: 4112
- hash: "98dfc2d6573e5cb7a56a893b8fecf422"
- }
- Frame {
- msec: 4128
- hash: "03b96d3e148e86f1150b09696012d07c"
- }
- Frame {
- msec: 4144
- hash: "735b24d2811beef969477c8b0f400d32"
- }
- Frame {
- msec: 4160
- hash: "b8399d2a7a6de0b5f81e68e8f8825622"
- }
- Frame {
- msec: 4176
- hash: "766a97e0881b623a0de93babfa841125"
- }
- Frame {
- msec: 4192
- hash: "008323603b48a55b589af7cbb2f1c8b0"
- }
- Frame {
- msec: 4208
- hash: "3da913235e4916b4691e3d089dc7b52f"
- }
- Frame {
- msec: 4224
- hash: "3da913235e4916b4691e3d089dc7b52f"
- }
- Frame {
- msec: 4240
- hash: "8c7f6ff7b3db65d7dd9ac4d18545f0d1"
- }
- Frame {
- msec: 4256
- hash: "8c7f6ff7b3db65d7dd9ac4d18545f0d1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 346; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4272
- hash: "8c7f6ff7b3db65d7dd9ac4d18545f0d1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 346; y: 98
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 346; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4288
- hash: "951ae231b7b18517f8d6504ce7f01b3d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 348; y: 110
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 348; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4304
- hash: "364283bbbcedabc87689ec174ae29818"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 351; y: 124
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 353; y: 129
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4320
- hash: "6a8a59ba8cf0539704fc035d7d5def41"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 358; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 361; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4336
- hash: "d4626b39fbf24cc6a4e23ef33a570add"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 370; y: 163
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4352
- hash: "255604ac684a18e272dccfa9a81fa1bb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 376; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4368
- hash: "2696641e48ea2a0ccfc65057b283814f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 377; y: 175
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 377; y: 175
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4384
- hash: "4ae011d8d81c57f9e2495d32a90fb5c0"
- }
- Frame {
- msec: 4400
- hash: "c07f57059244b1164e698430b20aac8e"
- }
- Frame {
- msec: 4416
- hash: "d39c21bc6fc079c76ea78d1a3fb0c974"
- }
- Frame {
- msec: 4432
- hash: "f955985ee02fcb810ab8c5f4790f5c12"
- }
- Frame {
- msec: 4448
- hash: "d06b83769bf0f0331e53c270f5dc294c"
- }
- Frame {
- msec: 4464
- hash: "a49ef3866e3f71c26c57fcd616a6dc4c"
- }
- Frame {
- msec: 4480
- hash: "086f4bb966b2076f51b1f615368afda5"
- }
- Frame {
- msec: 4496
- hash: "898de0b200cb83c9724869dd2b74ed52"
- }
- Frame {
- msec: 4512
- hash: "47833f93c5c55f57de5733950ba53714"
- }
- Frame {
- msec: 4528
- hash: "0ced71db7e8c5b8ce8e195a7b821507d"
- }
- Frame {
- msec: 4544
- hash: "84888b8748e297ed4e0525019865ea2b"
- }
- Frame {
- msec: 4560
- hash: "0f62d1aaa0fec0dd90351258a3745869"
- }
- Frame {
- msec: 4576
- hash: "e34a874942161ea830907f94040fc0a5"
- }
- Frame {
- msec: 4592
- hash: "9031e4ad8ee57a8b826d6a6394f0feb9"
- }
- Frame {
- msec: 4608
- hash: "9031e4ad8ee57a8b826d6a6394f0feb9"
- }
- Frame {
- msec: 4624
- hash: "cc8a2477368001015b68c99db95ebaa1"
- }
- Frame {
- msec: 4640
- hash: "01c0f4d5b155eb16ac364b24d5085bac"
- }
- Frame {
- msec: 4656
- hash: "4c4f318b03e0da461bcecb61f43ef3cd"
- }
- Frame {
- msec: 4672
- hash: "dffd22d719f18c943cd0c30afe272434"
- }
- Frame {
- msec: 4688
- hash: "4f7ab0450512ae1319dad22a6e0400b7"
- }
- Frame {
- msec: 4704
- hash: "ea29e23bdb49a30694640dfb078c796a"
- }
- Frame {
- msec: 4720
- hash: "80739ed287906d0b55297be4b74a54cb"
- }
- Frame {
- msec: 4736
- hash: "8d9117cf841c4b158f30b79ac8f2afb0"
- }
- Frame {
- msec: 4752
- hash: "1850e9117160b2bd1865274092f9ec84"
- }
- Frame {
- msec: 4768
- hash: "07945c8954860895f95f8e352c49e0a5"
- }
- Frame {
- msec: 4784
- hash: "d0fa6087d2859446ff8f317c9d7dafe1"
- }
- Frame {
- msec: 4800
- hash: "8ebba2084793d90a640ec2fb12dc0547"
- }
- Frame {
- msec: 4816
- image: "flickable-nested.5.png"
- }
- Frame {
- msec: 4832
- hash: "77d479675c36ecda0926061449f5a60b"
- }
- Frame {
- msec: 4848
- hash: "77d479675c36ecda0926061449f5a60b"
- }
- Frame {
- msec: 4864
- hash: "b968c1528ce7ecf80008fbd56f0ca9a9"
- }
- Frame {
- msec: 4880
- hash: "b968c1528ce7ecf80008fbd56f0ca9a9"
- }
- Frame {
- msec: 4896
- hash: "b968c1528ce7ecf80008fbd56f0ca9a9"
- }
- Frame {
- msec: 4912
- hash: "b968c1528ce7ecf80008fbd56f0ca9a9"
- }
- Frame {
- msec: 4928
- hash: "b968c1528ce7ecf80008fbd56f0ca9a9"
- }
- Frame {
- msec: 4944
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 4960
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 4976
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 4992
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5008
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5024
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5040
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5056
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5072
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5088
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5104
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5120
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5136
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5152
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5168
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5184
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5200
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5216
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5232
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5248
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5264
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5280
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5296
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5312
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5328
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5344
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5360
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5376
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5392
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5408
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5424
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5440
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5456
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5472
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5488
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5504
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5520
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5536
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5552
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5568
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5584
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5600
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5616
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5632
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5648
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5664
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5680
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
- Frame {
- msec: 5696
- hash: "38f29e86bd9bfe4df04c6411374f76ae"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png
deleted file mode 100644
index 5af9306b11..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png
deleted file mode 100644
index 61acc87efb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png
deleted file mode 100644
index bc6ac34722..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png
deleted file mode 100644
index bc6ac34722..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png
deleted file mode 100644
index c970488b51..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png
deleted file mode 100644
index 0af1424ce7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png
deleted file mode 100644
index c826907dbb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png
deleted file mode 100644
index 5af9306b11..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png
deleted file mode 100644
index f714fa5d0f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml
deleted file mode 100644
index 8ad3029b4b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/data/flickable-vertical.qml
+++ /dev/null
@@ -1,3647 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "flickable-vertical.0.png"
- }
- Frame {
- msec: 32
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 48
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 64
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 80
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 96
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 112
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 128
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 144
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 160
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 176
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 192
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 208
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 224
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 240
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 256
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 272
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 288
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 159; y: 207
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 304
- hash: "71a0273e7582419e07937fe701d8e027"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 159; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 320
- hash: "71a0273e7582419e07937fe701d8e027"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 159; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 159; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 336
- hash: "71a0273e7582419e07937fe701d8e027"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 159; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 157; y: 190
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 352
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 155; y: 176
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 153; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 368
- hash: "a8d53f622836800e43157685ce21fad4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 151; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 148; y: 118
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 384
- hash: "99c8215fbd87e45836908a85748dccc7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 146; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 141; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 400
- hash: "d56ff1a2994f1acb5ad06b0468672a29"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 136; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 136; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 416
- hash: "85ba01e36cc978459451887facbc3260"
- }
- Frame {
- msec: 432
- hash: "958d223a6b27ecc87febd860168d5aa5"
- }
- Frame {
- msec: 448
- hash: "851ef5f56b7b05d3feb0a1a357f96007"
- }
- Frame {
- msec: 464
- hash: "4d90460d3b6c46075ffda426bc6ceaa6"
- }
- Frame {
- msec: 480
- hash: "bb67acd602414cf59e27b5ff19f69169"
- }
- Frame {
- msec: 496
- hash: "acce28653f8bf46c09067254774fb126"
- }
- Frame {
- msec: 512
- hash: "91ea2538dfe0f9af7b4732cb4474215b"
- }
- Frame {
- msec: 528
- hash: "e7fd52f25a4a9c31a2f2fabd59c31160"
- }
- Frame {
- msec: 544
- hash: "6acdb4852ef9091382030998e28d02a5"
- }
- Frame {
- msec: 560
- hash: "10c7eaab96a538a7111b054a403132a3"
- }
- Frame {
- msec: 576
- hash: "4ebb31f7945bb5542f9e5146888b1065"
- }
- Frame {
- msec: 592
- hash: "b98d594580ad701afb4d2ef186853bc4"
- }
- Frame {
- msec: 608
- hash: "2700eb44f9b7400f3c1bd11d878e078d"
- }
- Frame {
- msec: 624
- hash: "b8a8c4db8325b3e0292e6473084347d9"
- }
- Frame {
- msec: 640
- hash: "88ff05697e82e78847794b153be12c46"
- }
- Frame {
- msec: 656
- hash: "06970943c3cd12f07b1d661de0ab730f"
- }
- Frame {
- msec: 672
- hash: "5804b412094ab17424de4ba12b2e2e32"
- }
- Frame {
- msec: 688
- hash: "8ff038b364f065e67430b2a312a10101"
- }
- Frame {
- msec: 704
- hash: "8a9a1c725b80af8fd3ffb9d8bc7328ac"
- }
- Frame {
- msec: 720
- hash: "83c3481ec7a1dddcbc36d6fb9b7d6149"
- }
- Frame {
- msec: 736
- hash: "abf102e5d88bef8ed429c222284907da"
- }
- Frame {
- msec: 752
- hash: "e9bcb3268f705e708ffbcf707c78c889"
- }
- Frame {
- msec: 768
- hash: "918c60c1ed90f5803d24ea515f21f8fa"
- }
- Frame {
- msec: 784
- hash: "f3064485083025aba09224faafcede14"
- }
- Frame {
- msec: 800
- hash: "9f36e5b91e6abc9f991625cc52afdd4e"
- }
- Frame {
- msec: 816
- hash: "70a50039fbd67d4b56c0c7ec3d7aecd1"
- }
- Frame {
- msec: 832
- hash: "90bbef58e2e59021f68b878db477f74b"
- }
- Frame {
- msec: 848
- hash: "21480d7b949acba033f4686c666d3f85"
- }
- Frame {
- msec: 864
- hash: "b622d2cea2428fb92a8e37715a60f195"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 109; y: 69
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 880
- hash: "b622d2cea2428fb92a8e37715a60f195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 110; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 110; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 896
- hash: "b622d2cea2428fb92a8e37715a60f195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 110; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 912
- hash: "8b537cd0481c1a9bf84f4855ae5697ad"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 89
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 113; y: 104
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 928
- hash: "f5aba503b2c155401d26be068724e28a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 135
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 944
- hash: "1aca5a9415dd669a0ff76ef4da9c9a56"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 120; y: 183
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 960
- hash: "b046e18396cd3d2da6505fa783bd2b89"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 124; y: 230
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 124; y: 230
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 976
- image: "flickable-vertical.1.png"
- }
- Frame {
- msec: 992
- hash: "c4506098417f905871a43d183cd5904d"
- }
- Frame {
- msec: 1008
- hash: "fe8014819e6fe41fa109f5b0ff2e9764"
- }
- Frame {
- msec: 1024
- hash: "6acdb4852ef9091382030998e28d02a5"
- }
- Frame {
- msec: 1040
- hash: "d5a9739669a9a641c0c1f44b777cb9b8"
- }
- Frame {
- msec: 1056
- hash: "a4006cb90c69313b9b04a6b7b8734855"
- }
- Frame {
- msec: 1072
- hash: "23b447e486a6354354505171cf3c45ec"
- }
- Frame {
- msec: 1088
- hash: "ad172b89d9764bd568d9127c91547c0b"
- }
- Frame {
- msec: 1104
- hash: "0003fb6329e0bf293d56af63265bf0ca"
- }
- Frame {
- msec: 1120
- hash: "dd62960e62800219c179fcd481e4504d"
- }
- Frame {
- msec: 1136
- hash: "7fe6c7bd1bc9e46d3e520178a2309e87"
- }
- Frame {
- msec: 1152
- hash: "bb67acd602414cf59e27b5ff19f69169"
- }
- Frame {
- msec: 1168
- hash: "3170c18b8dd74429b0f366ec07f4870b"
- }
- Frame {
- msec: 1184
- hash: "249e4e489236e3f0748ba63c7a105b33"
- }
- Frame {
- msec: 1200
- hash: "bd2fb97c583e6fe653a32fa610d6ac83"
- }
- Frame {
- msec: 1216
- hash: "95ca2f988370075070c6a98e5e680206"
- }
- Frame {
- msec: 1232
- hash: "851ef5f56b7b05d3feb0a1a357f96007"
- }
- Frame {
- msec: 1248
- hash: "80f599f50af9e601536f62ea93f4e429"
- }
- Frame {
- msec: 1264
- hash: "485d719d81429e63be4de1ba81d53996"
- }
- Frame {
- msec: 1280
- hash: "745f3c2e0baede59a52805eddac5b01f"
- }
- Frame {
- msec: 1296
- hash: "fea3fa6e26eb150ab37fe96a34d3be3b"
- }
- Frame {
- msec: 1312
- hash: "29c8004517294539adf3243533381436"
- }
- Frame {
- msec: 1328
- hash: "85ba01e36cc978459451887facbc3260"
- }
- Frame {
- msec: 1344
- hash: "deedb9ddcc2f5354a2356178db54d971"
- }
- Frame {
- msec: 1360
- hash: "9e1fb461c13b4affa39e5909d3ade168"
- }
- Frame {
- msec: 1376
- hash: "684a543d7afc5a5cac2bb823bbb94893"
- }
- Frame {
- msec: 1392
- hash: "636f04661a0418c1fdcaaaba28092671"
- }
- Frame {
- msec: 1408
- hash: "89cac82b6751208654d1e4ef4df8ef28"
- }
- Frame {
- msec: 1424
- hash: "a974415dcf31bee79874c4a6e84cf796"
- }
- Frame {
- msec: 1440
- hash: "f74c075e8cf2aef501b7115427b3b221"
- }
- Frame {
- msec: 1456
- hash: "7efcd27e34db1d3adc3d31e0b9ebe432"
- }
- Frame {
- msec: 1472
- hash: "c8747327ae3370b04a996aa6b5e373c6"
- }
- Frame {
- msec: 1488
- hash: "b7b32b5e782f8f5b1cbd6f581f90004a"
- }
- Frame {
- msec: 1504
- hash: "5fda56f77948e183557ff54690030746"
- }
- Frame {
- msec: 1520
- hash: "6e43987a8db7a6231887cf5883d381bf"
- }
- Frame {
- msec: 1536
- hash: "901e1f9851d05ff300fa2d52a38829ec"
- }
- Frame {
- msec: 1552
- hash: "abda2edf3c9f1aa28f41bf28083d081f"
- }
- Frame {
- msec: 1568
- hash: "5e324e90e4056f59730db9fbc941609a"
- }
- Frame {
- msec: 1584
- hash: "d98ec6ad7e6f2df6796f975cdf06ea2c"
- }
- Frame {
- msec: 1600
- hash: "fa62c8154b5aba9fa6daa0a50229e752"
- }
- Frame {
- msec: 1616
- hash: "c03b7e52c7da4f1cb6a4a2cab119a1a1"
- }
- Frame {
- msec: 1632
- hash: "57c1149d35ed84de63bac7accdb30c77"
- }
- Frame {
- msec: 1648
- hash: "48823d7e5b72ff6e11bbe877962c9884"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 44; y: 282
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1664
- hash: "99c8215fbd87e45836908a85748dccc7"
- }
- Frame {
- msec: 1680
- hash: "45e2cf43322f038d2b322dea82e829f1"
- }
- Frame {
- msec: 1696
- hash: "6473a0dc426bf118674d09b281fb6c38"
- }
- Frame {
- msec: 1712
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 44; y: 282
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1728
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1744
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1760
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1776
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1792
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1808
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1824
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1840
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1856
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1872
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1888
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1904
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1920
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1936
- image: "flickable-vertical.2.png"
- }
- Frame {
- msec: 1952
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1968
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 1984
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2000
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2016
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2032
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2048
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2064
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2080
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 95; y: 222
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 221
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2096
- hash: "5f6ed58401fddd692503810f22b23e93"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 220
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 218
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2112
- hash: "5f6ed58401fddd692503810f22b23e93"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 212
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2128
- hash: "5f6ed58401fddd692503810f22b23e93"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 195
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2144
- hash: "5f6ed58401fddd692503810f22b23e93"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 184
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 168
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2160
- hash: "5f6ed58401fddd692503810f22b23e93"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 99; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 99; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2176
- hash: "5f6ed58401fddd692503810f22b23e93"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 101; y: 125
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 101; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2192
- hash: "5f6ed58401fddd692503810f22b23e93"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 101; y: 99
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 101; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2208
- hash: "5f6ed58401fddd692503810f22b23e93"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 103; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 103; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2224
- hash: "5f6ed58401fddd692503810f22b23e93"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 103; y: 53
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 103; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 103; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2240
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2256
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2272
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2288
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2304
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2320
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2336
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2352
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2368
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2384
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2400
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2416
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2432
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2448
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2464
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2480
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2496
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2512
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2528
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 90; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2544
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2560
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2576
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2592
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2608
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 94; y: 65
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2624
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 99; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2640
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 101; y: 129
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 103; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2656
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 105; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 105; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2672
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 107; y: 192
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2688
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 219
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 230
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2704
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 235
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 238
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2720
- hash: "defd2e26ba579dffd2273bcc86c54a94"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 111; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2736
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2752
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2768
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2784
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2800
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2816
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2832
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2848
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2864
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2880
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2896
- image: "flickable-vertical.3.png"
- }
- Frame {
- msec: 2912
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2928
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2944
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2960
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2976
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 2992
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3008
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3024
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3040
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3056
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3072
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3088
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3104
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3120
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3136
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 43; y: 269
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3152
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3168
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3184
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3200
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3216
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 43; y: 269
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3232
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3248
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3264
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3280
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3296
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3312
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3328
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3344
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3360
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3376
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3392
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3408
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3424
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3440
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3456
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3472
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 75; y: 279
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3488
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3504
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3520
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3536
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 75; y: 279
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3552
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3568
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3584
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3600
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3616
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3632
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3648
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3664
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3680
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3696
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3712
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3728
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Frame {
- msec: 3744
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 116; y: 200
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 116; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 117; y: 198
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3776
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 117; y: 195
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 117; y: 190
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3792
- hash: "8caa38000edef97a8276022b5da19ecc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 183
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 120; y: 166
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3808
- hash: "abda2edf3c9f1aa28f41bf28083d081f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 124; y: 123
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3824
- hash: "1a0305de0a8156f3f059d74891b71846"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 128; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3840
- hash: "04c2fbbb1df6ca9d03c105fcfa5c0770"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 130; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 133; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3856
- image: "flickable-vertical.4.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 135; y: -6
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 138; y: -27
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3872
- hash: "4ebb31f7945bb5542f9e5146888b1065"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 140; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3888
- hash: "2a731429c6d5c4ee1f1fa8f3ca07f0c2"
- }
- Frame {
- msec: 3904
- hash: "b8a8c4db8325b3e0292e6473084347d9"
- }
- Frame {
- msec: 3920
- hash: "fae53bd8bc9d05f343968c7006723207"
- }
- Frame {
- msec: 3936
- hash: "fe2fc28a79609af32ea1043f3c988b08"
- }
- Frame {
- msec: 3952
- hash: "18f77a48b14347b2ab41eb39c9de3be4"
- }
- Frame {
- msec: 3968
- hash: "93e83c35d34715ee703a0d79d51bc145"
- }
- Frame {
- msec: 3984
- hash: "4ae9d80d6079b92be66fcc099209d779"
- }
- Frame {
- msec: 4000
- hash: "bd8c0a924552cb4dfc5ddc1451931b01"
- }
- Frame {
- msec: 4016
- hash: "6a1874cdac6f754b36f022c583834d32"
- }
- Frame {
- msec: 4032
- hash: "f3064485083025aba09224faafcede14"
- }
- Frame {
- msec: 4048
- hash: "8e82568ac62969dfedbf1c2082101661"
- }
- Frame {
- msec: 4064
- hash: "4e447efea0dd139787c7aa9018327206"
- }
- Frame {
- msec: 4080
- hash: "ed23778ce6843053cd4af6df7262bdd0"
- }
- Frame {
- msec: 4096
- hash: "fe1118cc51b4cd25d775b5d1c1d66540"
- }
- Frame {
- msec: 4112
- hash: "02a59ccc15df26abe5612f13ce926286"
- }
- Frame {
- msec: 4128
- hash: "71c43a208e3dfbce6cb461f8ff0d2f17"
- }
- Frame {
- msec: 4144
- hash: "404b8155f17dff084c2da1407d6915a9"
- }
- Frame {
- msec: 4160
- hash: "ab0dba54c469dea461cd1619161edd82"
- }
- Frame {
- msec: 4176
- hash: "e6f158712a7afe1844acc1a1cd9385ec"
- }
- Frame {
- msec: 4192
- hash: "b9d8fcc3d68ebc6d4d4f60e4652befe3"
- }
- Frame {
- msec: 4208
- hash: "9005a49b3ac2ef2344d78ef68595ea26"
- }
- Frame {
- msec: 4224
- hash: "aad3dd90f766320ad68b62b97559ec02"
- }
- Frame {
- msec: 4240
- hash: "a39008d78d188e8bd3571f80f679a915"
- }
- Frame {
- msec: 4256
- hash: "cedc580acc63d6a069442bb83f17b6f8"
- }
- Frame {
- msec: 4272
- hash: "f63f5d20e3b5a4b6247339d0ec518449"
- }
- Frame {
- msec: 4288
- hash: "f63f5d20e3b5a4b6247339d0ec518449"
- }
- Frame {
- msec: 4304
- hash: "cedc580acc63d6a069442bb83f17b6f8"
- }
- Frame {
- msec: 4320
- hash: "bccf94c11e92af36f418dbee1b797a86"
- }
- Frame {
- msec: 4336
- hash: "a39008d78d188e8bd3571f80f679a915"
- }
- Frame {
- msec: 4352
- hash: "02d38396737a262fa983511a40514b38"
- }
- Frame {
- msec: 4368
- hash: "9005a49b3ac2ef2344d78ef68595ea26"
- }
- Frame {
- msec: 4384
- hash: "c05dad606a9b5b501a201bfead974f03"
- }
- Frame {
- msec: 4400
- hash: "27846f086c13e1b06e89a8a395802678"
- }
- Frame {
- msec: 4416
- hash: "f919b09b6f7f4f09b5d9b123b686a442"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 136; y: 176
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4432
- hash: "f919b09b6f7f4f09b5d9b123b686a442"
- }
- Frame {
- msec: 4448
- hash: "f919b09b6f7f4f09b5d9b123b686a442"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 136; y: 175
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4464
- hash: "f919b09b6f7f4f09b5d9b123b686a442"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 136; y: 173
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 136; y: 168
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4480
- hash: "ab0dba54c469dea461cd1619161edd82"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 134; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 133; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4496
- hash: "aad3dd90f766320ad68b62b97559ec02"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 130; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 128; y: 98
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4512
- hash: "09e110197afc9350dbbaf3e19e24dbe8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 124; y: 59
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4528
- hash: "c50fa7aa75b947d065109c97a0db4c02"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 120; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4544
- hash: "e701f8ef23f576f10c286191ea4caaf1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 120; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 118; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4560
- hash: "c24daebe9c5ba9bd46ef674c49edd160"
- }
- Frame {
- msec: 4576
- hash: "fc762235395c772666d2529a5e9bff98"
- }
- Frame {
- msec: 4592
- hash: "7f4f4420fde62e6126f0c3bf604425dc"
- }
- Frame {
- msec: 4608
- hash: "0e9978b0f60cba7bf599571b97f2f751"
- }
- Frame {
- msec: 4624
- hash: "ff19d1b0a0d7d0cc5dd8919606c17fc8"
- }
- Frame {
- msec: 4640
- hash: "7c61e0a6c354b4f30db6c861b9250be2"
- }
- Frame {
- msec: 4656
- hash: "bd1196ce51f5abd53f6052f17d926a81"
- }
- Frame {
- msec: 4672
- hash: "ab2b1c33a5f60690fe2724a0ddd3bb67"
- }
- Frame {
- msec: 4688
- hash: "0a0709d2649d649ab52eaddbe60c1dc9"
- }
- Frame {
- msec: 4704
- hash: "ef3b3099811cc2e26d823d94c5b66f1d"
- }
- Frame {
- msec: 4720
- hash: "522683305b2706b6e22d0e1770f285d6"
- }
- Frame {
- msec: 4736
- hash: "c08d933b3dbda5fc476ed673cd7a2e4a"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 111; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4752
- hash: "c08d933b3dbda5fc476ed673cd7a2e4a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4768
- hash: "ab0dba54c469dea461cd1619161edd82"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 112; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4784
- hash: "d23653a4e1651babdbb3561fb7029df2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 112; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 114; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4800
- hash: "702d94cbca1ba235a5a2cc30c552d8b7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 114; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4816
- image: "flickable-vertical.5.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 117; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4832
- hash: "f53134176897d55299ab723ab20ba3fc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 120; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 202
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4848
- hash: "84146c913b41215c4bab1f36471f2b7b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 127; y: 224
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 129; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 129; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4864
- hash: "2a731429c6d5c4ee1f1fa8f3ca07f0c2"
- }
- Frame {
- msec: 4880
- hash: "a1e960ffef391daecb52d31698c7b06c"
- }
- Frame {
- msec: 4896
- hash: "adca54c132f170c517f1ef17c45006c8"
- }
- Frame {
- msec: 4912
- hash: "4ebb31f7945bb5542f9e5146888b1065"
- }
- Frame {
- msec: 4928
- hash: "c43ebd04137e379216c94b4c57cab3d9"
- }
- Frame {
- msec: 4944
- hash: "c0218c548f5e3eb74ef33cb2921dbc96"
- }
- Frame {
- msec: 4960
- hash: "e6a15947574c7ac8e5a2454a5f8b043d"
- }
- Frame {
- msec: 4976
- hash: "ec9aca63b61a8c3beb4ad476d4e38568"
- }
- Frame {
- msec: 4992
- hash: "28f0447e8107d7fac9ec29b83808d2cb"
- }
- Frame {
- msec: 5008
- hash: "74e28cddf8dd7bd7593c7185e09ea752"
- }
- Frame {
- msec: 5024
- hash: "23b447e486a6354354505171cf3c45ec"
- }
- Frame {
- msec: 5040
- hash: "3e3948addc7236ff8638863786dfe045"
- }
- Frame {
- msec: 5056
- hash: "49885ec2f3242fc3ba9c9b808b3bb491"
- }
- Frame {
- msec: 5072
- hash: "0c12fc65a0298af1a1ec3bccfcdb20ab"
- }
- Frame {
- msec: 5088
- hash: "49c71089343b963fd8b3587eb1d5d457"
- }
- Frame {
- msec: 5104
- hash: "f083682e9bce74022baeafcb26870adb"
- }
- Frame {
- msec: 5120
- hash: "5bd49eab3fd8b246659b51d4602ea391"
- }
- Frame {
- msec: 5136
- hash: "3170c18b8dd74429b0f366ec07f4870b"
- }
- Frame {
- msec: 5152
- hash: "d82de8b7c5a144b20085f447cf041350"
- }
- Frame {
- msec: 5168
- hash: "60e520c52c5b87c686294a23d96dbd11"
- }
- Frame {
- msec: 5184
- hash: "bb5b6cb5862e28a7f309ef5c7cf2b5dd"
- }
- Frame {
- msec: 5200
- hash: "b9e255376ad0b74b2c9be6e694f84d90"
- }
- Frame {
- msec: 5216
- hash: "e7527c7c8cb2f8c9e5ce32be98612837"
- }
- Frame {
- msec: 5232
- hash: "8f8547a6508b156d514c6d4a61d18424"
- }
- Frame {
- msec: 5248
- hash: "99b4220101d400b49346ca023799c8fe"
- }
- Frame {
- msec: 5264
- hash: "2d83cf7c5f93aad4f9dcadcfdbb08fa3"
- }
- Frame {
- msec: 5280
- hash: "c9ea64aa7000008ad9032cddd898767c"
- }
- Frame {
- msec: 5296
- hash: "4c37b188261e927f72725484d08ac9e1"
- }
- Frame {
- msec: 5312
- hash: "29c8004517294539adf3243533381436"
- }
- Frame {
- msec: 5328
- hash: "b5126298ebb61d6ab5ae58822c9380ca"
- }
- Frame {
- msec: 5344
- hash: "7b546c089dca57353b4867af724ea370"
- }
- Frame {
- msec: 5360
- hash: "deedb9ddcc2f5354a2356178db54d971"
- }
- Frame {
- msec: 5376
- hash: "9e1fb461c13b4affa39e5909d3ade168"
- }
- Frame {
- msec: 5392
- hash: "dbb54d7d203c99d466b1a173fb90c148"
- }
- Frame {
- msec: 5408
- hash: "0a67ef028264551c1122f4d8a0b07c20"
- }
- Frame {
- msec: 5424
- hash: "636f04661a0418c1fdcaaaba28092671"
- }
- Frame {
- msec: 5440
- hash: "de8946eb6317277b580cbf6a38a85a29"
- }
- Frame {
- msec: 5456
- hash: "45dd5e856c10ef2e5a9b968044802096"
- }
- Frame {
- msec: 5472
- hash: "a974415dcf31bee79874c4a6e84cf796"
- }
- Frame {
- msec: 5488
- hash: "58dab05300d4c83ba084c8bef6a04958"
- }
- Frame {
- msec: 5504
- hash: "f74c075e8cf2aef501b7115427b3b221"
- }
- Frame {
- msec: 5520
- hash: "7fd3e958115134b2f15cc6d3e01cbcfe"
- }
- Frame {
- msec: 5536
- hash: "7efcd27e34db1d3adc3d31e0b9ebe432"
- }
- Frame {
- msec: 5552
- hash: "2229621b9ad55dddce371061584a4dfd"
- }
- Frame {
- msec: 5568
- hash: "c8747327ae3370b04a996aa6b5e373c6"
- }
- Frame {
- msec: 5584
- hash: "677f52c273dda1f878bfea43b6353aaa"
- }
- Frame {
- msec: 5600
- hash: "d29de2f0505bdaca1e3443812a588fb1"
- }
- Frame {
- msec: 5616
- hash: "71f3088ea8794a232ee08c6b0ad72e98"
- }
- Frame {
- msec: 5632
- hash: "3733ba52e740ea8438967cb03c619368"
- }
- Frame {
- msec: 5648
- hash: "5fda56f77948e183557ff54690030746"
- }
- Frame {
- msec: 5664
- hash: "5996c2fc31ff3a13e1f3a23a230aad9a"
- }
- Frame {
- msec: 5680
- hash: "90b9b19f9f6aef7279b1199ca7b34b07"
- }
- Frame {
- msec: 5696
- hash: "05b4559167ff77d07bb3063b87c4e621"
- }
- Frame {
- msec: 5712
- hash: "6e43987a8db7a6231887cf5883d381bf"
- }
- Frame {
- msec: 5728
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5744
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5760
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5776
- image: "flickable-vertical.6.png"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 102; y: 279
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5792
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5808
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5824
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5840
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 102; y: 279
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5856
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5872
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5888
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5904
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5920
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5936
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5952
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5968
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 5984
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6000
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6016
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6032
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6048
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6064
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 148; y: 276
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6080
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6096
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6112
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6128
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6144
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 148; y: 276
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6160
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6176
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6192
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6208
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6224
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6240
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6256
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6272
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6288
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6304
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6320
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6336
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6352
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6368
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Frame {
- msec: 6384
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 129; y: 101
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6400
- hash: "9b748b3b85f63d7f62cd916b0bf4357c"
- }
- Frame {
- msec: 6416
- hash: "9b748b3b85f63d7f62cd916b0bf4357c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 129; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 129; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6432
- hash: "9b748b3b85f63d7f62cd916b0bf4357c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 130; y: 110
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 132; y: 123
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6448
- hash: "351d95ba7bc01ea8d4991883885ca537"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 132; y: 133
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 134; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6464
- hash: "2c84bdd7066c8fd8c66b022783c6fcfe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 136; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 138; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6480
- hash: "ffe18300d9ce72e2d4e191c473a6973c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 138; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6496
- hash: "427720fdd38ff4310c8040b1a5a5f84f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 141; y: 224
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6512
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 143; y: 235
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 143; y: 246
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6528
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 143; y: 257
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 145; y: 269
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6544
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 145; y: 278
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 145; y: 289
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6560
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 147; y: 299
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 147; y: 308
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6576
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 149; y: 316
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 149; y: 318
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6592
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 149; y: 320
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 149; y: 321
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 149; y: 321
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6608
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6624
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6640
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6656
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6672
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6688
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6704
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6720
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6736
- image: "flickable-vertical.7.png"
- }
- Frame {
- msec: 6752
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6768
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6784
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6800
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6816
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6832
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6848
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6864
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6880
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6896
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6912
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6928
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6944
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6960
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6976
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Frame {
- msec: 6992
- hash: "08a827d109c78ff0d82ed7b6ef8d55b9"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 166; y: 191
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7008
- hash: "ff198f6b27379e64b901b37e0cf1e98b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 167; y: 190
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 167; y: 189
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7024
- hash: "ff198f6b27379e64b901b37e0cf1e98b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 167; y: 188
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 185
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7040
- hash: "ff198f6b27379e64b901b37e0cf1e98b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 169; y: 183
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 169; y: 179
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7056
- hash: "61d410fdbe0ee8a41e9c7b25eb2901a7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 170; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 170; y: 162
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7072
- hash: "8e27d1db841047a115561861a1c20e67"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 150
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 167; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7088
- hash: "7599e2f206da8b46dcaf35a4a7858747"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 165; y: 125
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 163; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7104
- hash: "45e2cf43322f038d2b322dea82e829f1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 161; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 160; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7120
- hash: "0170b6aff2eab67213fc4f2883be1db9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 158; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 156; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7136
- hash: "23ef985de50ae4600d8f62ed4c91edc9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 154; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 154; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7152
- hash: "a69e534df84e406e06ca94e2221c97f1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 152; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 150; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 150; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7168
- hash: "99b4220101d400b49346ca023799c8fe"
- }
- Frame {
- msec: 7184
- hash: "80f599f50af9e601536f62ea93f4e429"
- }
- Frame {
- msec: 7200
- hash: "e211b4a9e0059eaf7a3654121ed6b7a4"
- }
- Frame {
- msec: 7216
- hash: "ef0997291fb3323c877b65847905f7c3"
- }
- Frame {
- msec: 7232
- hash: "95ca2f988370075070c6a98e5e680206"
- }
- Frame {
- msec: 7248
- hash: "bb5b6cb5862e28a7f309ef5c7cf2b5dd"
- }
- Frame {
- msec: 7264
- hash: "958e9074dfa2392db05fb3f532573519"
- }
- Frame {
- msec: 7280
- hash: "4d90460d3b6c46075ffda426bc6ceaa6"
- }
- Frame {
- msec: 7296
- hash: "d82de8b7c5a144b20085f447cf041350"
- }
- Frame {
- msec: 7312
- hash: "4d5d1c8470df16097c51517e750ef6be"
- }
- Frame {
- msec: 7328
- hash: "3170c18b8dd74429b0f366ec07f4870b"
- }
- Frame {
- msec: 7344
- hash: "35b4e282089b4f7e8cc60aaf6635a0f7"
- }
- Frame {
- msec: 7360
- hash: "bb67acd602414cf59e27b5ff19f69169"
- }
- Frame {
- msec: 7376
- hash: "0135220633c5aebe964b596f3c1bae27"
- }
- Frame {
- msec: 7392
- hash: "b4a996bdc1ccae96f84e285b212a19a3"
- }
- Frame {
- msec: 7408
- hash: "7fe6c7bd1bc9e46d3e520178a2309e87"
- }
- Frame {
- msec: 7424
- hash: "b803764915a58bd59aed1223bd7c67d7"
- }
- Frame {
- msec: 7440
- hash: "49c71089343b963fd8b3587eb1d5d457"
- }
- Frame {
- msec: 7456
- hash: "d2e577eecdf6fc9ecadf500896e0ff46"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 109; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7472
- hash: "d2e577eecdf6fc9ecadf500896e0ff46"
- }
- Frame {
- msec: 7488
- hash: "d2e577eecdf6fc9ecadf500896e0ff46"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 170
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 168
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7504
- hash: "d2e577eecdf6fc9ecadf500896e0ff46"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7520
- hash: "21bf0affeaf1033e59a99bed9efeb80d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 135
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 116
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7536
- hash: "c4506098417f905871a43d183cd5904d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 104; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7552
- hash: "fdf8dfa53431f930b01e667b3b86c7a1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 102; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 100; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7568
- hash: "a94e05f80f0f8d3af13678318fd91416"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 100; y: -2
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 100; y: -2
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7584
- hash: "bd8c0a924552cb4dfc5ddc1451931b01"
- }
- Frame {
- msec: 7600
- hash: "ed5bab2126fb459989b7ea0e44da6776"
- }
- Frame {
- msec: 7616
- hash: "756fc80a88e6f5d28f9c6bba771355c5"
- }
- Frame {
- msec: 7632
- hash: "640c092db0d2a523ce0cdc961e64124a"
- }
- Frame {
- msec: 7648
- hash: "097582f1b42c16d41f4413755ac15c3e"
- }
- Frame {
- msec: 7664
- hash: "67ef5e3297fe5605bd41a72681899f48"
- }
- Frame {
- msec: 7680
- hash: "91452c52c309b7d90c7ccca3fc9ae8b2"
- }
- Frame {
- msec: 7696
- image: "flickable-vertical.8.png"
- }
- Frame {
- msec: 7712
- hash: "ebef3c7095abadf45855fe75cbf3d358"
- }
- Frame {
- msec: 7728
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7744
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7760
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7776
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7792
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7808
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7824
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7840
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7856
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7872
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7888
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7904
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7920
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7936
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7952
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7968
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 7984
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8000
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8016
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8032
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8048
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8064
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8080
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8096
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8112
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8128
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8144
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8160
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8176
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8192
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8208
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8224
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8240
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8256
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8272
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8288
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8304
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8320
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8336
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8352
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8368
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8384
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8400
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
- Frame {
- msec: 8416
- hash: "97b167a5a76d6b71713d25508ed360f0"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-horizontal.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-horizontal.qml
deleted file mode 100644
index 8aa2389a30..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-horizontal.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "lightSteelBlue"
- width: 600; height: 300
-
- ListModel {
- id: list
- ListElement { dayColor: "steelblue" }
- ListElement { dayColor: "blue" }
- ListElement { dayColor: "yellow" }
- ListElement { dayColor: "purple" }
- ListElement { dayColor: "red" }
- ListElement { dayColor: "green" }
- ListElement { dayColor: "orange" }
- }
-
- Flickable {
- id: flickable
- anchors.fill: parent; contentWidth: row.width
-
- Row {
- id: row
- Repeater {
- model: list
- Rectangle { width: 200; height: 300; color: dayColor }
- }
- }
- }
- Rectangle {
- radius: 3
- y: flickable.height-8
- height: 8
- x: flickable.visibleArea.xPosition * flickable.width
- width: flickable.visibleArea.widthRatio * flickable.width
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-nested.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-nested.qml
deleted file mode 100644
index 9335b9e345..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-nested.qml
+++ /dev/null
@@ -1,50 +0,0 @@
-import QtQuick 1.0
-
-Item {
- width: 640
- height: 400
-
- Flickable {
- objectName: "flick 1"
- anchors.fill: parent
- contentWidth: width + 100
- contentHeight: height + 100
-
- Rectangle {
- width: 300
- height: 300
- color: "blue"
-
- Flickable {
- objectName: "flick 2"
- width: 300
- height: 300
- clip: true
- contentWidth: 400
- contentHeight: 400
-
- Rectangle {
- width: 100
- height: 100
- anchors.centerIn: parent
- color: "yellow"
-
- Flickable {
- objectName: "flick 3"
- anchors.fill: parent
- clip: true
- contentWidth: 150
- contentHeight: 150
- Rectangle {
- x: 80
- y: 80
- width: 50
- height: 50
- color: "green"
- }
- }
- }
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-vertical.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-vertical.qml
deleted file mode 100644
index 1fd65d17de..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflickable/flickable-vertical.qml
+++ /dev/null
@@ -1,90 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "lightSteelBlue"
- width: 200; height: 300
-
- ListModel {
- id: list
- ListElement { dayColor: "steelblue" }
- ListElement { dayColor: "blue" }
- ListElement { dayColor: "yellow" }
- ListElement { dayColor: "purple" }
- ListElement { dayColor: "red" }
- ListElement { dayColor: "green" }
- ListElement { dayColor: "orange" }
- }
-
- Flickable {
- id: flick
- height: parent.height-50
- width: parent.width; contentHeight: column.height
-
- Column {
- id: column
- Repeater {
- model: list
- Rectangle { width: 200; height: 100; color: mr.pressed ? "black" : dayColor
- MouseArea {
- id: mr
- anchors.fill: parent
- }
- }
- }
- }
- clip: true
- }
- Rectangle {
- radius: 3
- x: flick.width-8
- width: 8
- y: flick.visibleArea.yPosition * flick.height
- height: flick.visibleArea.heightRatio * flick.height
- }
-
- // click to toggle interactive flag
- Rectangle {
- width: 64
- height: 48
- y: parent.height - 50
- color: "red"
- MouseArea {
- anchors.fill: parent
- onClicked: flick.interactive = flick.interactive ? false : true
- }
- }
-
- // click to toggle click delay
- Rectangle {
- width: 64
- height: 48
- x: 66
- y: parent.height - 50
- color: "green"
- MouseArea {
- anchors.fill: parent
- onClicked: flick.pressDelay = flick.pressDelay > 0 ? 0 : 500
- }
- }
-
- // click to toggle overshoot
- Rectangle {
- width: 64
- height: 48
- x: 130
- y: parent.height - 50
- color: "yellow"
- MouseArea {
- anchors.fill: parent
- onClicked: flick.boundsBehavior = flick.boundsBehavior == Flickable.StopAtBounds ? Flickable.DragAndOvershootBounds : Flickable.StopAtBounds
- }
- }
-
- Rectangle {
- width: Math.abs(flick.verticalVelocity)/100
- height: 50
- x: 200
- y: parent.height - 50
- color: "blue"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png
deleted file mode 100644
index b3ae1bcca7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.1.png
deleted file mode 100644
index 0458d82dd9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.2.png
deleted file mode 100644
index 0e01afc3ca..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.3.png
deleted file mode 100644
index b256bc2301..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.4.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.4.png
deleted file mode 100644
index 8454ed241f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.5.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.5.png
deleted file mode 100644
index 177a0fe9a0..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.6.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.6.png
deleted file mode 100644
index a51cffeb5f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml
deleted file mode 100644
index 2d362a42e2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test-flipable.qml
+++ /dev/null
@@ -1,1623 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "test-flipable.0.png"
- }
- Frame {
- msec: 32
- hash: "7e16e6360fc2e9db67dbf11d58042745"
- }
- Frame {
- msec: 48
- hash: "7e16e6360fc2e9db67dbf11d58042745"
- }
- Frame {
- msec: 64
- hash: "06d7f0befa7e06972983ffe87c162750"
- }
- Frame {
- msec: 80
- hash: "51dff66a7767e3464fda60f2cf906700"
- }
- Frame {
- msec: 96
- hash: "f8038dc4b67b92ef776a97589240e8c5"
- }
- Frame {
- msec: 112
- hash: "692931f1db6ddf0b37eb64026ca830f8"
- }
- Frame {
- msec: 128
- hash: "f01b7368e42381dda5eadf56482ea993"
- }
- Frame {
- msec: 144
- hash: "9811f823e057882d384f36d7227fa12e"
- }
- Frame {
- msec: 160
- hash: "9b40b6c75af876567ff49688bc710f2a"
- }
- Frame {
- msec: 176
- hash: "e97a5d968da37789c28816608fa262a1"
- }
- Frame {
- msec: 192
- hash: "2cd0627fdc63bb91f8dcac789d7a93b2"
- }
- Frame {
- msec: 208
- hash: "ae2407f8da9a047d2725bcdcf8e568b2"
- }
- Frame {
- msec: 224
- hash: "da2a1e5e988c27577ceb453cb0383703"
- }
- Frame {
- msec: 240
- hash: "90fb4e4ba04ac32b52c10b3258431c04"
- }
- Frame {
- msec: 256
- hash: "90fb4e4ba04ac32b52c10b3258431c04"
- }
- Frame {
- msec: 272
- hash: "90fb4e4ba04ac32b52c10b3258431c04"
- }
- Frame {
- msec: 288
- hash: "73c06997014af4e008b546b53fe349fb"
- }
- Frame {
- msec: 304
- hash: "262404c6e55b93c4ab940582a49f7e18"
- }
- Frame {
- msec: 320
- hash: "451a9408b04826ab35749d9120efd6bb"
- }
- Frame {
- msec: 336
- hash: "451a9408b04826ab35749d9120efd6bb"
- }
- Frame {
- msec: 352
- hash: "2d112d040fd425c59b511066737e494d"
- }
- Frame {
- msec: 368
- hash: "769d2724656dbf0e793ecd8e42db3de2"
- }
- Frame {
- msec: 384
- hash: "9e375cb3815723a2c5dda39c79325e96"
- }
- Frame {
- msec: 400
- hash: "b21e92871bf63873b8ae48a2aff47be5"
- }
- Frame {
- msec: 416
- hash: "00d08f4257f35c6236cde0597b0005e4"
- }
- Frame {
- msec: 432
- hash: "8048f84221a02e7102cf3272445862a1"
- }
- Frame {
- msec: 448
- hash: "f0d7b45f0b01319494616c1893aa940e"
- }
- Frame {
- msec: 464
- hash: "457fad89140a1dda9e70549d451482e9"
- }
- Frame {
- msec: 480
- hash: "ee0feb79e843cdb2adea72fa37ecab67"
- }
- Frame {
- msec: 496
- hash: "ece02d3590147884e697dd5228dee8c4"
- }
- Frame {
- msec: 512
- hash: "91c4ec19716a0883c8f5c25b9a0d1f42"
- }
- Frame {
- msec: 528
- hash: "a7c9860dd4962b11b92c54370ba156ee"
- }
- Frame {
- msec: 544
- hash: "a28f2590be1e8cde4cde5219367015ac"
- }
- Frame {
- msec: 560
- hash: "3b641ba58f5e1f0e1f2f528acf38cb28"
- }
- Frame {
- msec: 576
- hash: "d0b0969ad165d4784f763683de42278e"
- }
- Frame {
- msec: 592
- hash: "93968dffda327a101e2bd07b80fff842"
- }
- Frame {
- msec: 608
- hash: "08f5db4cd7f27178c67e6d973e4bb023"
- }
- Frame {
- msec: 624
- hash: "0967cad0a3ae82307a049944e1bcdc3e"
- }
- Frame {
- msec: 640
- hash: "d70ffd02b434e607bc11a95ca536c19a"
- }
- Frame {
- msec: 656
- hash: "cd561b4d5e707bb6b9f6d493f9b99512"
- }
- Frame {
- msec: 672
- hash: "58355ca37c6e4e54061664180faa11fb"
- }
- Frame {
- msec: 688
- hash: "bd873f48c79286c50333c838e57d8ec7"
- }
- Frame {
- msec: 704
- hash: "db89bc0e04ebefe5440748fe85e0bdf7"
- }
- Frame {
- msec: 720
- hash: "c400bc1e6c02c792cc515a6dd8bbaa9b"
- }
- Frame {
- msec: 736
- hash: "accf3567a161239cd8c18dd9d4527aaf"
- }
- Frame {
- msec: 752
- hash: "2e3bcdf70f160bf8e3f1b77ee472b782"
- }
- Frame {
- msec: 768
- hash: "929da0d629253478c322360c9a8dfc9e"
- }
- Frame {
- msec: 784
- hash: "d5d4b7c52ba14e84bc9c34a8b55f84b7"
- }
- Frame {
- msec: 800
- hash: "063ce927e9e7c5afb9131302ea5a968c"
- }
- Frame {
- msec: 816
- hash: "b94b6fff850aacccdaf0f74d4e36ba67"
- }
- Frame {
- msec: 832
- hash: "bac2b9b9be4b71fafe59868506aa8ab9"
- }
- Frame {
- msec: 848
- hash: "a91fed41a5a07e84424e45477f463aa1"
- }
- Frame {
- msec: 864
- hash: "370eefd369ef366f1d5930b261340d0b"
- }
- Frame {
- msec: 880
- hash: "b04a87997d0eeb6ff2f91fc2f0d016f6"
- }
- Frame {
- msec: 896
- hash: "09c3602a08d6d3e2afb654c328606871"
- }
- Frame {
- msec: 912
- hash: "101e66b9d13b1b0872cfcc497c9d6ae3"
- }
- Frame {
- msec: 928
- hash: "b5eaf952e40cf90ef32e8cb64ccce7d3"
- }
- Frame {
- msec: 944
- hash: "b43b02133ebe5db93e5236c0307939c3"
- }
- Frame {
- msec: 960
- hash: "c03406106847c03c73f5897e65690925"
- }
- Frame {
- msec: 976
- image: "test-flipable.1.png"
- }
- Frame {
- msec: 992
- hash: "a7492d8ab6fddb5c1d7af2621078230b"
- }
- Frame {
- msec: 1008
- hash: "2ed3dc7f10cc8279a6fd926914cdb234"
- }
- Frame {
- msec: 1024
- hash: "e9f76e419f6f682bcc9052183bb50607"
- }
- Frame {
- msec: 1040
- hash: "fdee6990e101d4a628272e7b09a217a3"
- }
- Frame {
- msec: 1056
- hash: "05e028b2f37a433343d373bc05f73756"
- }
- Frame {
- msec: 1072
- hash: "a9ece04666d17979408dcd8690cd697c"
- }
- Frame {
- msec: 1088
- hash: "a5d8c9bee6ac10fb45cedf3bc4325539"
- }
- Frame {
- msec: 1104
- hash: "08f1ff1e515ec78f75efa13a39b21f56"
- }
- Frame {
- msec: 1120
- hash: "f0bc6c649a195e2c433cf84c1b4f5bcb"
- }
- Frame {
- msec: 1136
- hash: "2a548614a9b38867cd0fe44985ca443f"
- }
- Frame {
- msec: 1152
- hash: "8c8272fc028ce5b403e636b4061351d3"
- }
- Frame {
- msec: 1168
- hash: "df11678b255cc3f624fed24d7e6a24af"
- }
- Frame {
- msec: 1184
- hash: "7dd5ce1cce200d7eede0f248f150873c"
- }
- Frame {
- msec: 1200
- hash: "e5cb8e0e588854dce5e7572fd1e3a445"
- }
- Frame {
- msec: 1216
- hash: "71937cd7d319174232797d05fe28bda5"
- }
- Frame {
- msec: 1232
- hash: "021c3a598b008991114b25b26191e8ef"
- }
- Frame {
- msec: 1248
- hash: "b372131d6fc29e7dbffc2c5f4e269ad7"
- }
- Frame {
- msec: 1264
- hash: "2120fc188aed6888eba85e9d49139000"
- }
- Frame {
- msec: 1280
- hash: "0523499bb4f4c6d0c3d2cd28fbac7056"
- }
- Frame {
- msec: 1296
- hash: "19d1fc79802728d6b0af222050b59463"
- }
- Frame {
- msec: 1312
- hash: "f48686053780376c7ab2e6481e3fd0ad"
- }
- Frame {
- msec: 1328
- hash: "0f7c5ca70fec90e7e8b2fd50b791fd2e"
- }
- Frame {
- msec: 1344
- hash: "93cd129be7cfebaa2ea8a074a77aaa7c"
- }
- Frame {
- msec: 1360
- hash: "e6b149da031b1c0b842b1b7872bd2d91"
- }
- Frame {
- msec: 1376
- hash: "5481248e889fb4fe9f4cf54f69d9f614"
- }
- Frame {
- msec: 1392
- hash: "23bb444b6248901da3eb6a2e805438cb"
- }
- Frame {
- msec: 1408
- hash: "1c9feb1c3ae76d4015c99d005ecfed60"
- }
- Frame {
- msec: 1424
- hash: "41e5345dc90fd48476f35ceeab281948"
- }
- Frame {
- msec: 1440
- hash: "89682a955a00e68031571ac765f9f5e3"
- }
- Frame {
- msec: 1456
- hash: "8ff7cee41c6f19eeda417052c1b071d6"
- }
- Frame {
- msec: 1472
- hash: "67a73129d828e8a05b1efc768cf40146"
- }
- Frame {
- msec: 1488
- hash: "0800a78c97c92c697e44ded54fdcf934"
- }
- Frame {
- msec: 1504
- hash: "d5d51263367f0c53b8d94a03d83338d9"
- }
- Frame {
- msec: 1520
- hash: "ab749885f356683e17ca52f904ae582d"
- }
- Frame {
- msec: 1536
- hash: "7f5a56f30222a9886d1e9d014b4f5cab"
- }
- Frame {
- msec: 1552
- hash: "10c5e64eff104dce59f54f70c5564959"
- }
- Frame {
- msec: 1568
- hash: "38b00c7544648ef06705acc2e9eca1f5"
- }
- Frame {
- msec: 1584
- hash: "56bdfcb8fbb776b3799676ba7934a354"
- }
- Frame {
- msec: 1600
- hash: "ea5349d337e397b3ee5e0db0c296f5e5"
- }
- Frame {
- msec: 1616
- hash: "6bd784ca760edba5a6f0b4212237e1e8"
- }
- Frame {
- msec: 1632
- hash: "77e7888a37a7724bded817903cbe777e"
- }
- Frame {
- msec: 1648
- hash: "55213bdb2f1f2d25b5680db95e79bbac"
- }
- Frame {
- msec: 1664
- hash: "6d62c7f7f76cc1d4e33c152234000da0"
- }
- Frame {
- msec: 1680
- hash: "0f6aa29c172054887e4ddb6512ae43b1"
- }
- Frame {
- msec: 1696
- hash: "75fd94508b77bbdde34a61b74ff49e12"
- }
- Frame {
- msec: 1712
- hash: "0dfdd9a1d83a706a09318c83fd08b6fe"
- }
- Frame {
- msec: 1728
- hash: "4f895ee983424c164be3e2db488a4e51"
- }
- Frame {
- msec: 1744
- hash: "974fd5f390d33afb779ac754f0e30b2a"
- }
- Frame {
- msec: 1760
- hash: "fd40e22c7d3cfceeee7dc668d1cf0a12"
- }
- Frame {
- msec: 1776
- hash: "4e3c04b35bcc43a4295582da1674da2e"
- }
- Frame {
- msec: 1792
- hash: "629888aae80ea85db07a383df352214a"
- }
- Frame {
- msec: 1808
- hash: "9a92c68cfad54c313d24e38240ea072f"
- }
- Frame {
- msec: 1824
- hash: "3e27569d19670ec99f11bfa46099456a"
- }
- Frame {
- msec: 1840
- hash: "5d4be9ed8c4ba7faefde5427cdbffc73"
- }
- Frame {
- msec: 1856
- hash: "232d4e03a57edf0386b06884482f9730"
- }
- Frame {
- msec: 1872
- hash: "c45f959fd81ac08add219326cb6a8bfc"
- }
- Frame {
- msec: 1888
- hash: "349111e36190f77afd53c50ee2e9ba94"
- }
- Frame {
- msec: 1904
- hash: "ea5ed48b2bcdfd2a711a3a71a4ae37c3"
- }
- Frame {
- msec: 1920
- hash: "1e8348fbb51871dffe9543fca19bb452"
- }
- Frame {
- msec: 1936
- image: "test-flipable.2.png"
- }
- Frame {
- msec: 1952
- hash: "63cc3851236d5de613c85a2971ef7145"
- }
- Frame {
- msec: 1968
- hash: "45d5fdb92107a7074d56d97bda34756f"
- }
- Frame {
- msec: 1984
- hash: "f74d9a3b53a629f7fccfdd255fdbba62"
- }
- Frame {
- msec: 2000
- hash: "60c6a30e15ed4ad61c14f15f9f1f3790"
- }
- Frame {
- msec: 2016
- hash: "b5f7c630f6e61c7ddac8493e17a1f53e"
- }
- Frame {
- msec: 2032
- hash: "98558c7135fa84fa08d457c6064b8653"
- }
- Frame {
- msec: 2048
- hash: "2858e39a9b39739bb5c0c1ce23e83b20"
- }
- Frame {
- msec: 2064
- hash: "0b174f04215131cfa32b5d1a32170ac3"
- }
- Frame {
- msec: 2080
- hash: "67e3618bab95519a034ed6c8c1543212"
- }
- Frame {
- msec: 2096
- hash: "2012c5310f198022a3878c9ded08523d"
- }
- Frame {
- msec: 2112
- hash: "1cb6a1f6d873d2bfde457828c17b4886"
- }
- Frame {
- msec: 2128
- hash: "be3f28bd56d9d985408e32cc0aab0623"
- }
- Frame {
- msec: 2144
- hash: "4aa07c4887f873f0f034930bd681f9dc"
- }
- Frame {
- msec: 2160
- hash: "adeae071187b590aa0a142c27098d2f4"
- }
- Frame {
- msec: 2176
- hash: "d777aaccd6143c2c1000bbfabdbefeb2"
- }
- Frame {
- msec: 2192
- hash: "7b4785b9e6610f02c52b4c824bea8ecd"
- }
- Frame {
- msec: 2208
- hash: "c539b3638272e46120edbe4a58e1d894"
- }
- Frame {
- msec: 2224
- hash: "ae466024a1dd731b6730dda255e68eb8"
- }
- Frame {
- msec: 2240
- hash: "f844a288b009cc4c6c28eb30d799c397"
- }
- Frame {
- msec: 2256
- hash: "4fc8ca1992802f97dd431783db89c725"
- }
- Frame {
- msec: 2272
- hash: "79b899461efae97b65b8c24c8820f348"
- }
- Frame {
- msec: 2288
- hash: "cb1ce87ddc372e24e37b60c013310549"
- }
- Frame {
- msec: 2304
- hash: "c8937aea34fd299c151706598828be6f"
- }
- Frame {
- msec: 2320
- hash: "ed5c3a904dc3b72937c6eea475514b2d"
- }
- Frame {
- msec: 2336
- hash: "09043e74a3ac60d05122675a1b253320"
- }
- Frame {
- msec: 2352
- hash: "57677a33d8c60a45c64aea10a695e8d0"
- }
- Frame {
- msec: 2368
- hash: "496fe0b0e420356e4205537fdf3adc2f"
- }
- Frame {
- msec: 2384
- hash: "f4146ce8db5cf2c3da15715820c9f62f"
- }
- Frame {
- msec: 2400
- hash: "b80bc46468695b874d401c4c9bd68932"
- }
- Frame {
- msec: 2416
- hash: "b0cf0021232ab917301206614f61f0bf"
- }
- Frame {
- msec: 2432
- hash: "b0abdf5b86e3fcb22a9254ac5b522380"
- }
- Frame {
- msec: 2448
- hash: "c1624cb7e90ea26ab0c37cfe9919ca36"
- }
- Frame {
- msec: 2464
- hash: "0ffd6a3b3e5f6db5a3a8df756caf713e"
- }
- Frame {
- msec: 2480
- hash: "1604ad8e7a4aa4fa8dff1f37fc8c51d7"
- }
- Frame {
- msec: 2496
- hash: "5bbca0b79c42e263162926e5c2fd3d82"
- }
- Frame {
- msec: 2512
- hash: "9436b4f2ab902673ed067de55da5003e"
- }
- Frame {
- msec: 2528
- hash: "3c7b5fa0970242a2ad308c72d761713b"
- }
- Frame {
- msec: 2544
- hash: "15e451c53e8f5c70614f87f33fe0a2e6"
- }
- Frame {
- msec: 2560
- hash: "7e8cbe203306d2f267a42fed1e4790ed"
- }
- Frame {
- msec: 2576
- hash: "db21ae28564614b58a7dd5ccd97082e6"
- }
- Frame {
- msec: 2592
- hash: "ff52e198874de749c46f9b34cfe40cfc"
- }
- Frame {
- msec: 2608
- hash: "916d92d24a81ced07a54d68c46299d4c"
- }
- Frame {
- msec: 2624
- hash: "2f6cf122e5f15fc5f5d3c92d92ca1384"
- }
- Frame {
- msec: 2640
- hash: "6f328038e5d505c402651423c44986a5"
- }
- Frame {
- msec: 2656
- hash: "6f328038e5d505c402651423c44986a5"
- }
- Frame {
- msec: 2672
- hash: "78e0dca60c04d3defbd90457685dbab3"
- }
- Frame {
- msec: 2688
- hash: "b915de1be0c1779e06fb9eea8237f91d"
- }
- Frame {
- msec: 2704
- hash: "0ff9fd6b09fc14abacb794353b9500f6"
- }
- Frame {
- msec: 2720
- hash: "5a1c9cd9da5492a61a3a1bc6ad37ef17"
- }
- Frame {
- msec: 2736
- hash: "4c4a72eb4105903802de56a4a62d86cc"
- }
- Frame {
- msec: 2752
- hash: "6d813ee777a5900c65aca5939c004d0c"
- }
- Frame {
- msec: 2768
- hash: "6d813ee777a5900c65aca5939c004d0c"
- }
- Frame {
- msec: 2784
- hash: "0acaa3ece071ad4461cf4a79d65a0f03"
- }
- Frame {
- msec: 2800
- hash: "0acaa3ece071ad4461cf4a79d65a0f03"
- }
- Frame {
- msec: 2816
- hash: "f5cf7e68edc5fcd9dd91882d3f9ba380"
- }
- Frame {
- msec: 2832
- hash: "51f8508eddffbac2fad22bd3e8040c69"
- }
- Frame {
- msec: 2848
- hash: "a09746c72df5330f6ca2a93d9b8e79f6"
- }
- Frame {
- msec: 2864
- hash: "b2ef52b66896649413b3852bcf642e1c"
- }
- Frame {
- msec: 2880
- hash: "373141f99bc88c40ead161502c9750e9"
- }
- Frame {
- msec: 2896
- image: "test-flipable.3.png"
- }
- Frame {
- msec: 2912
- hash: "b19d89aa671cc3a773f64a7bae21adb6"
- }
- Frame {
- msec: 2928
- hash: "08eb7bd2e49fe600e922e49a3aa56e93"
- }
- Frame {
- msec: 2944
- hash: "1e3a7bdd0bd9d5b84c2cb5b646d7fb45"
- }
- Frame {
- msec: 2960
- hash: "be9f5091197899c0b89823e4403358f3"
- }
- Frame {
- msec: 2976
- hash: "1daeebce8e7eef80b135d2e4f83f780b"
- }
- Frame {
- msec: 2992
- hash: "1daeebce8e7eef80b135d2e4f83f780b"
- }
- Frame {
- msec: 3008
- hash: "1daeebce8e7eef80b135d2e4f83f780b"
- }
- Frame {
- msec: 3024
- hash: "1daeebce8e7eef80b135d2e4f83f780b"
- }
- Frame {
- msec: 3040
- hash: "1daeebce8e7eef80b135d2e4f83f780b"
- }
- Frame {
- msec: 3056
- hash: "1daeebce8e7eef80b135d2e4f83f780b"
- }
- Frame {
- msec: 3072
- hash: "be9f5091197899c0b89823e4403358f3"
- }
- Frame {
- msec: 3088
- hash: "be9f5091197899c0b89823e4403358f3"
- }
- Frame {
- msec: 3104
- hash: "1e3a7bdd0bd9d5b84c2cb5b646d7fb45"
- }
- Frame {
- msec: 3120
- hash: "b19d89aa671cc3a773f64a7bae21adb6"
- }
- Frame {
- msec: 3136
- hash: "e7ed4449b5ea3288d5e8fecb33a4a422"
- }
- Frame {
- msec: 3152
- hash: "186a2c1af03e7fa590ff3cd7422285e3"
- }
- Frame {
- msec: 3168
- hash: "373141f99bc88c40ead161502c9750e9"
- }
- Frame {
- msec: 3184
- hash: "0221e2ef4cf809ebfeba466206a77cce"
- }
- Frame {
- msec: 3200
- hash: "51f8508eddffbac2fad22bd3e8040c69"
- }
- Frame {
- msec: 3216
- hash: "f5cf7e68edc5fcd9dd91882d3f9ba380"
- }
- Frame {
- msec: 3232
- hash: "0acaa3ece071ad4461cf4a79d65a0f03"
- }
- Frame {
- msec: 3248
- hash: "0acaa3ece071ad4461cf4a79d65a0f03"
- }
- Frame {
- msec: 3264
- hash: "6d813ee777a5900c65aca5939c004d0c"
- }
- Frame {
- msec: 3280
- hash: "6d813ee777a5900c65aca5939c004d0c"
- }
- Frame {
- msec: 3296
- hash: "6d813ee777a5900c65aca5939c004d0c"
- }
- Frame {
- msec: 3312
- hash: "5a1c9cd9da5492a61a3a1bc6ad37ef17"
- }
- Frame {
- msec: 3328
- hash: "0ff9fd6b09fc14abacb794353b9500f6"
- }
- Frame {
- msec: 3344
- hash: "0ff9fd6b09fc14abacb794353b9500f6"
- }
- Frame {
- msec: 3360
- hash: "6f328038e5d505c402651423c44986a5"
- }
- Frame {
- msec: 3376
- hash: "6f328038e5d505c402651423c44986a5"
- }
- Frame {
- msec: 3392
- hash: "dd04a76df90f27358f4162fd85cfa4cd"
- }
- Frame {
- msec: 3408
- hash: "12df495b5e8bfd2c9dd13fbeccc69e08"
- }
- Frame {
- msec: 3424
- hash: "4b6f9dcde7d5d88b9c3eff3187378036"
- }
- Frame {
- msec: 3440
- hash: "712f3850c0efe45c60a3761f1354b90b"
- }
- Frame {
- msec: 3456
- hash: "22215981f00790d7a409230eb730abca"
- }
- Frame {
- msec: 3472
- hash: "a4a26f9736282ceb307f0f97735002eb"
- }
- Frame {
- msec: 3488
- hash: "b41d7a18d84a8b220e99464cab86882d"
- }
- Frame {
- msec: 3504
- hash: "c7c1961120f128cd0fcd6a7b61c98197"
- }
- Frame {
- msec: 3520
- hash: "e56e7ba603d2620afb0fab6b19aff33e"
- }
- Frame {
- msec: 3536
- hash: "1a258bed9a7a38452a746d7641016e73"
- }
- Frame {
- msec: 3552
- hash: "a237b9c187bbbcb79f624d74def15db2"
- }
- Frame {
- msec: 3568
- hash: "34a7afdebb7352ca65e0eaec61632d12"
- }
- Frame {
- msec: 3584
- hash: "a5a98e932a30418bae62bb006afc1048"
- }
- Frame {
- msec: 3600
- hash: "2ee25374cb9fef01e78d02c4131010b7"
- }
- Frame {
- msec: 3616
- hash: "7956b07b848ba89905e5c609657503e2"
- }
- Frame {
- msec: 3632
- hash: "0949a2b13f6475b3f11be04321c953a1"
- }
- Frame {
- msec: 3648
- hash: "5a1ff901ecc7c3cd7f39cd07e0273dd4"
- }
- Frame {
- msec: 3664
- hash: "44fcd7209b9f5b1c28c21e9aae408097"
- }
- Frame {
- msec: 3680
- hash: "bee94f395239aebb0bacca3dbbee95e5"
- }
- Frame {
- msec: 3696
- hash: "bd26b7e2b07bbcee3819fdacc35eea8d"
- }
- Frame {
- msec: 3712
- hash: "d3707b90c5cd0d1061db4b97b6fcb96a"
- }
- Frame {
- msec: 3728
- hash: "6f6ed6c7553b3f909d53e2146b3831d5"
- }
- Frame {
- msec: 3744
- hash: "a3a1a03617d1cb5660c51bf2f18088bc"
- }
- Frame {
- msec: 3760
- hash: "6d4646f0a53800ad60d173ab9cb9010a"
- }
- Frame {
- msec: 3776
- hash: "126cae232e2fe49e3188393c2798065b"
- }
- Frame {
- msec: 3792
- hash: "e1fa758d333ffe5208365c0babff33a0"
- }
- Frame {
- msec: 3808
- hash: "f2a6156f7d6013bd4234b35c21adb074"
- }
- Frame {
- msec: 3824
- hash: "0271f66eb6d9b91a3ab8da2d728b9581"
- }
- Frame {
- msec: 3840
- hash: "464a78e75e10b62773ab64af4fc4c7aa"
- }
- Frame {
- msec: 3856
- image: "test-flipable.4.png"
- }
- Frame {
- msec: 3872
- hash: "56100e9ca8d1eb7e6334e5a05ef2b94d"
- }
- Frame {
- msec: 3888
- hash: "3d15b8d662d3df82dd78590c43794337"
- }
- Frame {
- msec: 3904
- hash: "9729b36fe9dbabf0c46e78b723885530"
- }
- Frame {
- msec: 3920
- hash: "ccb8b51084cc1ef3d201887b824fb1ac"
- }
- Frame {
- msec: 3936
- hash: "d9dc9d240a6f89603a54bccd66361530"
- }
- Frame {
- msec: 3952
- hash: "0e52d92455c263493d32ffe93f242739"
- }
- Frame {
- msec: 3968
- hash: "695ab932722844b975097779e26df55c"
- }
- Frame {
- msec: 3984
- hash: "da285cba2e11db1e87d1d180e376ff8e"
- }
- Frame {
- msec: 4000
- hash: "54bd12888fc4526d310fa0a66b5ba3be"
- }
- Frame {
- msec: 4016
- hash: "c3e3db473bdb96fd619b078f0f6b3ceb"
- }
- Frame {
- msec: 4032
- hash: "acfd8aaf0bb52ad3ef3116bb99f3656a"
- }
- Frame {
- msec: 4048
- hash: "c5a0877ce86c26b30b642818e83d6118"
- }
- Frame {
- msec: 4064
- hash: "b187fde9af2bad37f84f6324afcbb303"
- }
- Frame {
- msec: 4080
- hash: "0dfe035424d7f31dda88be3b4bb30c8a"
- }
- Frame {
- msec: 4096
- hash: "893bddc95fbf6e452ba61b06eab1a8c5"
- }
- Frame {
- msec: 4112
- hash: "35fb89ea579819f4b3416ff1c1b1cc9d"
- }
- Frame {
- msec: 4128
- hash: "316371649f9a1e12e336c5823408eaf9"
- }
- Frame {
- msec: 4144
- hash: "ade751c6e497c73a920baf18f0752908"
- }
- Frame {
- msec: 4160
- hash: "86720fa1eeae374c6cc67e107d27e23a"
- }
- Frame {
- msec: 4176
- hash: "1a6f080227f1ccd03b6c4093b9fdadb3"
- }
- Frame {
- msec: 4192
- hash: "f7d7398edba69716ec8c0699d5472dca"
- }
- Frame {
- msec: 4208
- hash: "9e62c9dd25abb203f5c06c7bff0d8363"
- }
- Frame {
- msec: 4224
- hash: "fd90404238b458fc86a4a17e6a976f9b"
- }
- Frame {
- msec: 4240
- hash: "e39668dc347318fc61a365f9006aab3c"
- }
- Frame {
- msec: 4256
- hash: "c40f41f635f10f5f9b04b42ba2dc5bb1"
- }
- Frame {
- msec: 4272
- hash: "c0f971c75b7237de7e9b2f25cc3f34b2"
- }
- Frame {
- msec: 4288
- hash: "a1c79481fd1632cfdc396aefb3592534"
- }
- Frame {
- msec: 4304
- hash: "6eee76f40fc7ec1a1e3d77c849321740"
- }
- Frame {
- msec: 4320
- hash: "0a36746ab17caef5946731c31af3823f"
- }
- Frame {
- msec: 4336
- hash: "863dedd22df4e1d14e73eaeb851e9b66"
- }
- Frame {
- msec: 4352
- hash: "318e8751f7056bb6a004c8a7ce7be870"
- }
- Frame {
- msec: 4368
- hash: "8fb2809a366f42c86fad7aa5db3ff22c"
- }
- Frame {
- msec: 4384
- hash: "8aaea666640cb3b27e3374f756fe411b"
- }
- Frame {
- msec: 4400
- hash: "1f552095d26a8d145584e36237630916"
- }
- Frame {
- msec: 4416
- hash: "cd5aa55715786cac0f7efc90c7c4b9d6"
- }
- Frame {
- msec: 4432
- hash: "7a3153d9309ec338dce3437ecf667646"
- }
- Frame {
- msec: 4448
- hash: "c7fa40e69148f1c5ec494ad159b6ce6c"
- }
- Frame {
- msec: 4464
- hash: "e131bc8ca25ddc4b7dd6582ff034fe14"
- }
- Frame {
- msec: 4480
- hash: "3174c672e62dae0341d5849e23031280"
- }
- Frame {
- msec: 4496
- hash: "0b25fb7d33708a3292ede7c66e25a3d7"
- }
- Frame {
- msec: 4512
- hash: "84b3cf92b3abc2f5acf07cfccf3c0202"
- }
- Frame {
- msec: 4528
- hash: "fafbd14d296e4954bce7816d811ddd89"
- }
- Frame {
- msec: 4544
- hash: "865018d8408863b741a7082a962236dc"
- }
- Frame {
- msec: 4560
- hash: "f626082691429565b55ce9e04b14a665"
- }
- Frame {
- msec: 4576
- hash: "8a02f7d3d53e98384d1f05dc7fc5fd37"
- }
- Frame {
- msec: 4592
- hash: "6af3a8305b25a9a769b8cf00479c6ab3"
- }
- Frame {
- msec: 4608
- hash: "b31470b0ac4a593317abc365acb2b281"
- }
- Frame {
- msec: 4624
- hash: "efd00c43b1b8bbc4bc5496dcfa58c6b0"
- }
- Frame {
- msec: 4640
- hash: "498cf6c20aeca609e9d9cea78f0cc6a3"
- }
- Frame {
- msec: 4656
- hash: "b55661b5d9632bc0d7fc7ff3a421a2e7"
- }
- Frame {
- msec: 4672
- hash: "2f1e402c5e4a0615528f91dd2e183ddd"
- }
- Frame {
- msec: 4688
- hash: "d1c166cc7932e72ba22a73637cad65d6"
- }
- Frame {
- msec: 4704
- hash: "374b703e0059fc80b67480113d584754"
- }
- Frame {
- msec: 4720
- hash: "e8de71d4a2a253e366b2edf5d475824d"
- }
- Frame {
- msec: 4736
- hash: "6a9d033b332f0c0285284fdaddf3bbdb"
- }
- Frame {
- msec: 4752
- hash: "640c227fb62e40c666035e7465ac5c4e"
- }
- Frame {
- msec: 4768
- hash: "9cf7dc6507befd6ae54f380a7d87a207"
- }
- Frame {
- msec: 4784
- hash: "d1c7b2160c08e03e7a98d7d2db0116f7"
- }
- Frame {
- msec: 4800
- hash: "03f17b2cd781f2ee0ae5664a0491166c"
- }
- Frame {
- msec: 4816
- image: "test-flipable.5.png"
- }
- Frame {
- msec: 4832
- hash: "2dfa5fdfd07e7000caee6abf5fe84378"
- }
- Frame {
- msec: 4848
- hash: "2b0c2f019b07f1f8b4e5af9a520ab061"
- }
- Frame {
- msec: 4864
- hash: "33cb1aaeb7dafc2475e4337be7cc7892"
- }
- Frame {
- msec: 4880
- hash: "91290d1435bedb5010ba135a7f99c0a2"
- }
- Frame {
- msec: 4896
- hash: "df7434eb6c6e5d45935d6c6fd03f06d1"
- }
- Frame {
- msec: 4912
- hash: "48dfe78dcdd65242132071454fb9ea33"
- }
- Frame {
- msec: 4928
- hash: "1b288012e123cb6051bfa180ea2a2bc0"
- }
- Frame {
- msec: 4944
- hash: "84b23d92987f59df336d9b269e3b7bbc"
- }
- Frame {
- msec: 4960
- hash: "c413ca53240df702c3ba0c7f4dacca3b"
- }
- Frame {
- msec: 4976
- hash: "339c06a2e1fc05ebfd3732097b9c5242"
- }
- Frame {
- msec: 4992
- hash: "f1e647e274ac8c8458d2c1e576623688"
- }
- Frame {
- msec: 5008
- hash: "a70dc2f51ecfc164595cfef61c1da245"
- }
- Frame {
- msec: 5024
- hash: "b69f034a71b53c885cd177da422d5fc7"
- }
- Frame {
- msec: 5040
- hash: "26c25a031944c677b30f69c8498ac6ce"
- }
- Frame {
- msec: 5056
- hash: "ebc2328766e8736eac989e309968d8f9"
- }
- Frame {
- msec: 5072
- hash: "41d55f53bfc74e614c906d3f6b813704"
- }
- Frame {
- msec: 5088
- hash: "135e97adb3f19aa19d746ece1b2b3d02"
- }
- Frame {
- msec: 5104
- hash: "85c4454dbe9a39b3005f32fd7a06b1b2"
- }
- Frame {
- msec: 5120
- hash: "7561e0dd6970f7c81bcb53c9371d4405"
- }
- Frame {
- msec: 5136
- hash: "c9961d5abf700a06ed294ce7aecb6147"
- }
- Frame {
- msec: 5152
- hash: "29acf87effa3c21322334080776c566e"
- }
- Frame {
- msec: 5168
- hash: "04990a79d5ff5cb41dcd48d3e3bf5b11"
- }
- Frame {
- msec: 5184
- hash: "f40c78c37a26249ecb161af778631f7b"
- }
- Frame {
- msec: 5200
- hash: "eddacaeae7c47d063db737f678896da1"
- }
- Frame {
- msec: 5216
- hash: "5ae523dc1115fd0904875718e05aa2a5"
- }
- Frame {
- msec: 5232
- hash: "f09c299412a9e2fd353c4937ad959f25"
- }
- Frame {
- msec: 5248
- hash: "9caeae0abd3bc665bd307997baea6a48"
- }
- Frame {
- msec: 5264
- hash: "e9d222c9d23773488b64b0a6323c1095"
- }
- Frame {
- msec: 5280
- hash: "ad34c46ab3d418a2af7bffc59e720868"
- }
- Frame {
- msec: 5296
- hash: "ff0d8cfd272fca5be34b663a7e52f283"
- }
- Frame {
- msec: 5312
- hash: "55f95277276217de16b6b43090bbb807"
- }
- Frame {
- msec: 5328
- hash: "387fadf4140d335c0b05cfee0c37a413"
- }
- Frame {
- msec: 5344
- hash: "10a1a5a91c11aa8279ae4e57e4d3946b"
- }
- Frame {
- msec: 5360
- hash: "414f7bf3a3ec05a9840cd104a13d5504"
- }
- Frame {
- msec: 5376
- hash: "e027716402ead36450732c8350e614b5"
- }
- Frame {
- msec: 5392
- hash: "0190f59275f01429ee6761b39ce99fc1"
- }
- Frame {
- msec: 5408
- hash: "7f99dd337561f006a7c56babe3c10c38"
- }
- Frame {
- msec: 5424
- hash: "4bbb76393e56b5da723c1f33a7694013"
- }
- Frame {
- msec: 5440
- hash: "00eedf86916629fe90f3c2f36e0c689e"
- }
- Frame {
- msec: 5456
- hash: "84d1f5a6604b75371f2fa7b60a59299b"
- }
- Frame {
- msec: 5472
- hash: "00488220a460746be6d7d1b66d15c392"
- }
- Frame {
- msec: 5488
- hash: "cae5a6d45425d641228210a47c5ee5f6"
- }
- Frame {
- msec: 5504
- hash: "670a2132e65564ca2cfd58ec9842ba93"
- }
- Frame {
- msec: 5520
- hash: "212b6cc9fa130bec9579cf218e1f7eeb"
- }
- Frame {
- msec: 5536
- hash: "b159e67541b5b1b5071f6cd041c62293"
- }
- Frame {
- msec: 5552
- hash: "8c4e62d26e19c32200772edefd329db3"
- }
- Frame {
- msec: 5568
- hash: "1ff120d0444e398cc79190012b548b4b"
- }
- Frame {
- msec: 5584
- hash: "1c75bccd5e19ee9a2644585b726db048"
- }
- Frame {
- msec: 5600
- hash: "bc16aff96b1f9cfe3807e95e371a8f26"
- }
- Frame {
- msec: 5616
- hash: "35a5fdb20bdbaf0122cac4cad60e7bb8"
- }
- Frame {
- msec: 5632
- hash: "ea7ac72c81abff8af260be508b6cf117"
- }
- Frame {
- msec: 5648
- hash: "2d112d040fd425c59b511066737e494d"
- }
- Frame {
- msec: 5664
- hash: "769d2724656dbf0e793ecd8e42db3de2"
- }
- Frame {
- msec: 5680
- hash: "1c25b3d65e8590f8c213afa76b722e97"
- }
- Frame {
- msec: 5696
- hash: "760a103d4524f8b665c6ff42185a8ce7"
- }
- Frame {
- msec: 5712
- hash: "451a9408b04826ab35749d9120efd6bb"
- }
- Frame {
- msec: 5728
- hash: "3fad6b23b0b78f844e02fe307e20d376"
- }
- Frame {
- msec: 5744
- hash: "451a9408b04826ab35749d9120efd6bb"
- }
- Frame {
- msec: 5760
- hash: "73c06997014af4e008b546b53fe349fb"
- }
- Frame {
- msec: 5776
- image: "test-flipable.6.png"
- }
- Frame {
- msec: 5792
- hash: "90fb4e4ba04ac32b52c10b3258431c04"
- }
- Frame {
- msec: 5808
- hash: "da2a1e5e988c27577ceb453cb0383703"
- }
- Frame {
- msec: 5824
- hash: "ae2407f8da9a047d2725bcdcf8e568b2"
- }
- Frame {
- msec: 5840
- hash: "ae2407f8da9a047d2725bcdcf8e568b2"
- }
- Frame {
- msec: 5856
- hash: "e97a5d968da37789c28816608fa262a1"
- }
- Frame {
- msec: 5872
- hash: "9becb90d9f8a61f5afacdc53d137ebcb"
- }
- Frame {
- msec: 5888
- hash: "9811f823e057882d384f36d7227fa12e"
- }
- Frame {
- msec: 5904
- hash: "1e7a308d18851db0a430542178944c67"
- }
- Frame {
- msec: 5920
- hash: "692931f1db6ddf0b37eb64026ca830f8"
- }
- Frame {
- msec: 5936
- hash: "2117c775960234c297187ea2e9d51e73"
- }
- Frame {
- msec: 5952
- hash: "f8038dc4b67b92ef776a97589240e8c5"
- }
- Frame {
- msec: 5968
- hash: "51dff66a7767e3464fda60f2cf906700"
- }
- Frame {
- msec: 5984
- hash: "7e16e6360fc2e9db67dbf11d58042745"
- }
- Frame {
- msec: 6000
- hash: "7e16e6360fc2e9db67dbf11d58042745"
- }
- Frame {
- msec: 6016
- hash: "7e16e6360fc2e9db67dbf11d58042745"
- }
- Frame {
- msec: 6032
- hash: "7e16e6360fc2e9db67dbf11d58042745"
- }
- Frame {
- msec: 6048
- hash: "7e16e6360fc2e9db67dbf11d58042745"
- }
- Frame {
- msec: 6064
- hash: "51dff66a7767e3464fda60f2cf906700"
- }
- Frame {
- msec: 6080
- hash: "f8038dc4b67b92ef776a97589240e8c5"
- }
- Frame {
- msec: 6096
- hash: "2117c775960234c297187ea2e9d51e73"
- }
- Frame {
- msec: 6112
- hash: "692931f1db6ddf0b37eb64026ca830f8"
- }
- Frame {
- msec: 6128
- hash: "f01b7368e42381dda5eadf56482ea993"
- }
- Frame {
- msec: 6144
- hash: "9811f823e057882d384f36d7227fa12e"
- }
- Frame {
- msec: 6160
- hash: "9b40b6c75af876567ff49688bc710f2a"
- }
- Frame {
- msec: 6176
- hash: "e97a5d968da37789c28816608fa262a1"
- }
- Frame {
- msec: 6192
- hash: "2cd0627fdc63bb91f8dcac789d7a93b2"
- }
- Frame {
- msec: 6208
- hash: "ae2407f8da9a047d2725bcdcf8e568b2"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6224
- hash: "90fb4e4ba04ac32b52c10b3258431c04"
- }
- Frame {
- msec: 6240
- hash: "90fb4e4ba04ac32b52c10b3258431c04"
- }
- Frame {
- msec: 6256
- hash: "90fb4e4ba04ac32b52c10b3258431c04"
- }
- Frame {
- msec: 6272
- hash: "90fb4e4ba04ac32b52c10b3258431c04"
- }
- Frame {
- msec: 6288
- hash: "73c06997014af4e008b546b53fe349fb"
- }
- Frame {
- msec: 6304
- hash: "451a9408b04826ab35749d9120efd6bb"
- }
- Frame {
- msec: 6320
- hash: "451a9408b04826ab35749d9120efd6bb"
- }
- Frame {
- msec: 6336
- hash: "3fad6b23b0b78f844e02fe307e20d376"
- }
- Frame {
- msec: 6352
- hash: "1c25b3d65e8590f8c213afa76b722e97"
- }
- Frame {
- msec: 6368
- hash: "769d2724656dbf0e793ecd8e42db3de2"
- }
- Frame {
- msec: 6384
- hash: "9e375cb3815723a2c5dda39c79325e96"
- }
- Frame {
- msec: 6400
- hash: "77a245991ed8e40163bd0224eb15f20e"
- }
- Frame {
- msec: 6416
- hash: "e6936f1122c8c0a76b0eb61ad086a9f1"
- }
- Frame {
- msec: 6432
- hash: "8048f84221a02e7102cf3272445862a1"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.0.png
deleted file mode 100644
index 814cc89210..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.qml
deleted file mode 100644
index d211832b0f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/data/test_flipable_resize.qml
+++ /dev/null
@@ -1,207 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "test_flipable_resize.0.png"
- }
- Frame {
- msec: 32
- hash: "8d8c6a3c37ba3cb77afcc7ed4234d40f"
- }
- Frame {
- msec: 48
- hash: "93ab01494e2229c0921c25d3acbcffe6"
- }
- Frame {
- msec: 64
- hash: "5036bf3c842e5ad09b7bac5512e433ad"
- }
- Frame {
- msec: 80
- hash: "ef02ef4598fbe6390391b7f2c17ec99d"
- }
- Frame {
- msec: 96
- hash: "7fa83afca86cfec48a4986ba3df08e3b"
- }
- Frame {
- msec: 112
- hash: "d9388827bd7755bb9bc1ef78507cc0ac"
- }
- Frame {
- msec: 128
- hash: "d18778f4f748f7ee54404db334831ff7"
- }
- Frame {
- msec: 144
- hash: "fee69ae3b4d79b795d4443b055a8a91a"
- }
- Frame {
- msec: 160
- hash: "f80fa0131c859286e900071b51e74784"
- }
- Frame {
- msec: 176
- hash: "b654e51ea71ec118e6b985743281b6a1"
- }
- Frame {
- msec: 192
- hash: "91c771226e9c97e0f00c6f7c6fc6c95c"
- }
- Frame {
- msec: 208
- hash: "0f612f81541b093442e68d99e00c288c"
- }
- Frame {
- msec: 224
- hash: "246b619598606fef9f0442439cee4ec6"
- }
- Frame {
- msec: 240
- hash: "1d2f34459b2128877218cef340f46f06"
- }
- Frame {
- msec: 256
- hash: "af3c2eef734da05d45484bbb19646425"
- }
- Frame {
- msec: 272
- hash: "85dfe5680e47919500728de6e93c8290"
- }
- Frame {
- msec: 288
- hash: "8fd7d439bafa07461a65a3c97cf8602a"
- }
- Frame {
- msec: 304
- hash: "1ebf543a84aae4abfd480f24ad362cb0"
- }
- Frame {
- msec: 320
- hash: "60a9c9300981282986659e7c73d381b0"
- }
- Frame {
- msec: 336
- hash: "686f3ff048f2b214033988d989ed087a"
- }
- Frame {
- msec: 352
- hash: "24694e17476b0ffe9848159aa282e931"
- }
- Frame {
- msec: 368
- hash: "c05e1bdf62e3e58972f868b930823a58"
- }
- Frame {
- msec: 384
- hash: "cbc1a3c78b8f79047d1221d5ae06f0f8"
- }
- Frame {
- msec: 400
- hash: "05ad366e74bf30b1619cf2ef1f530d82"
- }
- Frame {
- msec: 416
- hash: "4c5c536f2c03ecfb7d3d8f56638001ec"
- }
- Frame {
- msec: 432
- hash: "9754048ffcb7863a8a676e5bee4a7991"
- }
- Frame {
- msec: 448
- hash: "047aa8203ad18023f5af340a41f1084e"
- }
- Frame {
- msec: 464
- hash: "1351b7c92cd873db387e93dc74cca848"
- }
- Frame {
- msec: 480
- hash: "4066f52fae753013396195dc98311058"
- }
- Frame {
- msec: 496
- hash: "21d969b92993e428e79babb574e9203d"
- }
- Frame {
- msec: 512
- hash: "62c00f52e8b0592fbb59f88deb3b022e"
- }
- Frame {
- msec: 528
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 544
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 560
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 576
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 592
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 608
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 624
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 640
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 656
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 672
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 688
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 704
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 720
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 736
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 752
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
- Frame {
- msec: 768
- hash: "322719dee40d3495e9b4d2faac351e89"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/test-flipable.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/test-flipable.qml
deleted file mode 100644
index 8a178b3f24..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/test-flipable.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 400; height: 240
- color: "white"
-
- Timer {
- interval: 3000; running: true; repeat: true; triggeredOnStart: true
- onTriggered: {
- if (flipable.state == '') flipable.state = 'back'; else flipable.state = ''
- if (flipable2.state == '') flipable2.state = 'back'; else flipable2.state = ''
- }
- }
-
- Flipable {
- id: flipable
- width: 200; height: 200
-
- transform: Rotation {
- id: rotation; angle: 0
- origin.x: 100; origin.y: 100
- axis.x: 0; axis.y: 1; axis.z: 0
- }
-
- front: Rectangle {
- color: "steelblue"; width: 200; height: 200
- }
-
- back: Rectangle {
- color: "deeppink"; width: 200; height: 200
- }
-
- states: State {
- name: "back"
- PropertyChanges { target: rotation; angle: 180 }
- }
-
- transitions: Transition {
- NumberAnimation { easing.type: "InOutQuad"; properties: "angle"; duration: 3000 }
- }
- }
-
- Flipable {
- id: flipable2
- x: 200; width: 200; height: 200
-
- transform: Rotation {
- id: rotation2; angle: 0
- origin.x: 100; origin.y: 100
- axis.x: 1; axis.z: 0
- }
-
- front: Rectangle {
- color: "deeppink"; width: 200; height: 200
- }
-
- back: Rectangle {
- color: "steelblue"; width: 200; height: 200
- }
-
- states: State {
- name: "back"
- PropertyChanges { target: rotation2; angle: 180 }
- }
-
- transitions: Transition {
- NumberAnimation { easing.type: "InOutQuad"; properties: "angle"; duration: 3000 }
- }
- }
-
- Rectangle {
- x: 25; width: 150; y: 210; height: 20; color: "black"
- visible: flipable.side == Flipable.Front
- }
- Rectangle {
- x: 225; width: 150; y: 210; height: 20; color: "black"
- visible: flipable2.side == Flipable.Back
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/test_flipable_resize.qml b/tests/auto/declarative/qmlvisual/qdeclarativeflipable/test_flipable_resize.qml
deleted file mode 100644
index 8aeb6c8f7c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeflipable/test_flipable_resize.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-import QtQuick 1.0
-Item { //realWindow
- width: 370
- height: 480
- Item {
- id: window
- NumberAnimation on width{ from:320; to:370; duration: 500 }
- NumberAnimation on height{ from:480; to:320; duration: 500 }
- Flipable {
- id: flipable
- x: 0
- y: window.height / 3.0 - 40
- width: parent.width
- height: parent.height
- transform: Rotation {
- id: transform
- origin.x: window.width / 2.0
- origin.y: 0
- origin.z: 0
- axis.x: 0
- axis.y: 1
- axis.z: 0
- angle: 0;
- }
- front: Rectangle{
- width: parent.width
- height: 80
- color: "blue"
- }back: Rectangle{
- width: parent.width
- height: 80
- color: "red"
- }
- }
- Flipable {
- id: flipableBack
- x: 0
- y: 2.0 * window.height / 3.0 - 40
- width: parent.width
- height: parent.height
- transform: Rotation {
- id: transformBack
- origin.x: window.width / 2.0
- origin.y: 0
- origin.z: 0
- axis.x: 0
- axis.y: 1
- axis.z: 0
- angle: 180;
- }
- front: Rectangle{
- width: parent.width
- height: 80
- color: "blue"
- }back: Rectangle{
- width: parent.width
- height: 80
- color: "red"
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png
deleted file mode 100644
index b053048fe7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.1.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.1.png
deleted file mode 100644
index c675be7235..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.10.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.10.png
deleted file mode 100644
index c675be7235..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.2.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.2.png
deleted file mode 100644
index 9f605c3598..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.3.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.3.png
deleted file mode 100644
index 767d7a9f79..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.4.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.4.png
deleted file mode 100644
index 20146c932f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.5.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.5.png
deleted file mode 100644
index 85fac8913a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.6.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.6.png
deleted file mode 100644
index e522baee9a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.7.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.7.png
deleted file mode 100644
index f9192e46fd..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.8.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.8.png
deleted file mode 100644
index ad187bdd3d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.9.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.9.png
deleted file mode 100644
index 96c6325724..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml
deleted file mode 100644
index 6f0352d82b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview.qml
+++ /dev/null
@@ -1,2859 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "gridview.0.png"
- }
- Frame {
- msec: 32
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 48
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 64
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 80
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 96
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 112
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 128
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 144
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 160
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 176
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 192
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 208
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 224
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 240
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 256
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 272
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 288
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 304
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 320
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 336
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 352
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 368
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 384
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 400
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 416
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 432
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 448
- hash: "c33447c78ea64452ec3cd1696fb502eb"
- }
- Frame {
- msec: 464
- hash: "159004854f8c07144034e1265cf6f44a"
- }
- Frame {
- msec: 480
- hash: "a3f2471ef4ceac77a1c20ac327550d8d"
- }
- Frame {
- msec: 496
- hash: "1121efa0df5057387be08fced62fe9eb"
- }
- Frame {
- msec: 512
- hash: "67ad85cda0b8fb382cb536ef880f715b"
- }
- Frame {
- msec: 528
- hash: "4de18d32c93ca5cd77cb45c8c4f3b4fc"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "de26f0243101d57f4acf42b256ad75f9"
- }
- Frame {
- msec: 560
- hash: "119ea359724d5f4ba1e1aa120cddf3ea"
- }
- Frame {
- msec: 576
- hash: "65fbee28f9ea68a6f2736d75a65b3ee2"
- }
- Frame {
- msec: 592
- hash: "7b1893397b76b0c95094eeca1dd21446"
- }
- Frame {
- msec: 608
- hash: "7b1893397b76b0c95094eeca1dd21446"
- }
- Frame {
- msec: 624
- hash: "7b1893397b76b0c95094eeca1dd21446"
- }
- Frame {
- msec: 640
- hash: "7b1893397b76b0c95094eeca1dd21446"
- }
- Frame {
- msec: 656
- hash: "7b1893397b76b0c95094eeca1dd21446"
- }
- Frame {
- msec: 672
- hash: "7b1893397b76b0c95094eeca1dd21446"
- }
- Frame {
- msec: 688
- hash: "7b1893397b76b0c95094eeca1dd21446"
- }
- Frame {
- msec: 704
- hash: "7b1893397b76b0c95094eeca1dd21446"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 720
- hash: "7b1893397b76b0c95094eeca1dd21446"
- }
- Frame {
- msec: 736
- hash: "6123118055b4d0678eb2b7cdf8b12592"
- }
- Frame {
- msec: 752
- hash: "fe4b009abe081a6eaeab6ef9e996f3fd"
- }
- Frame {
- msec: 768
- hash: "2f23f647daa1c11637d6a21c2668be49"
- }
- Frame {
- msec: 784
- hash: "62d995a1feb7f600669c1c7ef5f6a5da"
- }
- Frame {
- msec: 800
- hash: "66e881ee93f4722605a63dccd083635d"
- }
- Frame {
- msec: 816
- hash: "27ac08cc4f62552a9d1c1cbf781a00f9"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 832
- hash: "792be2ec5a08ad74cda4c19b6bc209d0"
- }
- Frame {
- msec: 848
- hash: "0d28add40afd81f768603ea3e396f0b3"
- }
- Frame {
- msec: 864
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 880
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 896
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 912
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 928
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 944
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 960
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 976
- image: "gridview.1.png"
- }
- Frame {
- msec: 992
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1008
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1024
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1040
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1056
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1072
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1088
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1104
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1120
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1136
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1152
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1168
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 1184
- hash: "eac6b1299cb386f2be244b43a0be26ae"
- }
- Frame {
- msec: 1200
- hash: "14350c877f5259a3cb3836fa5f8ff563"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1216
- hash: "582bfeca87cba0dee21b9551e583ec93"
- }
- Frame {
- msec: 1232
- hash: "cefe1139141fa381e55f1254713a1380"
- }
- Frame {
- msec: 1248
- hash: "72e966a995c818b16b48bb193eda241a"
- }
- Frame {
- msec: 1264
- hash: "8dfeefd93687861158ca4496e56cdbb9"
- }
- Frame {
- msec: 1280
- hash: "daf8474f1f583039f6a14b822e5dff5e"
- }
- Frame {
- msec: 1296
- hash: "eb2b4ba7ffab22660d0b9de4226ea88f"
- }
- Frame {
- msec: 1312
- hash: "f0f00d22d15ed9828db7b5f3a3669fe9"
- }
- Frame {
- msec: 1328
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1344
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1360
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1376
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1392
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1408
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1424
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1440
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1456
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1472
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1488
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1504
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1520
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1536
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1552
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1568
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1584
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1600
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1616
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1632
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1648
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1664
- hash: "caa3c1a106d549e6bb94a1746bd7a53c"
- }
- Frame {
- msec: 1680
- hash: "66e158aa7dd78362dffddf2a9e7375ef"
- }
- Frame {
- msec: 1696
- hash: "8c23d5245774ab5252c98c19c33f8171"
- }
- Frame {
- msec: 1712
- hash: "bf37dc941e49af9bd1e0e182a4ef6f0a"
- }
- Frame {
- msec: 1728
- hash: "3fc025193fa6d6db0428ae1fa179bf55"
- }
- Frame {
- msec: 1744
- hash: "9efef22e6e29e18b2896982440c7bbae"
- }
- Frame {
- msec: 1760
- hash: "380e92b30430d3f589a88e67b7b959bd"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1776
- hash: "80329cd1548c4ff9ee589d56e9d8cd90"
- }
- Frame {
- msec: 1792
- hash: "6030c139032fc80abb5aabb85d8dfa4d"
- }
- Frame {
- msec: 1808
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 1824
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 1840
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 1856
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 1872
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 1888
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 1904
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 1920
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 1936
- image: "gridview.2.png"
- }
- Frame {
- msec: 1952
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 1968
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 1984
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2000
- hash: "8304d2432168a2ea8a887d9a135b40b4"
- }
- Frame {
- msec: 2016
- hash: "719eabf9ad7e15d5429630c7f7136980"
- }
- Frame {
- msec: 2032
- hash: "a1bd870fffd95a0604dd8e170e571632"
- }
- Frame {
- msec: 2048
- hash: "b406160dda839ee34002190e05ceffac"
- }
- Frame {
- msec: 2064
- hash: "a139784af7675281f0f3760a932aef0c"
- }
- Frame {
- msec: 2080
- hash: "2c7d2f857919deae0a8ad6dc2f7d806f"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2096
- hash: "80af5431f6d9a77f98c23d913c6caad4"
- }
- Frame {
- msec: 2112
- hash: "b3ccaf648e09dbfcbaa7609440c63fc9"
- }
- Frame {
- msec: 2128
- hash: "d267f9f4dd471be1cf4718d212c79887"
- }
- Frame {
- msec: 2144
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2160
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2176
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2192
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2208
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2224
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2240
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2256
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2272
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2288
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2304
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2320
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2336
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2352
- hash: "570da61e2d48acd11474fe005110ab4b"
- }
- Frame {
- msec: 2368
- hash: "db27d4cc92c09148675e76459d8ecb15"
- }
- Frame {
- msec: 2384
- hash: "2c6f60eb170588a8450c679f3b16a6a4"
- }
- Frame {
- msec: 2400
- hash: "024a4d4fc9a11d352d1e0f5ee7f7dbc8"
- }
- Frame {
- msec: 2416
- hash: "c966b518b881f85a2d1cc86f5284ee1b"
- }
- Frame {
- msec: 2432
- hash: "db15811f2d2cff0949213823649ef1d4"
- }
- Frame {
- msec: 2448
- hash: "bbd9fad235aa2843bf2b64f3cf24f4e3"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2464
- hash: "ccbc2f09ed263375e7b52f556fb2836f"
- }
- Frame {
- msec: 2480
- hash: "c3b74e90fa99f4357762b57b9317b6f5"
- }
- Frame {
- msec: 2496
- hash: "4f2fafdb59db544352e3067d67c0a714"
- }
- Frame {
- msec: 2512
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2528
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2544
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2560
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2576
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2592
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2608
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2624
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2640
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2656
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2672
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2688
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2704
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2720
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2736
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2752
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2768
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2784
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2800
- hash: "043583b19c921740dbc990afd4f508ed"
- }
- Frame {
- msec: 2816
- hash: "64fdbc9a930e44dcc38542f720b41b0a"
- }
- Frame {
- msec: 2832
- hash: "257d3d8bcf78671d35a898befec091cb"
- }
- Frame {
- msec: 2848
- hash: "92a51faf52bdc7f895bdc08f049f6ed3"
- }
- Frame {
- msec: 2864
- hash: "5aec71e84a4e9c4962ed73c39d337910"
- }
- Frame {
- msec: 2880
- hash: "e9112eea445585b17d58b6f9ba039c39"
- }
- Frame {
- msec: 2896
- image: "gridview.3.png"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2912
- hash: "32faa54e636773747a2ec4065a11c337"
- }
- Frame {
- msec: 2928
- hash: "ebe24b814e27cd8a8db78da58c8f86d7"
- }
- Frame {
- msec: 2944
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 2960
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 2976
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 2992
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 3008
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 3024
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 3040
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 3056
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 3072
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 3088
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 3104
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3120
- hash: "e67ae32a47213b360c1a445bf645dde2"
- }
- Frame {
- msec: 3136
- hash: "d446b94a2e3d9f7091c5520852d1a215"
- }
- Frame {
- msec: 3152
- hash: "79d1a3489be95d113e8c611a2ba63456"
- }
- Frame {
- msec: 3168
- hash: "95601b7d8ab689142ca89343743b55b2"
- }
- Frame {
- msec: 3184
- hash: "ad67049e51eafbbc33d1e3763d78b5f9"
- }
- Frame {
- msec: 3200
- hash: "69b1d558065ee9b9719c3ae8f08b52ab"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3216
- hash: "858fd65adb231bf2002bcc25075be261"
- }
- Frame {
- msec: 3232
- hash: "2dc6fb114e1d2a606efe48f349251504"
- }
- Frame {
- msec: 3248
- hash: "e4819f09d6640021408e03c50090e849"
- }
- Frame {
- msec: 3264
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3280
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3296
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3312
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3328
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3344
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3360
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3376
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3392
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3408
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3424
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3440
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3456
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3472
- hash: "5fa3ec31176bed2de8cb076b87e0be74"
- }
- Frame {
- msec: 3488
- hash: "6c84f5e6d352ed345a0bed12c50bf7a9"
- }
- Frame {
- msec: 3504
- hash: "15690df807a7c1e9aa9d7e9154c1a492"
- }
- Frame {
- msec: 3520
- hash: "3d6cc3e0d93ddf4b66321fda361f05c0"
- }
- Frame {
- msec: 3536
- hash: "8e3526ffeb9873b55b3bae2827391628"
- }
- Frame {
- msec: 3552
- hash: "33097267d43a7e16a78102cb91c9fd42"
- }
- Frame {
- msec: 3568
- hash: "17ab2623432bba92dc9d99e5764e626e"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3584
- hash: "9945a723d9a3399bb5311eea3d9b0b77"
- }
- Frame {
- msec: 3600
- hash: "e6e9251cd6d941a050beaa36b851e314"
- }
- Frame {
- msec: 3616
- hash: "a61dbcb7d914afe34009085bf37fb8e2"
- }
- Frame {
- msec: 3632
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3648
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3664
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3680
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3696
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3712
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3728
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3744
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3760
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3776
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3792
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3808
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3824
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3840
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3856
- image: "gridview.4.png"
- }
- Frame {
- msec: 3872
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3888
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3904
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3920
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3936
- hash: "e63d987ba303a42046827f14941b444a"
- }
- Frame {
- msec: 3952
- hash: "9942059cb380dbae191850d2e7175906"
- }
- Frame {
- msec: 3968
- hash: "ca5af7d98a008eccba1e21be0da61f3c"
- }
- Frame {
- msec: 3984
- hash: "abb95ac1408d34e2eb319e5396511d65"
- }
- Frame {
- msec: 4000
- hash: "183df6d4be489280181f01a0c0ed3cde"
- }
- Frame {
- msec: 4016
- hash: "64733a4d609c621765d114a6b482dc57"
- }
- Frame {
- msec: 4032
- hash: "897aa5b42e48a7235ab4fdded5876da2"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4048
- hash: "c80f01a1e683d84bfa0821832c113820"
- }
- Frame {
- msec: 4064
- hash: "e7065bf6934c7fb7b160ae5c169633e4"
- }
- Frame {
- msec: 4080
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Frame {
- msec: 4096
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Frame {
- msec: 4112
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Frame {
- msec: 4128
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Frame {
- msec: 4144
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Frame {
- msec: 4160
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Frame {
- msec: 4176
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Frame {
- msec: 4192
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Frame {
- msec: 4208
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Frame {
- msec: 4224
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4240
- hash: "db3d030de94b19ea1db5c60be7c7ca5c"
- }
- Frame {
- msec: 4256
- hash: "917c11b16c6286bea7a37990d7fa078f"
- }
- Frame {
- msec: 4272
- hash: "1616c6def28659d51905564ff83cc112"
- }
- Frame {
- msec: 4288
- hash: "fce04972557736a8dfa8de5f1a605ddb"
- }
- Frame {
- msec: 4304
- hash: "6acffcea115f8a777f62c1f68cd25fa6"
- }
- Frame {
- msec: 4320
- hash: "f96ae6a4f437cf98b268fc0b0611ddc4"
- }
- Frame {
- msec: 4336
- hash: "c9e14157dca547623497a6107f14b73d"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4352
- hash: "6489766ed84c4b6ff26de24cb74848cb"
- }
- Frame {
- msec: 4368
- hash: "9d229c10853b30ed048b892953c5d86c"
- }
- Frame {
- msec: 4384
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4400
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4416
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4432
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4448
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4464
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4480
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4496
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4512
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4528
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4544
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4560
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4576
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4592
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4608
- hash: "2476aa1a7191b485a76c76e98c9be2b0"
- }
- Frame {
- msec: 4624
- hash: "12f17d727d70269fd98a0f6524c9f750"
- }
- Frame {
- msec: 4640
- hash: "e73d64ebe242eae0f412ca463c76085d"
- }
- Frame {
- msec: 4656
- hash: "f37a468e04155c880e707d1d12f71f94"
- }
- Frame {
- msec: 4672
- hash: "3789293a6b8791d8e60b5160fc457345"
- }
- Frame {
- msec: 4688
- hash: "7d8377c816f19fa32d847a30d1c71da9"
- }
- Frame {
- msec: 4704
- hash: "b9867dbb6f03d5970076251e10e47f16"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4720
- hash: "0604bbd1afdfee5881d9d9d79a67a3df"
- }
- Frame {
- msec: 4736
- hash: "93401cdfa6cc7fbbfc479faa0bc1d63f"
- }
- Frame {
- msec: 4752
- hash: "aa379c70dd6a94a55fd8c065331ad47b"
- }
- Frame {
- msec: 4768
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4784
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4800
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4816
- image: "gridview.5.png"
- }
- Frame {
- msec: 4832
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4848
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4864
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4880
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4896
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4912
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4928
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4944
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4960
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4976
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 4992
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5008
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5024
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5040
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5056
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5072
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5088
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5104
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5120
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5136
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5152
- hash: "11150995098af8516513230360d40108"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 5168
- hash: "11150995098af8516513230360d40108"
- }
- Frame {
- msec: 5184
- hash: "c58f071ae4efde5cd265fa6e82dda56b"
- }
- Frame {
- msec: 5200
- hash: "bea9eadda7b015d0e9a0f05924e723f7"
- }
- Frame {
- msec: 5216
- hash: "c255da63dc59ca7555c91701ed373fd5"
- }
- Frame {
- msec: 5232
- hash: "fa0a697341baae4b3aa4dee721ef10a2"
- }
- Frame {
- msec: 5248
- hash: "2d2148840143772fab6b2405bf5eb609"
- }
- Frame {
- msec: 5264
- hash: "3716705b5f7caa86eecc1dfafe31ebcf"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 5280
- hash: "35cfea054566eae3bcc9c8a41caadcdc"
- }
- Frame {
- msec: 5296
- hash: "916858ff0ca4370840d072c389242a2b"
- }
- Frame {
- msec: 5312
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Frame {
- msec: 5328
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Frame {
- msec: 5344
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Frame {
- msec: 5360
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Frame {
- msec: 5376
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Frame {
- msec: 5392
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Frame {
- msec: 5408
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Frame {
- msec: 5424
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Frame {
- msec: 5440
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Frame {
- msec: 5456
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 5472
- hash: "417f4bce58783f0e677b17b05147a663"
- }
- Frame {
- msec: 5488
- hash: "191f2c80617cef61a2890977c3079ad2"
- }
- Frame {
- msec: 5504
- hash: "0902ef220363ad2c08f09199278cecf8"
- }
- Frame {
- msec: 5520
- hash: "d28ea1b1e01588bbb767a5599c5345d2"
- }
- Frame {
- msec: 5536
- hash: "36eeaf2755fffefc32bcd580fade6305"
- }
- Frame {
- msec: 5552
- hash: "51560b23e44e5548875b13ff6dc6ee8d"
- }
- Frame {
- msec: 5568
- hash: "082abbc9ecd0bf39619819aa526c021c"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 5584
- hash: "ab956d21f8ea55dad590b3cafc887585"
- }
- Frame {
- msec: 5600
- hash: "9501050f547de1de0d280a839e35e120"
- }
- Frame {
- msec: 5616
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5632
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5648
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5664
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5680
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5696
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5712
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5728
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5744
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5760
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5776
- image: "gridview.6.png"
- }
- Frame {
- msec: 5792
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5808
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 5824
- hash: "3de570332e8a1e01f409d892feb7930e"
- }
- Frame {
- msec: 5840
- hash: "6aefcf9976f5910376a583b020c8dd4b"
- }
- Frame {
- msec: 5856
- hash: "971ca1e2537d52f352c889817e353736"
- }
- Frame {
- msec: 5872
- hash: "f1f0599e7f4ba2fb869e886a2e7ff216"
- }
- Frame {
- msec: 5888
- hash: "8bf62b11cd4ec99ae41752e1a9a9c7ca"
- }
- Frame {
- msec: 5904
- hash: "f2fcf6ad484b240373822c2450dd5305"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 5920
- hash: "f999073e6303ff5658012dabbef4ee8e"
- }
- Frame {
- msec: 5936
- hash: "c35ef3056155d8d30dd4b9e6299ac68f"
- }
- Frame {
- msec: 5952
- hash: "0326908135c0d693f2fc99c9e02d8f94"
- }
- Frame {
- msec: 5968
- hash: "b0def7204463648dac117ddcc2241c3e"
- }
- Frame {
- msec: 5984
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6000
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6016
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6032
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6048
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6064
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6080
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6096
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6112
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6128
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6144
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6160
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6176
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6192
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6208
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6224
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6240
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6256
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6272
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6288
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6304
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6320
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6336
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6352
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6368
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6384
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6400
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6416
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 6432
- hash: "5e88aeab16a0ccca400163889851bc45"
- }
- Frame {
- msec: 6448
- hash: "5531bf9affacf58945c6c54c5d14c9c9"
- }
- Frame {
- msec: 6464
- hash: "ebc8f36eb0fc7d40bf9f268ef03522a0"
- }
- Frame {
- msec: 6480
- hash: "621a3c318fc259ed27ae050d70d46d39"
- }
- Frame {
- msec: 6496
- hash: "688bea0c0c864d9bc4204cf06b480d3a"
- }
- Frame {
- msec: 6512
- hash: "8419262c19c40172b93c74d34cad12cb"
- }
- Frame {
- msec: 6528
- hash: "57ce65a4ebe51c14ee69083f90ed5b80"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 6544
- hash: "43827ad5cb4173a8a5d434b167f68761"
- }
- Frame {
- msec: 6560
- hash: "13e3e00ec3c11d6ca3e51a7aba0e1a97"
- }
- Frame {
- msec: 6576
- hash: "dcf8c3078973ad99fbbcc763e433de11"
- }
- Frame {
- msec: 6592
- hash: "dcf8c3078973ad99fbbcc763e433de11"
- }
- Frame {
- msec: 6608
- hash: "dcf8c3078973ad99fbbcc763e433de11"
- }
- Frame {
- msec: 6624
- hash: "dcf8c3078973ad99fbbcc763e433de11"
- }
- Frame {
- msec: 6640
- hash: "dcf8c3078973ad99fbbcc763e433de11"
- }
- Frame {
- msec: 6656
- hash: "dcf8c3078973ad99fbbcc763e433de11"
- }
- Frame {
- msec: 6672
- hash: "dcf8c3078973ad99fbbcc763e433de11"
- }
- Frame {
- msec: 6688
- hash: "dcf8c3078973ad99fbbcc763e433de11"
- }
- Frame {
- msec: 6704
- hash: "dcf8c3078973ad99fbbcc763e433de11"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 6720
- hash: "dcf8c3078973ad99fbbcc763e433de11"
- }
- Frame {
- msec: 6736
- image: "gridview.7.png"
- }
- Frame {
- msec: 6752
- hash: "bb4674d0de11e4f625e6db940b4ec06c"
- }
- Frame {
- msec: 6768
- hash: "26f602a711cea77e5c7be08a93981306"
- }
- Frame {
- msec: 6784
- hash: "5346bc8b1711a6679867d81efb9da563"
- }
- Frame {
- msec: 6800
- hash: "3aa4d335a91be2bf2616d61fa7719ce5"
- }
- Frame {
- msec: 6816
- hash: "2bad8dd039a35f11ba86b409bbcea6fe"
- }
- Frame {
- msec: 6832
- hash: "20e4b381a6bed27e9e64d2eeda7870da"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 6848
- hash: "e96eb16671f26f04a72498bc3ab54f06"
- }
- Frame {
- msec: 6864
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 6880
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 6896
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 6912
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 6928
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 6944
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 6960
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 6976
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 6992
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7008
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7024
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 7040
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7056
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7072
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7088
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7104
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7120
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7136
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7152
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 7168
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7184
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7200
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7216
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7232
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7248
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7264
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7280
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7296
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7312
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7328
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7344
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7360
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7376
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7392
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7408
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7424
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7440
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7456
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7472
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7488
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7504
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7520
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7536
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7552
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7568
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7584
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 7600
- hash: "f0e0fe7c155bbee3957a80077703fadc"
- }
- Frame {
- msec: 7616
- hash: "6e26f05f7a2531620ed4a25073e0f0c5"
- }
- Frame {
- msec: 7632
- hash: "9fe693b6b53763ffc1b94d157252b18c"
- }
- Frame {
- msec: 7648
- hash: "49aae47da204d4104757b4420df7413e"
- }
- Frame {
- msec: 7664
- hash: "ecd7456cb5ba2034c766e1ec298c2ebf"
- }
- Frame {
- msec: 7680
- hash: "2a5a7dfcd64200864abfa9267e802f4e"
- }
- Frame {
- msec: 7696
- image: "gridview.8.png"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 7712
- hash: "e11fcb0e62d7f6bfb40b7336e89ff014"
- }
- Frame {
- msec: 7728
- hash: "5a07fa8768ebfb938204e500f4a09253"
- }
- Frame {
- msec: 7744
- hash: "1ee3a4780979f69cd7926df3d4c18731"
- }
- Frame {
- msec: 7760
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7776
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7792
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7808
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7824
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7840
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7856
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7872
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7888
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7904
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7920
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7936
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7952
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 7968
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 7984
- hash: "ca4edfecdfc410aca6557b9a3095d92b"
- }
- Frame {
- msec: 8000
- hash: "1306bb76c161e84e2e5307a0ebc34393"
- }
- Frame {
- msec: 8016
- hash: "a97cbb851cf1fdeb428ee36042be52e1"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 8032
- hash: "e79ccbe112066ded3276aa7feb2e7848"
- }
- Frame {
- msec: 8048
- hash: "9cc673f743e2018cf9a6d815fe76dc80"
- }
- Frame {
- msec: 8064
- hash: "8179262829f88ee4bbb9537b29ab56ee"
- }
- Frame {
- msec: 8080
- hash: "3810cc1b5902259c22bce0118497aaf3"
- }
- Frame {
- msec: 8096
- hash: "d41c5a6fdfafb2263e7c35a927f7753c"
- }
- Frame {
- msec: 8112
- hash: "e54d0179d62b7cdec96218c3a0ef110d"
- }
- Frame {
- msec: 8128
- hash: "da89e8408417b99582ffd825c2226bf4"
- }
- Frame {
- msec: 8144
- hash: "5d7b9247aecd4adc939c6fb89d5eac2c"
- }
- Frame {
- msec: 8160
- hash: "5d7b9247aecd4adc939c6fb89d5eac2c"
- }
- Frame {
- msec: 8176
- hash: "5d7b9247aecd4adc939c6fb89d5eac2c"
- }
- Frame {
- msec: 8192
- hash: "5d7b9247aecd4adc939c6fb89d5eac2c"
- }
- Frame {
- msec: 8208
- hash: "5d7b9247aecd4adc939c6fb89d5eac2c"
- }
- Frame {
- msec: 8224
- hash: "5d7b9247aecd4adc939c6fb89d5eac2c"
- }
- Frame {
- msec: 8240
- hash: "5d7b9247aecd4adc939c6fb89d5eac2c"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 8256
- hash: "5d7b9247aecd4adc939c6fb89d5eac2c"
- }
- Frame {
- msec: 8272
- hash: "2fcac6c204d45d6fbab76c3d07e2c8ad"
- }
- Frame {
- msec: 8288
- hash: "78602c9ac9dbd6c34ef539799513d874"
- }
- Frame {
- msec: 8304
- hash: "02f8d434d50af8fa6063a4f03dabe2b1"
- }
- Frame {
- msec: 8320
- hash: "ff5da7b1a1467418bc712c0ac33c878f"
- }
- Frame {
- msec: 8336
- hash: "2aed8048e5040ebda3bdfdf4a57d08eb"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 8352
- hash: "c6b50c1a6a843aa9484c48e4bf073e4b"
- }
- Frame {
- msec: 8368
- hash: "a08ef172dfb72151108e81cacfaa964f"
- }
- Frame {
- msec: 8384
- hash: "a2a755231d0eee686aa38cd4d4b417f2"
- }
- Frame {
- msec: 8400
- hash: "5c598e26c1b65796b8e68c7d27abbc0f"
- }
- Frame {
- msec: 8416
- hash: "290662cda876fccc87971d2cebc69d52"
- }
- Frame {
- msec: 8432
- hash: "290662cda876fccc87971d2cebc69d52"
- }
- Frame {
- msec: 8448
- hash: "290662cda876fccc87971d2cebc69d52"
- }
- Frame {
- msec: 8464
- hash: "290662cda876fccc87971d2cebc69d52"
- }
- Frame {
- msec: 8480
- hash: "290662cda876fccc87971d2cebc69d52"
- }
- Frame {
- msec: 8496
- hash: "290662cda876fccc87971d2cebc69d52"
- }
- Frame {
- msec: 8512
- hash: "290662cda876fccc87971d2cebc69d52"
- }
- Frame {
- msec: 8528
- hash: "290662cda876fccc87971d2cebc69d52"
- }
- Frame {
- msec: 8544
- hash: "290662cda876fccc87971d2cebc69d52"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 8560
- hash: "290662cda876fccc87971d2cebc69d52"
- }
- Frame {
- msec: 8576
- hash: "1aface9c3746488496af48caf23af1a5"
- }
- Frame {
- msec: 8592
- hash: "c08f9756c9cc453a2544052b15beab5d"
- }
- Frame {
- msec: 8608
- hash: "b70544dc0d5cc18181f0bf40c068410b"
- }
- Frame {
- msec: 8624
- hash: "7e8fbce1337b0b04beda76ee54c98285"
- }
- Frame {
- msec: 8640
- hash: "fb8acbfc93b64d960abb17f097fe36fe"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 8656
- image: "gridview.9.png"
- }
- Frame {
- msec: 8672
- hash: "16013089bfe18b35efbd8cd36d37bb0a"
- }
- Frame {
- msec: 8688
- hash: "57a857a48922cb252bb4ddc77b29825e"
- }
- Frame {
- msec: 8704
- hash: "10a46ba67a0c7abe08ea8f80a75040e8"
- }
- Frame {
- msec: 8720
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Frame {
- msec: 8736
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Frame {
- msec: 8752
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Frame {
- msec: 8768
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Frame {
- msec: 8784
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Frame {
- msec: 8800
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Frame {
- msec: 8816
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Frame {
- msec: 8832
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Frame {
- msec: 8848
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Frame {
- msec: 8864
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 8880
- hash: "72759bd1e2618c61c42bbe4de3ad3a96"
- }
- Frame {
- msec: 8896
- hash: "df1797772003dc3dbdd0e245c447bf20"
- }
- Frame {
- msec: 8912
- hash: "70dd7fd50388196706f72a48ac96963c"
- }
- Frame {
- msec: 8928
- hash: "439e43c26fc22a6c3a2b8568bfddbfa3"
- }
- Frame {
- msec: 8944
- hash: "77e9ea697690a3e5c3965c0bf76055b0"
- }
- Frame {
- msec: 8960
- hash: "30226190fa4466b3450ff1f810e85635"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 8976
- hash: "9a69afa4de272f00d8a26141fa974f6e"
- }
- Frame {
- msec: 8992
- hash: "1883a34a21ecc690022a6623c67c8ba1"
- }
- Frame {
- msec: 9008
- hash: "e5be5b7e7060fffacaf93b6bf8d051a4"
- }
- Frame {
- msec: 9024
- hash: "2667c2596de97dc15353158eba03495f"
- }
- Frame {
- msec: 9040
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9056
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9072
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9088
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9104
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9120
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9136
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9152
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9168
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9184
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9200
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9216
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9232
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9248
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9264
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 9280
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9296
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9312
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9328
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9344
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9360
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9376
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 536870912
- text: "1e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 9392
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9408
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9424
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9440
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9456
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9472
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9488
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9504
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9520
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9536
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9552
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9568
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9584
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9600
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9616
- image: "gridview.10.png"
- }
- Frame {
- msec: 9632
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9648
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9664
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9680
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9696
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9712
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9728
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9744
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9760
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 9776
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9792
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9808
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9824
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
- Frame {
- msec: 9840
- hash: "02c632713d0dc64bff9d8e58f745df95"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png
deleted file mode 100644
index 27e0783497..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.1.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.1.png
deleted file mode 100644
index 27e0783497..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.10.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.10.png
deleted file mode 100644
index b0486e5923..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.2.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.2.png
deleted file mode 100644
index b0348ab430..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.3.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.3.png
deleted file mode 100644
index c3113e9731..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.4.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.4.png
deleted file mode 100644
index 725d4e9bda..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.5.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.5.png
deleted file mode 100644
index cc6d8d6377..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.6.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.6.png
deleted file mode 100644
index ccf9f5ffd4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.7.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.7.png
deleted file mode 100644
index 2f7f475844..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.8.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.8.png
deleted file mode 100644
index fff1b40cf6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.9.png b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.9.png
deleted file mode 100644
index 27e0783497..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml
deleted file mode 100644
index 2c43f7d3df..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/data/gridview2.qml
+++ /dev/null
@@ -1,2479 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "gridview2.0.png"
- }
- Frame {
- msec: 32
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 48
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 64
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 80
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 96
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 112
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 128
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 144
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 160
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 176
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 192
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 208
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 224
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 240
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 256
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 272
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 288
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 304
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 320
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 336
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 352
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 368
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 384
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 400
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 416
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 432
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 448
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 464
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 480
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 496
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 512
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 528
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 544
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 560
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 576
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 592
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 608
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 624
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 640
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 656
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 672
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 688
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 704
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 720
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 736
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 752
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 768
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 784
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 800
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 816
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 832
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 848
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 864
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 880
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 896
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 912
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 928
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 944
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 960
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 976
- image: "gridview2.1.png"
- }
- Frame {
- msec: 992
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1008
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1024
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1040
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1056
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1072
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1088
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1104
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1120
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1136
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1152
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1168
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1184
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1200
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1216
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1232
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1248
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1264
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 1280
- hash: "4ffd56d59c14ba676393686d753951d7"
- }
- Frame {
- msec: 1296
- hash: "e2f7702ed749330b2f027aa73967a4cf"
- }
- Frame {
- msec: 1312
- hash: "3f4dcee547e925db9b3da1fa08bab3c9"
- }
- Frame {
- msec: 1328
- hash: "12b0bf8abbb9b6a0597eccebe5322551"
- }
- Frame {
- msec: 1344
- hash: "23da2f9a800b805ce7b77ff08218907d"
- }
- Frame {
- msec: 1360
- hash: "9c039c94a4202b99bf913891bdcb3698"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1376
- hash: "dd7c95ca98c4f37837c2ff7f03243fc3"
- }
- Frame {
- msec: 1392
- hash: "6f31f7af4e68ab0eab101e7ae840b4b6"
- }
- Frame {
- msec: 1408
- hash: "29943a44b9830bb64b3e5a3b6abd8c42"
- }
- Frame {
- msec: 1424
- hash: "93d37221e8e022c84e35c7bd44b0644e"
- }
- Frame {
- msec: 1440
- hash: "9ce3cd471dba7fe94de4e9ad321803b2"
- }
- Frame {
- msec: 1456
- hash: "0d30916c7e05ff8609af5894f47a89bb"
- }
- Frame {
- msec: 1472
- hash: "0d30916c7e05ff8609af5894f47a89bb"
- }
- Frame {
- msec: 1488
- hash: "0d30916c7e05ff8609af5894f47a89bb"
- }
- Frame {
- msec: 1504
- hash: "0d30916c7e05ff8609af5894f47a89bb"
- }
- Frame {
- msec: 1520
- hash: "0d30916c7e05ff8609af5894f47a89bb"
- }
- Frame {
- msec: 1536
- hash: "0d30916c7e05ff8609af5894f47a89bb"
- }
- Frame {
- msec: 1552
- hash: "0d30916c7e05ff8609af5894f47a89bb"
- }
- Frame {
- msec: 1568
- hash: "0d30916c7e05ff8609af5894f47a89bb"
- }
- Frame {
- msec: 1584
- hash: "0d30916c7e05ff8609af5894f47a89bb"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1600
- hash: "0d30916c7e05ff8609af5894f47a89bb"
- }
- Frame {
- msec: 1616
- hash: "6775c78beca0f078c5f2c57370de1946"
- }
- Frame {
- msec: 1632
- hash: "898709f3871e13825baf48861930f26c"
- }
- Frame {
- msec: 1648
- hash: "c1a568599592a3f455ad550c2e4878a8"
- }
- Frame {
- msec: 1664
- hash: "a80d8cbf0c6fe8383badbb2badb361ad"
- }
- Frame {
- msec: 1680
- hash: "310eaf71fe8d3807606e58a666c65ccd"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1696
- hash: "0f317f50b0d2a4c5daf819431527416e"
- }
- Frame {
- msec: 1712
- hash: "d251b64b794902fe2c5da3cee43ff82d"
- }
- Frame {
- msec: 1728
- hash: "757adc256e1b5d739c29ee82bdacfa16"
- }
- Frame {
- msec: 1744
- hash: "1c20e69e033a5fa4825fd46f51d1e348"
- }
- Frame {
- msec: 1760
- hash: "03cbcd361ec24925222802c8ece99793"
- }
- Frame {
- msec: 1776
- hash: "dffaa2dd4d6dd89a1b26d5db38906059"
- }
- Frame {
- msec: 1792
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1808
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1824
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1840
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1856
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1872
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1888
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1904
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1920
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1936
- image: "gridview2.2.png"
- }
- Frame {
- msec: 1952
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1968
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 1984
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 2000
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 2016
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2032
- hash: "77d5193bc5f53fe5cb98a236c55f841e"
- }
- Frame {
- msec: 2048
- hash: "1f046afe50ee5e1fc07e89a40528351c"
- }
- Frame {
- msec: 2064
- hash: "132fbaa8fc2890d48f1916a25cb09887"
- }
- Frame {
- msec: 2080
- hash: "e904c892dc27ff1700009470f234ce0d"
- }
- Frame {
- msec: 2096
- hash: "0968397c7a209059cd466c61ac891081"
- }
- Frame {
- msec: 2112
- hash: "d5b4fc1b568a4a1b63a91b422272c704"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2128
- hash: "a980a2e7bd10328fbd4400e799aa7c24"
- }
- Frame {
- msec: 2144
- hash: "b74be5349822d52ced201d7f34a96122"
- }
- Frame {
- msec: 2160
- hash: "f7c6dbcd7d55b3230af463098f346bd8"
- }
- Frame {
- msec: 2176
- hash: "393358a0ee7636a535f14f0dc9c3d609"
- }
- Frame {
- msec: 2192
- hash: "cad337b87b629b1eee78407aacfd279e"
- }
- Frame {
- msec: 2208
- hash: "d90b762e62867e3ff928160bed85d2ff"
- }
- Frame {
- msec: 2224
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Frame {
- msec: 2240
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Frame {
- msec: 2256
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Frame {
- msec: 2272
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Frame {
- msec: 2288
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Frame {
- msec: 2304
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Frame {
- msec: 2320
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Frame {
- msec: 2336
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Frame {
- msec: 2352
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Frame {
- msec: 2368
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2384
- hash: "520445d8619ad9bdde0db0e61f17567c"
- }
- Frame {
- msec: 2400
- hash: "5c9801ffdb07be53524cf0a4f8709ee4"
- }
- Frame {
- msec: 2416
- hash: "adef25d77f816e40ec02886187f456bf"
- }
- Frame {
- msec: 2432
- hash: "56290066fa32054bb7e1669bbda3f3bb"
- }
- Frame {
- msec: 2448
- hash: "101b94bcf3f536bd64f0ac50f21cd5de"
- }
- Frame {
- msec: 2464
- hash: "edaee946a2e25fed6de9acfda0d44a14"
- }
- Frame {
- msec: 2480
- hash: "b170b60632b17595713dd911afc46fcc"
- }
- Frame {
- msec: 2496
- hash: "57550914cd214025c6b1f3dfa446417f"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2512
- hash: "3fd7252f5e61e3c348219a54fd5b95d9"
- }
- Frame {
- msec: 2528
- hash: "c6c27dd386e40bc0a02ad8104301d391"
- }
- Frame {
- msec: 2544
- hash: "dd476c04d3612f940e1959030ee8e264"
- }
- Frame {
- msec: 2560
- hash: "f2f8d9bb8a1865237398421f6a6d89dc"
- }
- Frame {
- msec: 2576
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2592
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2608
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2624
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2640
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2656
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2672
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2688
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2704
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2720
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2736
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 536870912
- text: "1c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2752
- hash: "d4a48ee79a18cc5c0bc123fbb40c3efd"
- }
- Frame {
- msec: 2768
- hash: "f13bc957329adad9dcb1ce0c408eeaaf"
- }
- Frame {
- msec: 2784
- hash: "9a676805f3474f924cbe7ea21ee9dcab"
- }
- Frame {
- msec: 2800
- hash: "f0161b0d27757137bcb7fd3e6db2280c"
- }
- Frame {
- msec: 2816
- hash: "c7034a0e8956c9f483c128a934d68fa7"
- }
- Frame {
- msec: 2832
- hash: "19664de1a738458810896959ba4087ad"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 536870912
- text: "1c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2848
- hash: "c5d5ff1884dd0ede23097530c249678c"
- }
- Frame {
- msec: 2864
- hash: "131ae4a26ad06bbef105668d30e154aa"
- }
- Frame {
- msec: 2880
- hash: "5d6ba09a5038e00007af0fa3f89b67b8"
- }
- Frame {
- msec: 2896
- image: "gridview2.3.png"
- }
- Frame {
- msec: 2912
- hash: "9d5ee2458abc5dfd56abfd42c906270f"
- }
- Frame {
- msec: 2928
- hash: "823b5d63768f5a18e795d5ed61f4dec8"
- }
- Frame {
- msec: 2944
- hash: "1b7ebcf0e3d68e429cb04966120985e5"
- }
- Frame {
- msec: 2960
- hash: "1b7ebcf0e3d68e429cb04966120985e5"
- }
- Frame {
- msec: 2976
- hash: "1b7ebcf0e3d68e429cb04966120985e5"
- }
- Frame {
- msec: 2992
- hash: "1b7ebcf0e3d68e429cb04966120985e5"
- }
- Frame {
- msec: 3008
- hash: "1b7ebcf0e3d68e429cb04966120985e5"
- }
- Frame {
- msec: 3024
- hash: "1b7ebcf0e3d68e429cb04966120985e5"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3040
- hash: "1b7ebcf0e3d68e429cb04966120985e5"
- }
- Frame {
- msec: 3056
- hash: "1a8a32127c1b699bc282b0c209117a00"
- }
- Frame {
- msec: 3072
- hash: "2f5f2ab12410c070a7c05a1674e273fe"
- }
- Frame {
- msec: 3088
- hash: "afe7c2cd74cc90d67e8c068eaf5988eb"
- }
- Frame {
- msec: 3104
- hash: "e063d9eb45dc42b3f8b66937b7b4c19a"
- }
- Frame {
- msec: 3120
- hash: "75a620b42caabf5b1576041dbd4c2808"
- }
- Frame {
- msec: 3136
- hash: "2e2b9db4d2f19035c7c29489332b2550"
- }
- Frame {
- msec: 3152
- hash: "32370cba80db8eaf1f5cd9b73d3472ed"
- }
- Frame {
- msec: 3168
- hash: "3a79c47a8eb8bb79316e61a7eed58e57"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3184
- hash: "c84e47182ef6ebec61163f9b42d03c64"
- }
- Frame {
- msec: 3200
- hash: "6a0a83a39e6ab82b5437d46468e4776d"
- }
- Frame {
- msec: 3216
- hash: "945929656c1d27bcba51ce908e72a770"
- }
- Frame {
- msec: 3232
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Frame {
- msec: 3248
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Frame {
- msec: 3264
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Frame {
- msec: 3280
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Frame {
- msec: 3296
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Frame {
- msec: 3312
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Frame {
- msec: 3328
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Frame {
- msec: 3344
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Frame {
- msec: 3360
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Frame {
- msec: 3376
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3392
- hash: "506283ccfe9670633ce0bf60b437b37b"
- }
- Frame {
- msec: 3408
- hash: "7d12bcac0fcaaff7467c444ab89f1e06"
- }
- Frame {
- msec: 3424
- hash: "2f4538eec0c704af25b0a73d5a8dded4"
- }
- Frame {
- msec: 3440
- hash: "4722cbfba5de7e4f7b3cee10bd0f75b5"
- }
- Frame {
- msec: 3456
- hash: "3a6df7e6d771c6edc5218ad9a4bf6ab0"
- }
- Frame {
- msec: 3472
- hash: "09219f55fae47a0afed887ebf68a36bc"
- }
- Frame {
- msec: 3488
- hash: "c04c0010761f572c5b16963699c70135"
- }
- Frame {
- msec: 3504
- hash: "52d59ffff0f2109f9a584f3582158798"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3520
- hash: "9b1d58189c56205ba8963671bfb86742"
- }
- Frame {
- msec: 3536
- hash: "7de84895e12919ffe935b23372db95db"
- }
- Frame {
- msec: 3552
- hash: "d9c5b4c2a7831c216fe2266fe26306b0"
- }
- Frame {
- msec: 3568
- hash: "1c2bc039c48e7e9da07165f405a6f207"
- }
- Frame {
- msec: 3584
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3600
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3616
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3632
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3648
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3664
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3680
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3696
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3712
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3728
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3744
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3760
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3776
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3792
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 3808
- hash: "abf9f5ef21fb62e5ad89ae2640a5a7e1"
- }
- Frame {
- msec: 3824
- hash: "58103d91498617585163e0508bdb724d"
- }
- Frame {
- msec: 3840
- hash: "c46ea52b070681155466b30096379c4f"
- }
- Frame {
- msec: 3856
- image: "gridview2.4.png"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3872
- hash: "523667a6f3213fb67de1744636780831"
- }
- Frame {
- msec: 3888
- hash: "f0b7d38f695a29f6787dc3683a05a7c8"
- }
- Frame {
- msec: 3904
- hash: "1e5cf55e27217e67a5deb89e2d46349a"
- }
- Frame {
- msec: 3920
- hash: "c49869491f484d07da838a21564e5e19"
- }
- Frame {
- msec: 3936
- hash: "1acce2b796476d2d7d130749b06f334f"
- }
- Frame {
- msec: 3952
- hash: "19ee6550b52517345859f9feb0b0d5a4"
- }
- Frame {
- msec: 3968
- hash: "d2f360af319c740ad095ee0a463fa6fa"
- }
- Frame {
- msec: 3984
- hash: "032326c6cf2a9da09c2388626ce942ef"
- }
- Frame {
- msec: 4000
- hash: "ba2a7178b7c68001ecfdfea053507d0e"
- }
- Frame {
- msec: 4016
- hash: "9afddf683c810e288ed0da2fa44c5182"
- }
- Frame {
- msec: 4032
- hash: "93a7145e4bafa1e40a1db013b1c4337c"
- }
- Frame {
- msec: 4048
- hash: "3d48687ecb20a8670dd656c5705a0797"
- }
- Frame {
- msec: 4064
- hash: "7578264d5ea215f7fde90478ba5e6d32"
- }
- Frame {
- msec: 4080
- hash: "fb84bbce52e9c4dc4efc1eed7e863007"
- }
- Frame {
- msec: 4096
- hash: "df5d88d8421af767057fc4b3d0de23b1"
- }
- Frame {
- msec: 4112
- hash: "dae3e3e10fe7e0ddcf10a7bb4ecc3f1a"
- }
- Frame {
- msec: 4128
- hash: "eb15ba34411afd416dea5bc2b18cfb27"
- }
- Frame {
- msec: 4144
- hash: "5f51ade6a1400093e9dd2b80d6f7a6ca"
- }
- Frame {
- msec: 4160
- hash: "5e240752b752ca2ed4e6087f4deb0fbf"
- }
- Frame {
- msec: 4176
- hash: "ae1931b9f168211c44c7269a245635fd"
- }
- Frame {
- msec: 4192
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4208
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4224
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4240
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4256
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4272
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4288
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4304
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4320
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4336
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4352
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4368
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4384
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4400
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4416
- hash: "83588693715deadea8b875d6c6547371"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4432
- hash: "83588693715deadea8b875d6c6547371"
- }
- Frame {
- msec: 4448
- hash: "ae1931b9f168211c44c7269a245635fd"
- }
- Frame {
- msec: 4464
- hash: "a8e4b69162a6298929c12a91e60f20c1"
- }
- Frame {
- msec: 4480
- hash: "ca4694bbbdc206c46600c894ed853390"
- }
- Frame {
- msec: 4496
- hash: "21b2f2ee716d6b28066d44bfdc57babf"
- }
- Frame {
- msec: 4512
- hash: "d37df25a59f3ba88b78f548521a6e5b2"
- }
- Frame {
- msec: 4528
- hash: "b554cb62b97bbbb671d9b34389d4187a"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4544
- hash: "d28889303f98c47665247009bcfd68e7"
- }
- Frame {
- msec: 4560
- hash: "80e7808641fc79c893a02842f641249b"
- }
- Frame {
- msec: 4576
- hash: "4f3a39e8c61ad9197e7f24058671e510"
- }
- Frame {
- msec: 4592
- hash: "ba2a7178b7c68001ecfdfea053507d0e"
- }
- Frame {
- msec: 4608
- hash: "ca1c72729c41845151820d362721a1e7"
- }
- Frame {
- msec: 4624
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4640
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4656
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4672
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4688
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4704
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4720
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4736
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4752
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4768
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4784
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4800
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4816
- image: "gridview2.5.png"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4832
- hash: "ac37c4abbbc11b8e2bf8e0e8dae6180f"
- }
- Frame {
- msec: 4848
- hash: "1176eed6f023a843a646517e60f848b5"
- }
- Frame {
- msec: 4864
- hash: "26eca367a7fe38ac123fa63cfbb20421"
- }
- Frame {
- msec: 4880
- hash: "d471f06d345e5a09bf4ea540b80fe1e3"
- }
- Frame {
- msec: 4896
- hash: "e3694d271e363df1b212d975a464df62"
- }
- Frame {
- msec: 4912
- hash: "3dc24a10bbf6a6a0ba85f50de8646305"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 536870912
- text: "1d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4928
- hash: "08e7979e36a9a8a500193020ab68c616"
- }
- Frame {
- msec: 4944
- hash: "bd91601e455c2c37c786f907bd20b447"
- }
- Frame {
- msec: 4960
- hash: "e4b676fc9752f3bff5353a2bf528b3ac"
- }
- Frame {
- msec: 4976
- hash: "c772188a68cc0958c247145005d580ef"
- }
- Frame {
- msec: 4992
- hash: "eded946d9e7c6418e3933624fe2f1dbf"
- }
- Frame {
- msec: 5008
- hash: "46a2dd2bfa66a3781a00fe466e05eeb0"
- }
- Frame {
- msec: 5024
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5040
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5056
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5072
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5088
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5104
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5120
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5136
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5152
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5168
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5184
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5200
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5216
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5232
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5248
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5264
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5280
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5296
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5312
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5328
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5344
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5360
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5376
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5392
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5408
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5424
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5440
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5456
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5472
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5488
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5504
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5520
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5536
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5552
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5568
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5584
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5600
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 5616
- hash: "4e11a072f1136c2c6298e6cfb25700dd"
- }
- Frame {
- msec: 5632
- hash: "e44ee0f83cbd176620d5c91851402b5b"
- }
- Frame {
- msec: 5648
- hash: "c18bc8109b350673faf64b4722e86f3d"
- }
- Frame {
- msec: 5664
- hash: "1b552ed8555c61e1fa664e6c88aee64d"
- }
- Frame {
- msec: 5680
- hash: "11284c77b23ba4b4b0c664b387dc9d48"
- }
- Frame {
- msec: 5696
- hash: "fbd015d60a8ada6a671301d01846b4c8"
- }
- Frame {
- msec: 5712
- hash: "1456fca256ab6fdf930dd079ee8b77a7"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 5728
- hash: "bf7f688319a89ade564734d7fc658167"
- }
- Frame {
- msec: 5744
- hash: "68819e722d6032881824448ed63248b2"
- }
- Frame {
- msec: 5760
- hash: "510589f35813c6c1d6484f614da92ae3"
- }
- Frame {
- msec: 5776
- image: "gridview2.6.png"
- }
- Frame {
- msec: 5792
- hash: "37f9e630ac66e999046d686078cf5a68"
- }
- Frame {
- msec: 5808
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5824
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5840
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5856
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5872
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5888
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5904
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5920
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5936
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5952
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5968
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 5984
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 6000
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 6016
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 6032
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 6048
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 6064
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 6080
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 6096
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 6112
- hash: "b534ccea1f69ececc54d943e73b7e9f4"
- }
- Frame {
- msec: 6128
- hash: "f45eb6005981864d7e4d1379a4390b02"
- }
- Frame {
- msec: 6144
- hash: "a644905acb7cf6e4d9351f1140985a98"
- }
- Frame {
- msec: 6160
- hash: "011be55b909843b2506c5a97e7571e51"
- }
- Frame {
- msec: 6176
- hash: "35b224d84ae3a4bdba0ace487471f0a6"
- }
- Frame {
- msec: 6192
- hash: "dcfd5536e6065a19650fe67914211223"
- }
- Frame {
- msec: 6208
- hash: "8ad99c352901c54ecc601ca2ac8c1f08"
- }
- Frame {
- msec: 6224
- hash: "e4774d15b45865b9f445f679cd0414ea"
- }
- Frame {
- msec: 6240
- hash: "a5b78dfb09b9031f0aabfa7439cbc433"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 6256
- hash: "20b87dc26080f8e8e070b2fa299f496a"
- }
- Frame {
- msec: 6272
- hash: "0e6d05d1df8328ca17d953476d19ae14"
- }
- Frame {
- msec: 6288
- hash: "e2b1ec6b985bbc57f0384a49f3af545c"
- }
- Frame {
- msec: 6304
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6320
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6336
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6352
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6368
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6384
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6400
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6416
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6432
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6448
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6464
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6480
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6496
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6512
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6528
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6544
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6560
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6576
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6592
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6608
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6624
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6640
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6656
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6672
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6688
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6704
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6720
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6736
- image: "gridview2.7.png"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 6752
- hash: "8d36bc2f3ab614d19f3ec8821f3e81ed"
- }
- Frame {
- msec: 6768
- hash: "6cbeb42ae5aa75638fedcaf38d25370a"
- }
- Frame {
- msec: 6784
- hash: "fe3b287b14cbfbca4e19a2de979e9e16"
- }
- Frame {
- msec: 6800
- hash: "69650da29b84b8009c30de516fb9b623"
- }
- Frame {
- msec: 6816
- hash: "5cbcaf1e6916aa635e31ac4219e387f7"
- }
- Frame {
- msec: 6832
- hash: "acb7f98da26b70bebe20336c51449318"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 536870912
- text: "1f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 6848
- hash: "8588b82fadca8ea18d4cc268508119e0"
- }
- Frame {
- msec: 6864
- hash: "e2cf9055220b1c8126423df30e3607ed"
- }
- Frame {
- msec: 6880
- hash: "d06e77ff2044ba3f6fc1664af5720a0a"
- }
- Frame {
- msec: 6896
- hash: "b931ef84ecc38676d602638081b1f126"
- }
- Frame {
- msec: 6912
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 6928
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 6944
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 6960
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 6976
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 6992
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7008
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7024
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7040
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7056
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7072
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7088
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7104
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7120
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7136
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7152
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7168
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7184
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7200
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7216
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7232
- hash: "b6a0ee0b24737bc0045ff3fb68cfe3ad"
- }
- Frame {
- msec: 7248
- hash: "d30ed063d99d02f6d8302847e83d60a1"
- }
- Frame {
- msec: 7264
- hash: "30b128c6248cb35ee4c55e1c2129a19c"
- }
- Frame {
- msec: 7280
- hash: "1ae71ef5b1006f637bd8df0769af65a6"
- }
- Frame {
- msec: 7296
- hash: "6bd6f0c35aeede01d1a8e42c81cd6fb8"
- }
- Frame {
- msec: 7312
- hash: "ca90dcb70d416616dcae2df84956cff1"
- }
- Frame {
- msec: 7328
- hash: "a33bc4f7c40fa3eb36803c20222d75f6"
- }
- Frame {
- msec: 7344
- hash: "12430a710362b47fef8dfc022b789e07"
- }
- Frame {
- msec: 7360
- hash: "a18abef207f5f6bbd260ca98cce91380"
- }
- Frame {
- msec: 7376
- hash: "e853ea2eba5e3baeba0f43e57d2415ba"
- }
- Frame {
- msec: 7392
- hash: "294cff3e6d3a1101f76d2ecce14e11a1"
- }
- Frame {
- msec: 7408
- hash: "c38ee992a1b435c12a66e4d49d78c2ed"
- }
- Frame {
- msec: 7424
- hash: "54775aed3a6283c1fa330d65de5bc70c"
- }
- Frame {
- msec: 7440
- hash: "eba9a696d9ab1e8da7c6c59787d3f311"
- }
- Frame {
- msec: 7456
- hash: "2048cd8abb56be34f9e475d7f92b6153"
- }
- Frame {
- msec: 7472
- hash: "d56b4a04f1d2835a0852ea20e8e2f451"
- }
- Frame {
- msec: 7488
- hash: "f5afb489b7aee20b45c9f5eb5a9eb8d7"
- }
- Frame {
- msec: 7504
- hash: "26f25129f9d2c73a7a5168c73e299919"
- }
- Frame {
- msec: 7520
- hash: "6f23e3c4ec738903b5011cbee1141b00"
- }
- Frame {
- msec: 7536
- hash: "e10d4bf08980ea7d079a2f359ee62b95"
- }
- Frame {
- msec: 7552
- hash: "eb0a656e8feabcb131e59c66b64f7d09"
- }
- Frame {
- msec: 7568
- hash: "94cfa3f71326f6e188fee32c0970de30"
- }
- Frame {
- msec: 7584
- hash: "8bc4274a3f0498d600405409f69c1d16"
- }
- Frame {
- msec: 7600
- hash: "995cb12e1d07488ae4139d2c67552dc6"
- }
- Frame {
- msec: 7616
- hash: "2d9d9f3fb43e2280b0dea054dc8d7dd4"
- }
- Frame {
- msec: 7632
- hash: "dd68eb502e1fe114a24d902b50a5dff9"
- }
- Frame {
- msec: 7648
- hash: "b2738b11e34c5d7840e9aacc443cc1f0"
- }
- Frame {
- msec: 7664
- hash: "de148713c156476ca7c4021633596782"
- }
- Frame {
- msec: 7680
- hash: "0e273dbaaab76058b6e04a830bbd80d3"
- }
- Frame {
- msec: 7696
- image: "gridview2.8.png"
- }
- Frame {
- msec: 7712
- hash: "5dcad019a1c0eaaab381a7602e1914ff"
- }
- Frame {
- msec: 7728
- hash: "e046dc0869cc629de5037214af1d58f8"
- }
- Frame {
- msec: 7744
- hash: "affc71688994d6b6763e78305ba1d6b3"
- }
- Frame {
- msec: 7760
- hash: "d5ec397fdf17bf864e4575543c535dad"
- }
- Frame {
- msec: 7776
- hash: "b37cb5816c2077b8018f78985b91fdeb"
- }
- Frame {
- msec: 7792
- hash: "a3060fa79b1f7f0d9e61ad8c69be19ed"
- }
- Frame {
- msec: 7808
- hash: "236dcbaf20e11335efc64b2ce87b551d"
- }
- Frame {
- msec: 7824
- hash: "09af1c488b56dc3c7c3893b024f6d53f"
- }
- Frame {
- msec: 7840
- hash: "ef2bf66ac68002102476d3cfe4501cb7"
- }
- Frame {
- msec: 7856
- hash: "165c02de63604aa118d9f8995e6b45af"
- }
- Frame {
- msec: 7872
- hash: "fb790a0e4bc20afe24639dadf50a03c0"
- }
- Frame {
- msec: 7888
- hash: "881298b629aeaeb23fa9e9eb446912d2"
- }
- Frame {
- msec: 7904
- hash: "2175ff436c42616147b2e71b91e34060"
- }
- Frame {
- msec: 7920
- hash: "85bc0cd40ddc08814a2c3677e7e43bcf"
- }
- Frame {
- msec: 7936
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 7952
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 7968
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 7984
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8000
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8016
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8032
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8048
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8064
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8080
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8096
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8112
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8128
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8144
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8160
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8176
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8192
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8208
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8224
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8240
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8256
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8272
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8288
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8304
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8320
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8336
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8352
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8368
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8384
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8400
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8416
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8432
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8448
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8464
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8480
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8496
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8512
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8528
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8544
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8560
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8576
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8592
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8608
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8624
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8640
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8656
- image: "gridview2.9.png"
- }
- Frame {
- msec: 8672
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8688
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8704
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8720
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8736
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8752
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8768
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8784
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8800
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8816
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8832
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8848
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8864
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8880
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8896
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8912
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8928
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8944
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8960
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8976
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 8992
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 9008
- hash: "33d81c39d16c6a326012499796e50e03"
- }
- Frame {
- msec: 9024
- hash: "33d81c39d16c6a326012499796e50e03"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview.qml
deleted file mode 100644
index 95556f14d8..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview.qml
+++ /dev/null
@@ -1,51 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 300; height: 400; color: "black"
-
- ListModel {
- id: appModel
- ListElement { lColor: "red" }
- ListElement { lColor: "yellow" }
- ListElement { lColor: "green" }
- ListElement { lColor: "blue" }
- ListElement { lColor: "purple" }
- ListElement { lColor: "orange" }
- ListElement { lColor: "pink" }
- ListElement { lColor: "brown" }
- ListElement { lColor: "gray" }
- ListElement { lColor: "red" }
- ListElement { lColor: "yellow" }
- ListElement { lColor: "green" }
- ListElement { lColor: "blue" }
- ListElement { lColor: "purple" }
- ListElement { lColor: "orange" }
- ListElement { lColor: "pink" }
- ListElement { lColor: "brown" }
- ListElement { lColor: "gray" }
- }
-
- Component {
- id: appDelegate
- Item {
- width: 100; height: 100
- Rectangle {
- color: lColor; x: 4; y: 4
- width: 92; height: 92
- }
- }
- }
-
- Component {
- id: appHighlight
- Rectangle { width: 100; height: 100; color: "white"; z: 0 }
- }
-
- GridView {
- anchors.fill: parent
- cellWidth: 100; cellHeight: 100; cacheBuffer: 200
- model: appModel; delegate: appDelegate
- highlight: appHighlight
- focus: true
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml b/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml
deleted file mode 100644
index 0dd9d0e62c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativegridview/gridview2.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- property string skip: "Last bit is wrong (rest is probably right, just bitrot). QTBUG-14838"
- width: 300; height: 400; color: "black"
-
- ListModel {
- id: appModel
- ListElement { lColor: "red" }
- ListElement { lColor: "yellow" }
- ListElement { lColor: "green" }
- ListElement { lColor: "blue" }
- ListElement { lColor: "purple" }
- ListElement { lColor: "orange" }
- ListElement { lColor: "pink" }
- ListElement { lColor: "brown" }
- ListElement { lColor: "gray" }
- ListElement { lColor: "red" }
- ListElement { lColor: "yellow" }
- ListElement { lColor: "green" }
- ListElement { lColor: "blue" }
- ListElement { lColor: "purple" }
- ListElement { lColor: "orange" }
- ListElement { lColor: "pink" }
- ListElement { lColor: "brown" }
- ListElement { lColor: "gray" }
- ListElement { lColor: "red" }
- ListElement { lColor: "yellow" }
- ListElement { lColor: "green" }
- }
-
- Component {
- id: appDelegate
- Item {
- width: 100; height: 100
- Rectangle {
- color: lColor; x: 4; y: 4
- width: 92; height: 92
- }
- }
- }
-
- GridView {
- id: gridView; anchors.fill: parent
- cellWidth: 100; cellHeight: 100; cacheBuffer: 200
- model: appModel; delegate: appDelegate; focus: true
- keyNavigationWraps: true
-
- flickableData: [//Presumably the different way of doing highlight tests more things
- Rectangle {
- color: "transparent"; border.color: "white"; border.width: 8; z: 3000
- height: 100; width: 100
- x: gridView.currentItem.x
- y: gridView.currentItem.y
-
- Behavior on x { SmoothedAnimation { velocity: 500 } }
- Behavior on y { SmoothedAnimation { velocity: 500 } }
- }
- ]
- }
-
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.0.png
deleted file mode 100644
index dd992cc635..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.1.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.1.png
deleted file mode 100644
index dd992cc635..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.2.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.2.png
deleted file mode 100644
index 887d395dac..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.3.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.3.png
deleted file mode 100644
index 055258def9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.4.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.4.png
deleted file mode 100644
index dd992cc635..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.5.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.5.png
deleted file mode 100644
index d3d35afa1a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.6.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.6.png
deleted file mode 100644
index 2028c960ee..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.7.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.7.png
deleted file mode 100644
index a667cf94b1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.8.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.8.png
deleted file mode 100644
index 2f0967dcb9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.qml
deleted file mode 100644
index 001861d533..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/drag.qml
+++ /dev/null
@@ -1,5207 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "drag.0.png"
- }
- Frame {
- msec: 32
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 48
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 64
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 80
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 96
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 112
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 128
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 144
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 160
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 176
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 192
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 208
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 224
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 240
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 256
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 272
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 288
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 304
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 320
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 336
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 352
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 368
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 384
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 400
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 416
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 432
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 448
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 464
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 480
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 496
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 512
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 528
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 544
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 560
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 576
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 592
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 608
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 624
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 640
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 656
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 672
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 688
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 704
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 720
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 736
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 752
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 768
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 784
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 800
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 816
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 832
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 848
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 864
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 880
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 896
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 912
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 928
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 944
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 960
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 976
- image: "drag.1.png"
- }
- Frame {
- msec: 992
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1008
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1024
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1040
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1056
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1072
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1088
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1104
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1120
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1136
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1152
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1168
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1184
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1200
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1216
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1232
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1248
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1264
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1280
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1296
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1312
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1328
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1344
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1360
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1376
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1392
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1408
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1424
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1440
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1456
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1472
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1488
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1504
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1520
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1536
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1552
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1568
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1584
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1600
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1616
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1632
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1648
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1664
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1680
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1696
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1712
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1728
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1744
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1760
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1776
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1792
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 16; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1808
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 1824
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 16; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1840
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1856
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 18; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1872
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 19; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1888
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 22; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 29; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1904
- hash: "a6c6df34bb552249393ba208ad327691"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 37; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1920
- hash: "a611a57ed2bdf4eaa5e13612346ecce7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1936
- image: "drag.2.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 73; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1952
- hash: "6170ab3a7e51278ac4462b89fe7781b4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 87; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1968
- hash: "32866f0aa5b13b3ab68661f49336439e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 100; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1984
- hash: "26dc17c16eed46d37932cfe48d182b62"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 1
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 121; y: -3
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2000
- hash: "ba70936fb44396fac184cc7ba0e94a90"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 130; y: -6
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2016
- hash: "bae13291d4f031c34d80428d83367ede"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: -8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2032
- hash: "0a2fbfdc27bb6662553f637f1c325475"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 151; y: -9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 160; y: -9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2048
- hash: "cdab85736dfcc4424d42e0e96094eded"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 170; y: -9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2064
- hash: "76d51ce9ad69560d983d8d86d50f7bd0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 174; y: -9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2080
- hash: "b5ada9e80f7f894aa141d5e3cfa5d69e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 176; y: -9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2096
- hash: "446d35fc7b9c0fe4bf0bfe0182f994f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 183; y: -5
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2112
- hash: "cced849d314835d43ebd93bcfe396c12"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 188; y: -3
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2128
- hash: "09696d700944c373f82d7c6f75d51c51"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 193; y: 0
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2144
- hash: "af56586db93c49637c9bfbb17cac9001"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 199; y: 2
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2160
- hash: "66fc1b30b4037aad3975036faccbb7a7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2176
- hash: "3f443d9c89d6ba1b36ca9635bc32de1a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 217; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2192
- hash: "df47db8cc7bb466b298749a6449d3d70"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 227; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 234; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 241; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2208
- hash: "c1146fdc0e628d050442606096e52b10"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 252; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2224
- hash: "22f44c43f300fd7ff2b4d87d93756178"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 272; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2240
- hash: "bf11dc9a9679692abde5d116a169eecf"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 299; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 329; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2256
- hash: "e63f1960f342639ac412010ffcefb049"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 360; y: 57
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2272
- hash: "ae0228419ec9358025c3026a39abd671"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 392; y: 65
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2288
- hash: "6d2272e2bea21c280100ed8de5b95d4e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 422; y: 72
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 451; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2304
- hash: "1628c6fa5feabd90924452bc9f55054d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 476; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2320
- hash: "f696791eb0a317b0efb69407616bec9f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 497; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2336
- hash: "f696791eb0a317b0efb69407616bec9f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 513; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 527; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2352
- hash: "1628c6fa5feabd90924452bc9f55054d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 538; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2368
- hash: "a5d3d247e22a2852a60fe07ab40345a5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 548; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2384
- hash: "a453fb6bcdd87f819782d8d8c46b56ee"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 556; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 563; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2400
- hash: "a5d3d247e22a2852a60fe07ab40345a5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 570; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2416
- hash: "1628c6fa5feabd90924452bc9f55054d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 576; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2432
- hash: "f696791eb0a317b0efb69407616bec9f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 582; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 585; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2448
- hash: "8f061986df633c21dcad767ee857988c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 589; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2464
- hash: "2cc110a6fb800171d7d752693ede1e4e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 592; y: 82
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2480
- hash: "319fc3053e02a8b161f33a79d9839bb1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 595; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 597; y: 89
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2496
- hash: "42915c8866746316cf1083a2d55410fb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 601; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2512
- hash: "5df34b3ae292de9a9cd8ff09347e7bd4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 606; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2528
- hash: "1f9bc3c955983ea85f568797cb4f7365"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 609; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 613; y: 124
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2544
- hash: "3f156dc64a12c672874acf5456ef4a31"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 618; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2560
- hash: "d4d9fe5b5f138e06a87039ebf8695d03"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 619; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2576
- hash: "383fe813021ee2791930200b2f88a802"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 620; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 622; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2592
- hash: "a235544bd5e791dfa329bd0b87358bfa"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 625; y: 163
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2608
- hash: "a87497cf47db3209610b532efe7eb380"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 629; y: 174
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2624
- hash: "abe69b4e4b7508028226f9b73c38058a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 634; y: 194
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 642; y: 225
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2640
- hash: "51c72fa2fa4c8765d882fe65dc0d697d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 649; y: 260
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2656
- hash: "79da7ed21bd6fc16b7264d4403e763cc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 655; y: 291
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2672
- hash: "b2828b6340a57fa45416469b23b7cef0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 658; y: 316
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 659; y: 340
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2688
- hash: "64a5351f2d746b338c34c7ea9ba6e1fe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 660; y: 370
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2704
- hash: "9eedb7a6875210084fd2ec95d3505512"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 661; y: 408
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2720
- hash: "b88eb8fa8a0cfc263dc7b655ddc29db0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 661; y: 448
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2736
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 660; y: 487
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 659; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2752
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 658; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2768
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 658; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2784
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 658; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 658; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2800
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 657; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2816
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 656; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2832
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 654; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 652; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2848
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 651; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2864
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 650; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2880
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 650; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 648; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2896
- image: "drag.3.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 647; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2912
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 646; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2928
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 645; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 644; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2944
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 643; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2960
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 642; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2976
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 641; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 640; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2992
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 640; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3008
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 639; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3024
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 639; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 638; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3040
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 636; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3056
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 625; y: 505
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3072
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 611; y: 505
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3088
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 582; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 546; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3104
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 505; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3120
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 460; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3136
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 408; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 354; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3152
- hash: "c2997fdde10812f02791bfed5f158ac3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 300; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3168
- hash: "23a6dfbd09e5b44d04f252cedaeb68af"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 250; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3184
- hash: "f74422989711f86a0840ffc98e8a29e9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 163; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3200
- hash: "fa922246d254a7c46d2d1d6ec91a2b02"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3216
- hash: "ef216cb8c2bf58db7d58bd8a2e4eb38d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 101; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3232
- hash: "a383228d22e64b8a7758c959288eaca8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3248
- hash: "636ca2a8e91c49ef6c8b1c93b830f345"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 36; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 16; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3264
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -1; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3280
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3296
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3312
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3328
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3344
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3360
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3376
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 505
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3392
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 504
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 504
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3408
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 505
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3424
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3440
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3456
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3472
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3488
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3504
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3520
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3536
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3552
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Frame {
- msec: 3568
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3584
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3600
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3616
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Frame {
- msec: 3632
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 491
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3648
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 428
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3664
- hash: "9fa1e3686467f28cb013fe093dab388c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 342
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3680
- hash: "7ef97d10862f80d53e0b3b4446661deb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 264
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3696
- hash: "c679866b3965b7b5f48b843d6efccf42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3712
- hash: "de4bd9ad3cbb9bb19bf75f871b044072"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3728
- hash: "c5349bbddc03edd5ee3537e2a738f1ad"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3744
- hash: "bcbe9ec2687a6030385f08d3dc17becf"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "3ad767f63eaccb9e64a9f704900f2530"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 129
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3776
- hash: "421a1ffde15fda0e7846bc095ed2ea37"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3792
- hash: "55c260da304a6b1119af83f6a4efcff0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 123
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3808
- hash: "f231cc521db801b4ec71248812e12db8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 104
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3824
- hash: "b489b6b604e7f7699cac9e42d0725323"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3840
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 13
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3856
- image: "drag.4.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 2
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3872
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -6
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3888
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3904
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3920
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -65
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3936
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -74
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3952
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3968
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3984
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4000
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -77
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4016
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4032
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4048
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4064
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4080
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4096
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -77
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4112
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4128
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4144
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: -78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4160
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -3; y: -84
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4176
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -2; y: -105
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 1; y: -151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4192
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4208
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4224
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4240
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4256
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4272
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4288
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4304
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4320
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4336
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4352
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4368
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Frame {
- msec: 4384
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 3; y: -151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4400
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 4; y: -149
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4416
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 5; y: -147
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4432
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 5; y: -143
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 6; y: -138
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4448
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 7; y: -130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4464
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 9; y: -117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4480
- hash: "668cc6d9d699b947a7c0f3ff4b26853f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 13; y: -94
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 20; y: -63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4496
- hash: "b1b54f7bf8ab9cf98d96f9b34192434b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 29; y: -24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4512
- hash: "a6c6df34bb552249393ba208ad327691"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 39; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4528
- hash: "a05eb803b1f1f3574a2f2e08fe37bd35"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4544
- hash: "3c2f3db46673c2640a26832900b609cb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 65; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4560
- hash: "d0539a9791874f48634bb3cb9f78d9db"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4576
- hash: "f2d862a0b81e2578799d64aef2e6bddc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 77; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 121
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4592
- hash: "295ef097845e30064c4d810a7718896c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 86; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4608
- hash: "22a4a17d82ac402c0e8372861609ff1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4624
- hash: "a70e81b1435afd77b9079c58685ef9d0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 98; y: 143
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 104; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4640
- hash: "d66fefd68fcd96834548c18797eee4bd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4656
- hash: "fcc435dc6f2643cd21a7cfac078880af"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 166
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4672
- hash: "736edfcf33245d46aaea199634896c17"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 123; y: 173
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 129; y: 183
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4688
- hash: "7b7ab312d0c6f4bfc87a2ae467324f4e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 137; y: 197
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4704
- hash: "d78ce756fc27055eeee15001419b7fb5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 146; y: 215
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4720
- hash: "4f15a726939d7f489d1fe58ebb5bcd0a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 157; y: 235
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 255
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4736
- hash: "72184d71fd2fdc6786a43045db0be68f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 180; y: 274
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4752
- hash: "3b3f3f34218bf238f310412cb8c4968d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 293
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4768
- hash: "24c00a7154471431d43b1db957ad6424"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 316
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 221; y: 343
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4784
- hash: "30081a33ab007ff2c7ba6cc293a5aec3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 237; y: 371
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4800
- hash: "c6d398d42d968763c7597728e86304f2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 253; y: 396
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4816
- image: "drag.5.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 268; y: 419
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 276; y: 429
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 284; y: 438
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4832
- hash: "101c007d0e2cf82331ba1cab4880e8a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 291; y: 448
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4848
- hash: "72e46df7427420c5e942a97831723d3f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 307; y: 468
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4864
- hash: "4b7a009b46982a1e9e31250d7ebf0a20"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 323; y: 492
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 341; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4880
- hash: "a3ba70933b6452fad0cdc4192e04be23"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 359; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4896
- hash: "c2ee16182222b403f914eb5550ac6f91"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 378; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4912
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 397; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 416; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4928
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 432; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4944
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 445; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4960
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 456; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 466; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4976
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 475; y: 506
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4992
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 482; y: 505
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5008
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 488; y: 504
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 492; y: 503
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5024
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 496; y: 503
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5040
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 500; y: 502
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5056
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 507; y: 501
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5072
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 512; y: 500
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 516; y: 498
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5088
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 521; y: 494
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5104
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 525; y: 486
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5120
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 532; y: 472
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 542; y: 445
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5136
- hash: "9356ce797d12ae076af947cd0e658551"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 553; y: 414
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5152
- hash: "76a8d3b8465f08fdc4586c7766667eff"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 563; y: 389
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5168
- hash: "569e56ba99776d03dd3140e53bc77f56"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 569; y: 373
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 573; y: 363
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5184
- hash: "7139c72a2458685006da79d9cf11bc44"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 577; y: 354
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5200
- hash: "a83d5ef213edec4c8f938ab04afb5c4f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 580; y: 344
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5216
- hash: "5533602bc8a473c162966142d4bddebd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 584; y: 321
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 586; y: 301
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5232
- hash: "7a79d6e31874428233e9c141d70522fd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 588; y: 264
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5248
- hash: "b14f4daeb25cd71baae36f4cec111813"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 591; y: 238
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5264
- hash: "e2b2513d2918ffb85bab5fff5a8be644"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 592; y: 225
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 593; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5280
- hash: "af0cbb3423491917db1fdaa8350d48b0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 594; y: 209
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5296
- hash: "b9c107f0a13ad37ae05b4d5f9e5f5442"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 594; y: 200
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5312
- hash: "0bbc0c7a4a40ee6b19565c04c23b565d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 594; y: 182
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 593; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5328
- hash: "49494e8526a1417c151c7cac7099b9e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 590; y: 107
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5344
- hash: "5e0839c4414cc8ddc5241c658fd3bf88"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 585; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5360
- hash: "8f061986df633c21dcad767ee857988c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 582; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5376
- hash: "d78c0a4fa0ccad407a565fab3a5c95b9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 579; y: 61
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 576; y: 57
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5392
- hash: "cee6816f84911bc2262afe28d8996719"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 573; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5408
- hash: "2cc6cd514ef7299dd60bf1a735b81d36"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 569; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5424
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 564; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 557; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5440
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 548; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5456
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 540; y: 14
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 532; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5472
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 524; y: -1
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5488
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 517; y: -5
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5504
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 510; y: -9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5520
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 501; y: -14
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 492; y: -18
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5536
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 483; y: -21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5552
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 476; y: -21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5568
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 470; y: -19
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 464; y: -15
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5584
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 458; y: -9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5600
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 452; y: -3
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5616
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 446; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 439; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5632
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 432; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5648
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 424; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5664
- hash: "68c40f3551d7d10e61c5ffbb6948c7e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 413; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 400; y: 59
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5680
- hash: "9bc8a652f43c0e3cae9492f5dff624e7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 392; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 385; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5696
- hash: "5465128afe72d9618cd9abc47f4ce72f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 378; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5712
- hash: "ad739c2028caf8f89d8ae04d509c7854"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 366; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 353; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5728
- hash: "97cd37f639a7bea76a2f68774c0753db"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 339; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5744
- hash: "d24fc8a57dd34e6ddb726426247ec219"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 324; y: 140
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5760
- hash: "f0454d80a51c5f2226bd45aba58dc1e9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 308; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 288; y: 181
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5776
- image: "drag.6.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 266; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5792
- hash: "73623f4a857fd4d5150c2eeef1341540"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 243; y: 237
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5808
- hash: "076c4b60d9ec197950ade51e3f1be791"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 217; y: 265
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 291
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5824
- hash: "22b7d7765c634763fa86912ea262efca"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 167; y: 314
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5840
- hash: "1267c017931bda0b88b4672f46d499e0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 147; y: 331
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5856
- hash: "b6a545e4c14b809f4ebcffbcb59a8e4f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 132; y: 344
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 121; y: 354
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5872
- hash: "b1085cb508d4613c76e99bc879c62cbf"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 363
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5888
- hash: "365fd1260c2109e6d5bd0a97ce3a7e4e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 100; y: 370
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5904
- hash: "3a7d001313b23cbbb7f3d842ab40f41b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 86; y: 377
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 385
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5920
- hash: "c5bda48bb2eaee54d6d8416592830327"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: 394
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5936
- hash: "5d0fd6d8a6ced4f197fe3b09e7e9155b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 29; y: 402
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5952
- hash: "79e2825f98644c061ae5216ae1823e4b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 16; y: 410
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 6; y: 417
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5968
- hash: "22a3978f2f3a0cde67f459527af3b3f2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 0; y: 422
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 427
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5984
- hash: "1511bec94911dd272f78a726e15bf76e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 432
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6000
- hash: "0f892f7e570cdc703e492248c9f54b6c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 439
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6016
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 447
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 452
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6032
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 457
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6048
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 459
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6064
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 464
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 465
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6080
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 467
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6096
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 468
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6112
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 468
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 468
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6128
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 468
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6144
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 468
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6160
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 469
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 470
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6176
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 470
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6192
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Frame {
- msec: 6208
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 470
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6224
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -3; y: 470
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -3; y: 470
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6240
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -2; y: 470
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6256
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -1; y: 470
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6272
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -1; y: 468
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 0; y: 467
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6288
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 0; y: 464
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6304
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 0; y: 458
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6320
- hash: "ec34aa6937d2c081bdf11660a5eb461a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -3; y: 441
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 408
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6336
- hash: "58413f9b01f1e0b49519d8b6a3011607"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 366
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6352
- hash: "b3992d2f9c1383c710ee325a94117a8b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 327
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6368
- hash: "bd415044fcf6218d8184cb0206105e65"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 300
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 288
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6384
- hash: "e7296140fe8b28bed77e95e588c0e463"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 280
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6400
- hash: "9ff532223ccccd663809187465e478c2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 276
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6416
- hash: "4de9ca75503db05df5d8274d75c202e5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 271
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 259
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6432
- hash: "a83b5bc409207e986055081b4ed3faa6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6448
- hash: "7fdbd00dd3553241f30fd6568a8ab646"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 190
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6464
- hash: "5ebaa67eaadc1ede8c46964fa1dffff1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -4; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -2; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6480
- hash: "de4bd9ad3cbb9bb19bf75f871b044072"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 1; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6496
- hash: "9d762cd4dd6508cf8b54c47b76f4ef37"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 5; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6512
- hash: "bdf17c384f4f824a89a06b88ba17c15f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 10; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 25; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6528
- hash: "f279f28995785afd143726aef7673b50"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6544
- hash: "53b6b82a61d017e12afb01a728d8d856"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 80; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6560
- hash: "9a48039175cab1360a0cf5cc195e2082"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 98; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 112; y: 150
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6576
- hash: "cfc3991e30eef6c2edb66cb6060b2bde"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 123; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6592
- hash: "737d8907f62768e623ba76866a509d1e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 134; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6608
- hash: "dea2a596f7d85f29728b33d126d997e5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 145; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 157; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6624
- hash: "3969a0bbb284ab1d5efd20cf93b0422d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6640
- hash: "071ff25e49f7f16a727ff58c42ff766e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 176; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6656
- hash: "454abec991a4675763f379c256919fa7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 184; y: 173
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 189; y: 177
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6672
- hash: "6de741c4e6057dc8580106155c4ac627"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 184
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6688
- hash: "e35853e99cd205b7ccabdf632b238584"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 199; y: 192
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6704
- hash: "15a70a0196227c6bce50ed70cd6383c8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6720
- hash: "bf4b18a73b53c0a554f9bb0ac32a465d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 217; y: 217
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6736
- image: "drag.7.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 224; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6752
- hash: "ddd0f27027e23a45aef131296c781865"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 235; y: 228
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 246; y: 232
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6768
- hash: "715102a252756e5a8c4f459d808aec6a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 257; y: 235
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6784
- hash: "42b9c1b894247ddbd85f4a4aca5695f1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 267; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6800
- hash: "b67b4bdd412ed5160901803c60c6f19e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 275; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 280; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6816
- hash: "3490cc41c2b1f9301c209bdb8f052add"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 281; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6832
- hash: "df32868d564ebbc41c359409b5a69e7d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 282; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6848
- hash: "b9cb430a6f677e67c87322e0aff53fb1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 282; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6864
- hash: "b9cb430a6f677e67c87322e0aff53fb1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 281; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6880
- hash: "df32868d564ebbc41c359409b5a69e7d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 280; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6896
- hash: "3490cc41c2b1f9301c209bdb8f052add"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 279; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6912
- hash: "e23a88f49a73cd2a9326095dd380ab55"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 277; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6928
- hash: "ffffc1aed27fe77c2fe5c035eab706a9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 277; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6944
- hash: "ffffc1aed27fe77c2fe5c035eab706a9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 276; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6960
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 276; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6976
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 6992
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 276; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7008
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7024
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7040
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7056
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7072
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7088
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7104
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7120
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7136
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7152
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7168
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7184
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7200
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7216
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7232
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7248
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7264
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7280
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7296
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7312
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7328
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7344
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7360
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7376
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7392
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7408
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7424
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7440
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7456
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7472
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7488
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7504
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7520
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7536
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7552
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7568
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7584
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7600
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7616
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7632
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7648
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7664
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7680
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7696
- image: "drag.8.png"
- }
- Frame {
- msec: 7712
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7728
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7744
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7760
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7776
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7792
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7808
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7824
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7840
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7856
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7872
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7888
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7904
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7920
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7936
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7952
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7968
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 7984
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
- Frame {
- msec: 8000
- hash: "2c1ce07ab6ce0072f6cb205f1e5297e0"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.0.png
deleted file mode 100644
index 87305b348a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.1.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.1.png
deleted file mode 100644
index 87305b348a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.10.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.10.png
deleted file mode 100644
index 87305b348a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.11.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.11.png
deleted file mode 100644
index b268c5cc79..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.11.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.12.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.12.png
deleted file mode 100644
index 3926b9bea1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.12.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.13.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.13.png
deleted file mode 100644
index 69561957eb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.13.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.14.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.14.png
deleted file mode 100644
index 87305b348a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.14.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.2.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.2.png
deleted file mode 100644
index 87305b348a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.3.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.3.png
deleted file mode 100644
index 1d126919ee..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.4.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.4.png
deleted file mode 100644
index 1d126919ee..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.5.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.5.png
deleted file mode 100644
index 7f76076f0a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.6.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.6.png
deleted file mode 100644
index 02c6af0635..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.7.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.7.png
deleted file mode 100644
index 15f0ec5c73..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.8.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.8.png
deleted file mode 100644
index 15f0ec5c73..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.9.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.9.png
deleted file mode 100644
index 71bf9cd84b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.qml
deleted file mode 100644
index c862678292..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-flickable.qml
+++ /dev/null
@@ -1,5127 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "mousearea-flickable.0.png"
- }
- Frame {
- msec: 32
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 48
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 64
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 80
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 96
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 112
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 128
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 144
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 160
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 176
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 192
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 208
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 224
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 240
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 256
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 272
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 288
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 304
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 320
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 336
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 352
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 368
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 384
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 400
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 416
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 432
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 448
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 464
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 480
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 496
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 512
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 528
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 544
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 560
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 576
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 592
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 608
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 624
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 640
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 656
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 672
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 688
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 704
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 720
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 736
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 752
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 768
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 784
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 800
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 816
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 832
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 848
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 864
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 880
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 896
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 912
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 928
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 944
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 960
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 976
- image: "mousearea-flickable.1.png"
- }
- Frame {
- msec: 992
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1008
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1024
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1040
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1056
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1072
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1088
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1104
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1120
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1136
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1152
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1168
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1184
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1200
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1216
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1232
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1248
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1264
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1280
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1296
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1312
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1328
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1344
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1360
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1376
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1392
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1408
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1424
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1440
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1456
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1472
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1488
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1504
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1520
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1536
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1552
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1568
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1584
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1600
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1616
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1632
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1648
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1664
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1680
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1696
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1712
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1728
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1744
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1760
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1776
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1792
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1808
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1824
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1840
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1856
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1872
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1888
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1904
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1920
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1936
- image: "mousearea-flickable.2.png"
- }
- Frame {
- msec: 1952
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1968
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 1984
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2000
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2016
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2032
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2048
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2064
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2080
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2096
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2112
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2128
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2144
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2160
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2176
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2192
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2208
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2224
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2240
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2256
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2272
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2288
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2304
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2320
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2336
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2352
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2368
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2384
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2400
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2416
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2432
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2448
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2464
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2480
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2496
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2512
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2528
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2544
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2560
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2576
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2592
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 2608
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 188; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2624
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2640
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2656
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2672
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2688
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2704
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2720
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2736
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2752
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2768
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2784
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2800
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2816
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2832
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2848
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2864
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2880
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2896
- image: "mousearea-flickable.3.png"
- }
- Frame {
- msec: 2912
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2928
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2944
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2960
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2976
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 2992
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3008
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3024
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3040
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3056
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3072
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3088
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3104
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3120
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3136
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3152
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3168
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3184
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3200
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3216
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3232
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3248
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3264
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3280
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3296
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3312
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3328
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3344
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3360
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3376
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3392
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3408
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3424
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3440
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3456
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3472
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3488
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3504
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3520
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3536
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3552
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3568
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3584
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3600
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3616
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3632
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3648
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3664
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3680
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3696
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3712
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3728
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3744
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3760
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3776
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3792
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3808
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3824
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3840
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3856
- image: "mousearea-flickable.4.png"
- }
- Frame {
- msec: 3872
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3888
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3904
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3920
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3936
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3952
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3968
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 3984
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4000
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4016
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4032
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4048
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4064
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4080
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4096
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4112
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4128
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4144
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4160
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4176
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4192
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4208
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4224
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4240
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4256
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4272
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4288
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4304
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4320
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4336
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4352
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4368
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4384
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4400
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4416
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4432
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4448
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4464
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4480
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4496
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Frame {
- msec: 4512
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 189; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4528
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 189; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4544
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 190; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 190; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4560
- hash: "4a60ab820ca66548384b2257b21de8ec"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 190; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 190; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4576
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 53
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4592
- hash: "9f9f85d5f879b0e52ebc751d6668cfb8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4608
- hash: "a569789b082296415321ba11c859abe5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 57
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 59
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4624
- hash: "7a5f69a1eecb5de0fc2295cd287eb449"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 193; y: 61
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 193; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4640
- hash: "70e522f64236dfa4e1613ffc29b4b23e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 193; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4656
- hash: "11120d6de575ffa639b6abb3af4afef7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4672
- hash: "ab4c936a81299adf080f3b14f7e6be49"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 195; y: 72
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 195; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4688
- hash: "c29ab366ba3f11de6452949c11310b4a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4704
- hash: "34ef0279e3731447f1df97784b47648a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 82
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 197; y: 84
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4720
- hash: "84df34cd981e0465aaaae47881de6c3b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 197; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 197; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4736
- hash: "837deeb2a92648d830acf29e829ebb53"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 198; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 198; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4752
- hash: "572cb62d69ccb973ea18d3b0eaff571b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 198; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 198; y: 97
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4768
- hash: "3d75735eefbf95f37e2a8605b9167ba1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 199; y: 99
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 199; y: 101
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4784
- hash: "c37507a29e3a6d80446ad68f2d92f266"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 199; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4800
- hash: "b66571ae47bf129be88dc66785a81a7d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 200; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4816
- image: "mousearea-flickable.5.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 200; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 200; y: 116
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4832
- hash: "363eca81f97f20f14e8d480f83d2bc7d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 201; y: 121
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4848
- hash: "72e75cfa62993593303b25cbff4af0e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 201; y: 124
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4864
- hash: "cc6619c7cd6e4e274df4729aad6cca46"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 133
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 135
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4880
- hash: "0b16e524cd5253d07aa9b5855967fa71"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4896
- hash: "091d1ad7aba4b662cba98214c98a4707"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4912
- hash: "f334bfcc3af89bf1405762a215c54ea6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 207; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4928
- hash: "7b41d651ad46341859d0188db341ae10"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 207; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 166
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4944
- hash: "95b57cd3dac3bce56674f2c4143f42d4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4960
- hash: "1709dda08ce7494ff6d082cc5d93f0d2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 175
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 177
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4976
- hash: "390105f21526e1f8fda15666631578a1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 182
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4992
- hash: "ee40862a59f14667c89fa62f380c10fb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5008
- hash: "6d6cec95a6a2445d88b015ff76af032e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 189
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 192
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5024
- hash: "e87bf82b6a7a928a27bffd9cb2dd7604"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 194
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 196
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5040
- hash: "9a9d1e0b1d7b9291480b3ec641f354ce"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 198
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 200
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5056
- hash: "d1372239a681d1fccc25257b4a02fb39"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 202
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5072
- hash: "1f37473ab2fb0643e11e4a41a2ee4561"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 207
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5088
- hash: "1533c6ff17e79a47a5d3510aa85bcf8a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 209
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5104
- hash: "c5980322acf00a04efbd5e1b92aa0e98"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5120
- hash: "b81183233961b34c2a3f21a249b0fbfb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 215
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5136
- hash: "2dc2def0c748ac94d33d90d4a3610136"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 217
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5152
- hash: "9f876eb93a16c24843dd6a5acd303ab3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 218
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5168
- hash: "9f876eb93a16c24843dd6a5acd303ab3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 219
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 220
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5184
- hash: "237dd62011f4253970b946b335e3fb71"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 222
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5200
- hash: "6206ad3e633b6b1b068304caa4efe48a"
- }
- Frame {
- msec: 5216
- hash: "6206ad3e633b6b1b068304caa4efe48a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5232
- hash: "1eb5f0e1aa014a38e6ca66ddfc2a076b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 224
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5248
- hash: "1eb5f0e1aa014a38e6ca66ddfc2a076b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 225
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5264
- hash: "d9e953d132330f8a58a190d61aec6ec3"
- }
- Frame {
- msec: 5280
- hash: "d9e953d132330f8a58a190d61aec6ec3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 226
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5296
- hash: "d9e953d132330f8a58a190d61aec6ec3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5312
- hash: "c1570ad4cb688ea51818e0a09e349daa"
- }
- Frame {
- msec: 5328
- hash: "c1570ad4cb688ea51818e0a09e349daa"
- }
- Frame {
- msec: 5344
- hash: "c1570ad4cb688ea51818e0a09e349daa"
- }
- Frame {
- msec: 5360
- hash: "c1570ad4cb688ea51818e0a09e349daa"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 209; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5376
- hash: "c1570ad4cb688ea51818e0a09e349daa"
- }
- Frame {
- msec: 5392
- hash: "d9e953d132330f8a58a190d61aec6ec3"
- }
- Frame {
- msec: 5408
- hash: "1eb5f0e1aa014a38e6ca66ddfc2a076b"
- }
- Frame {
- msec: 5424
- hash: "9f876eb93a16c24843dd6a5acd303ab3"
- }
- Frame {
- msec: 5440
- hash: "4cad3c6caf8d3009f63923df897c4723"
- }
- Frame {
- msec: 5456
- hash: "79538d2f507fd6eea7ea1f990e90388a"
- }
- Frame {
- msec: 5472
- hash: "e87bf82b6a7a928a27bffd9cb2dd7604"
- }
- Frame {
- msec: 5488
- hash: "390105f21526e1f8fda15666631578a1"
- }
- Frame {
- msec: 5504
- hash: "7b41d651ad46341859d0188db341ae10"
- }
- Frame {
- msec: 5520
- hash: "091d1ad7aba4b662cba98214c98a4707"
- }
- Frame {
- msec: 5536
- hash: "1978cda418856b542d7c5a155b74f09c"
- }
- Frame {
- msec: 5552
- hash: "01bf03313a0229e810a24e2adbbe9775"
- }
- Frame {
- msec: 5568
- hash: "79650397b868019909b931a32a115823"
- }
- Frame {
- msec: 5584
- hash: "84df34cd981e0465aaaae47881de6c3b"
- }
- Frame {
- msec: 5600
- hash: "c29ab366ba3f11de6452949c11310b4a"
- }
- Frame {
- msec: 5616
- hash: "ab4c936a81299adf080f3b14f7e6be49"
- }
- Frame {
- msec: 5632
- hash: "11120d6de575ffa639b6abb3af4afef7"
- }
- Frame {
- msec: 5648
- hash: "70e522f64236dfa4e1613ffc29b4b23e"
- }
- Frame {
- msec: 5664
- hash: "86b32befe0dada5bdce82a7dd14777ce"
- }
- Frame {
- msec: 5680
- hash: "a569789b082296415321ba11c859abe5"
- }
- Frame {
- msec: 5696
- hash: "9f9f85d5f879b0e52ebc751d6668cfb8"
- }
- Frame {
- msec: 5712
- hash: "9f9f85d5f879b0e52ebc751d6668cfb8"
- }
- Frame {
- msec: 5728
- hash: "43fc85bb3b1501f5e12f1fedaaa14c64"
- }
- Frame {
- msec: 5744
- hash: "43fc85bb3b1501f5e12f1fedaaa14c64"
- }
- Frame {
- msec: 5760
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 5776
- image: "mousearea-flickable.6.png"
- }
- Frame {
- msec: 5792
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 5808
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 5824
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 5840
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 5856
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 5872
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 5888
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 5904
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 5920
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 5936
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 5952
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 5968
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 5984
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6000
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6016
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6032
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6048
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6064
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6080
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6096
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6112
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6128
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6144
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6160
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6176
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6192
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6208
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6224
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6240
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6256
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6272
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6288
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6304
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6320
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6336
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6352
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 6368
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 188; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6384
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6400
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6416
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6432
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6448
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6464
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6480
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6496
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6512
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6528
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6544
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6560
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6576
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6592
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6608
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6624
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6640
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6656
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6672
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6688
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6704
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6720
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6736
- image: "mousearea-flickable.7.png"
- }
- Frame {
- msec: 6752
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6768
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6784
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6800
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6816
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6832
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6848
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6864
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6880
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6896
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6912
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6928
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6944
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6960
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6976
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 6992
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7008
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7024
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7040
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7056
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7072
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7088
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7104
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7120
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7136
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7152
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7168
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7184
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7200
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7216
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7232
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7248
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7264
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7280
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7296
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7312
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7328
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7344
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7360
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7376
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7392
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7408
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7424
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7440
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7456
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7472
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7488
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7504
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7520
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7536
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7552
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7568
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7584
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7600
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7616
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7632
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7648
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7664
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7680
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7696
- image: "mousearea-flickable.8.png"
- }
- Frame {
- msec: 7712
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7728
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7744
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7760
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7776
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7792
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7808
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7824
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7840
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7856
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7872
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7888
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7904
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7920
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7936
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7952
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7968
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 7984
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8000
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8016
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8032
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8048
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8064
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8080
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8096
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8112
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8128
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8144
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8160
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8176
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Frame {
- msec: 8192
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 188; y: 182
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8208
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 188; y: 183
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8224
- hash: "037386eb30a5e8d53a20a11258ee0f60"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 189; y: 185
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 189; y: 186
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8240
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 194
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8256
- hash: "a569789b082296415321ba11c859abe5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 196
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 198
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8272
- hash: "7a5f69a1eecb5de0fc2295cd287eb449"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8288
- hash: "11120d6de575ffa639b6abb3af4afef7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8304
- hash: "c29ab366ba3f11de6452949c11310b4a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 219
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8320
- hash: "4e129ebba85d1f3717d09f71eb5a1a7d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 225
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8336
- hash: "837deeb2a92648d830acf29e829ebb53"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 231
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 234
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8352
- hash: "79650397b868019909b931a32a115823"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8368
- hash: "c37507a29e3a6d80446ad68f2d92f266"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 245
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8384
- hash: "01bf03313a0229e810a24e2adbbe9775"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 248
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 251
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8400
- hash: "8ffbbed46737837e55383833b96d2624"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 257
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8416
- hash: "6d49fc41fb6d74643c7613df7e417833"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 259
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 262
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8432
- hash: "806d22bc3533c729cd10dc889c36902d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 265
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 267
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8448
- hash: "cc6619c7cd6e4e274df4729aad6cca46"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 270
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 272
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8464
- hash: "929bf28dcb97e8c93dae5dbe23beecc8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 275
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 278
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8480
- hash: "0121c18897c37481fddbac57db636a60"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 193; y: 283
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8496
- hash: "091d1ad7aba4b662cba98214c98a4707"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 193; y: 285
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 193; y: 288
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8512
- hash: "ce673b66f695f5b002515a5416bbf913"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 290
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 293
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8528
- hash: "66f71641c7a607152f140428ab9621d6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 298
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8544
- hash: "29ca97cc573d3a1fde65320b61678c60"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 299
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 305
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8560
- hash: "021bda841eaefa76ce5e1c97150af6f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 306
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 308
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8576
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 310
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 312
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8592
- hash: "80edf52cc9e64a29f677bc2203220ba9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 316
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8608
- hash: "390105f21526e1f8fda15666631578a1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 318
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 320
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8624
- hash: "ee40862a59f14667c89fa62f380c10fb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 322
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 324
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8640
- hash: "524db6ce45674c777d72f9206415be2f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 328
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8656
- image: "mousearea-flickable.9.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 330
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 332
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8672
- hash: "3ca9742356b6ff833fd287a95520174a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 335
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 338
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8688
- hash: "d1372239a681d1fccc25257b4a02fb39"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 196; y: 341
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 198; y: 347
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8704
- hash: "c5980322acf00a04efbd5e1b92aa0e98"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 198; y: 350
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 200; y: 356
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8720
- hash: "9f876eb93a16c24843dd6a5acd303ab3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 200; y: 358
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 200; y: 360
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8736
- hash: "6206ad3e633b6b1b068304caa4efe48a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 201; y: 364
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8752
- hash: "d9e953d132330f8a58a190d61aec6ec3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 201; y: 366
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8768
- hash: "c1570ad4cb688ea51818e0a09e349daa"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 202; y: 368
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8784
- hash: "11853dcbad9d1d9a8b7d8a4e6fcca140"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 202; y: 369
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8800
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8816
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8832
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8848
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8864
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8880
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8896
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8912
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8928
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8944
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8960
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 8976
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 202; y: 369
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8992
- hash: "c6a81be579382f25ac583734897c2570"
- }
- Frame {
- msec: 9008
- hash: "11853dcbad9d1d9a8b7d8a4e6fcca140"
- }
- Frame {
- msec: 9024
- hash: "c1570ad4cb688ea51818e0a09e349daa"
- }
- Frame {
- msec: 9040
- hash: "6206ad3e633b6b1b068304caa4efe48a"
- }
- Frame {
- msec: 9056
- hash: "2dc2def0c748ac94d33d90d4a3610136"
- }
- Frame {
- msec: 9072
- hash: "2010f6f0c34e59f505bbe1aab262b646"
- }
- Frame {
- msec: 9088
- hash: "3ca9742356b6ff833fd287a95520174a"
- }
- Frame {
- msec: 9104
- hash: "c09f4002ed9d41f62bb1aaff95723cce"
- }
- Frame {
- msec: 9120
- hash: "95b57cd3dac3bce56674f2c4143f42d4"
- }
- Frame {
- msec: 9136
- hash: "52d45e8dde81fef5ee93bbd5a40d4851"
- }
- Frame {
- msec: 9152
- hash: "1978cda418856b542d7c5a155b74f09c"
- }
- Frame {
- msec: 9168
- hash: "7d03030f5a672d87aeabefdf4f3a39a4"
- }
- Frame {
- msec: 9184
- hash: "79650397b868019909b931a32a115823"
- }
- Frame {
- msec: 9200
- hash: "82f54d7e254edcf499ea12a63118e8a7"
- }
- Frame {
- msec: 9216
- hash: "8517007d5102af238935e93a3b38087f"
- }
- Frame {
- msec: 9232
- hash: "ab4c936a81299adf080f3b14f7e6be49"
- }
- Frame {
- msec: 9248
- hash: "11120d6de575ffa639b6abb3af4afef7"
- }
- Frame {
- msec: 9264
- hash: "70e522f64236dfa4e1613ffc29b4b23e"
- }
- Frame {
- msec: 9280
- hash: "86b32befe0dada5bdce82a7dd14777ce"
- }
- Frame {
- msec: 9296
- hash: "a569789b082296415321ba11c859abe5"
- }
- Frame {
- msec: 9312
- hash: "9f9f85d5f879b0e52ebc751d6668cfb8"
- }
- Frame {
- msec: 9328
- hash: "9f9f85d5f879b0e52ebc751d6668cfb8"
- }
- Frame {
- msec: 9344
- hash: "43fc85bb3b1501f5e12f1fedaaa14c64"
- }
- Frame {
- msec: 9360
- hash: "43fc85bb3b1501f5e12f1fedaaa14c64"
- }
- Frame {
- msec: 9376
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 9392
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 9408
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 9424
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 9440
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9456
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9472
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9488
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9504
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9520
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9536
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9552
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9568
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9584
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9600
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9616
- image: "mousearea-flickable.10.png"
- }
- Frame {
- msec: 9632
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9648
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9664
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9680
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9696
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9712
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9728
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 9744
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 205; y: 307
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9760
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9776
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9792
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9808
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9824
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9840
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9856
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9872
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9888
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9904
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9920
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9936
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9952
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9968
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 9984
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10000
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10016
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10032
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10048
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10064
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10080
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10096
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10112
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10128
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10144
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10160
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10176
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10192
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10208
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10224
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10240
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10256
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10272
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10288
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10304
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10320
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10336
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10352
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10368
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10384
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10400
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10416
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10432
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10448
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10464
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10480
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10496
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10512
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10528
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10544
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10560
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10576
- image: "mousearea-flickable.11.png"
- }
- Frame {
- msec: 10592
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10608
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10624
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10640
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10656
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10672
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10688
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10704
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10720
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10736
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10752
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10768
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10784
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10800
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10816
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10832
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10848
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10864
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10880
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10896
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10912
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10928
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10944
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10960
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10976
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 10992
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 11008
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 11024
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 11040
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 11056
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 11072
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 11088
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 308
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11104
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 11120
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 11136
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 309
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11152
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 11168
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Frame {
- msec: 11184
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 310
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11200
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 311
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11216
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 312
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11232
- hash: "90cdfe8920f115fd55cde6fdbd95e867"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 313
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 314
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11248
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 316
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 317
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11264
- hash: "43fc85bb3b1501f5e12f1fedaaa14c64"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 319
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 321
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11280
- hash: "a569789b082296415321ba11c859abe5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 324
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11296
- hash: "7a5f69a1eecb5de0fc2295cd287eb449"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 326
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 327
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11312
- hash: "70e522f64236dfa4e1613ffc29b4b23e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 330
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 332
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11328
- hash: "8e05207e0d0d9d15a61a0d21d985a83a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 335
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 337
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11344
- hash: "dc272fc8fc98d822a154da1d495d4f7e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 343
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 345
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11360
- hash: "34ef0279e3731447f1df97784b47648a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 348
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 350
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11376
- hash: "82f54d7e254edcf499ea12a63118e8a7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 352
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 355
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11392
- hash: "6ef4abc294d928381346e8ff9b012475"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 357
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 359
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11408
- hash: "7d2606d432858288dac019e0002ff85a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 361
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 363
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11424
- hash: "3d75735eefbf95f37e2a8605b9167ba1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 365
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 367
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11440
- hash: "c37507a29e3a6d80446ad68f2d92f266"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 369
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 371
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11456
- hash: "b66571ae47bf129be88dc66785a81a7d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 373
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 375
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11472
- hash: "7d03030f5a672d87aeabefdf4f3a39a4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 379
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11488
- hash: "8ffbbed46737837e55383833b96d2624"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 381
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 383
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11504
- hash: "aafb12a520eb443ee1348282f2c54e4a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 385
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 387
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11520
- hash: "72e75cfa62993593303b25cbff4af0e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 389
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 392
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11536
- image: "mousearea-flickable.12.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 394
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 396
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11552
- hash: "1451addb43319318c794333cd1cec3fd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 398
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 399
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11568
- hash: "929bf28dcb97e8c93dae5dbe23beecc8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 402
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11584
- hash: "cb49adcd2c8afe27fd5926bd622added"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 404
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 406
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11600
- hash: "d0b4215b43403c97d83250add6d2b6db"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 407
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 409
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11616
- hash: "c0a569ee064d844835dddab11eadcd33"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 410
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11632
- hash: "091d1ad7aba4b662cba98214c98a4707"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 411
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 412
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11648
- hash: "52d45e8dde81fef5ee93bbd5a40d4851"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 207; y: 414
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11664
- hash: "ce673b66f695f5b002515a5416bbf913"
- }
- Frame {
- msec: 11680
- hash: "ce673b66f695f5b002515a5416bbf913"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 207; y: 415
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11696
- hash: "ce673b66f695f5b002515a5416bbf913"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 207; y: 416
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11712
- hash: "f334bfcc3af89bf1405762a215c54ea6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 207; y: 417
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11728
- hash: "f334bfcc3af89bf1405762a215c54ea6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 418
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11744
- hash: "ee0523fe6a33b59871ad3b311ca0cbeb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 419
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11760
- hash: "ee0523fe6a33b59871ad3b311ca0cbeb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 421
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11776
- hash: "66f71641c7a607152f140428ab9621d6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 423
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11792
- hash: "ddd3d8cb82e238358cdb16c1df7d27b7"
- }
- Frame {
- msec: 11808
- hash: "ddd3d8cb82e238358cdb16c1df7d27b7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 424
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11824
- hash: "29ca97cc573d3a1fde65320b61678c60"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 425
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11840
- hash: "29ca97cc573d3a1fde65320b61678c60"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 426
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11856
- hash: "7b41d651ad46341859d0188db341ae10"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 428
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11872
- hash: "6b236864b7d95bf9f76b8afd6ba78613"
- }
- Frame {
- msec: 11888
- hash: "6b236864b7d95bf9f76b8afd6ba78613"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 429
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11904
- hash: "6b236864b7d95bf9f76b8afd6ba78613"
- }
- Frame {
- msec: 11920
- hash: "6b236864b7d95bf9f76b8afd6ba78613"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 430
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11936
- hash: "95b57cd3dac3bce56674f2c4143f42d4"
- }
- Frame {
- msec: 11952
- hash: "95b57cd3dac3bce56674f2c4143f42d4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 431
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11968
- hash: "95b57cd3dac3bce56674f2c4143f42d4"
- }
- Frame {
- msec: 11984
- hash: "95b57cd3dac3bce56674f2c4143f42d4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 432
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12000
- hash: "021bda841eaefa76ce5e1c97150af6f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 433
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12016
- hash: "021bda841eaefa76ce5e1c97150af6f6"
- }
- Frame {
- msec: 12032
- hash: "021bda841eaefa76ce5e1c97150af6f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 434
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12048
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Frame {
- msec: 12064
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Frame {
- msec: 12080
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Frame {
- msec: 12096
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Frame {
- msec: 12112
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 210; y: 435
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12128
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Frame {
- msec: 12144
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Frame {
- msec: 12160
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Frame {
- msec: 12176
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Frame {
- msec: 12192
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 210; y: 435
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12208
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Frame {
- msec: 12224
- hash: "b1ea82b880a2fc35bf1ed117d8ab21b0"
- }
- Frame {
- msec: 12240
- hash: "021bda841eaefa76ce5e1c97150af6f6"
- }
- Frame {
- msec: 12256
- hash: "6b236864b7d95bf9f76b8afd6ba78613"
- }
- Frame {
- msec: 12272
- hash: "ddd3d8cb82e238358cdb16c1df7d27b7"
- }
- Frame {
- msec: 12288
- hash: "f334bfcc3af89bf1405762a215c54ea6"
- }
- Frame {
- msec: 12304
- hash: "091d1ad7aba4b662cba98214c98a4707"
- }
- Frame {
- msec: 12320
- hash: "0b16e524cd5253d07aa9b5855967fa71"
- }
- Frame {
- msec: 12336
- hash: "1978cda418856b542d7c5a155b74f09c"
- }
- Frame {
- msec: 12352
- hash: "8ffbbed46737837e55383833b96d2624"
- }
- Frame {
- msec: 12368
- hash: "43e50f4d4d37373e26af0a5d3cb64c4c"
- }
- Frame {
- msec: 12384
- hash: "837deeb2a92648d830acf29e829ebb53"
- }
- Frame {
- msec: 12400
- hash: "34ef0279e3731447f1df97784b47648a"
- }
- Frame {
- msec: 12416
- hash: "dc272fc8fc98d822a154da1d495d4f7e"
- }
- Frame {
- msec: 12432
- hash: "8e05207e0d0d9d15a61a0d21d985a83a"
- }
- Frame {
- msec: 12448
- hash: "144eeb7c2a32cedb6ebba063501c9176"
- }
- Frame {
- msec: 12464
- hash: "7a5f69a1eecb5de0fc2295cd287eb449"
- }
- Frame {
- msec: 12480
- hash: "86b32befe0dada5bdce82a7dd14777ce"
- }
- Frame {
- msec: 12496
- image: "mousearea-flickable.13.png"
- }
- Frame {
- msec: 12512
- hash: "9f9f85d5f879b0e52ebc751d6668cfb8"
- }
- Frame {
- msec: 12528
- hash: "43fc85bb3b1501f5e12f1fedaaa14c64"
- }
- Frame {
- msec: 12544
- hash: "43fc85bb3b1501f5e12f1fedaaa14c64"
- }
- Frame {
- msec: 12560
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 12576
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 12592
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 12608
- hash: "d75a43305e2884759ca41d7b1cbadf52"
- }
- Frame {
- msec: 12624
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12640
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12656
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12672
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12688
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12704
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12720
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12736
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12752
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12768
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12784
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12800
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12816
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12832
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12848
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12864
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12880
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12896
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12912
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12928
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12944
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12960
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12976
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 12992
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13008
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13024
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13040
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13056
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13072
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13088
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13104
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13120
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13136
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13152
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13168
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13184
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13200
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13216
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13232
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13248
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13264
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13280
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13296
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13312
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13328
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13344
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13360
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Key {
- type: 6
- key: 16777251
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 13376
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13392
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13408
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13424
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13440
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13456
- image: "mousearea-flickable.14.png"
- }
- Frame {
- msec: 13472
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13488
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
- Frame {
- msec: 13504
- hash: "cc1fd2f4c3be318052254a9b6be7a57b"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.0.png
deleted file mode 100644
index e2e90d2b85..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.1.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.1.png
deleted file mode 100644
index e2e90d2b85..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.10.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.10.png
deleted file mode 100644
index 93cf54c7bf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.11.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.11.png
deleted file mode 100644
index 93cf54c7bf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.11.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.12.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.12.png
deleted file mode 100644
index 93cf54c7bf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.12.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.13.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.13.png
deleted file mode 100644
index 93cf54c7bf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.13.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.14.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.14.png
deleted file mode 100644
index 93cf54c7bf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.14.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.15.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.15.png
deleted file mode 100644
index 93cf54c7bf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.15.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.2.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.2.png
deleted file mode 100644
index 25facec9df..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.3.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.3.png
deleted file mode 100644
index 25facec9df..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.4.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.4.png
deleted file mode 100644
index 25facec9df..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.5.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.5.png
deleted file mode 100644
index 630b14aa24..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.6.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.6.png
deleted file mode 100644
index 630b14aa24..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.7.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.7.png
deleted file mode 100644
index 630b14aa24..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.8.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.8.png
deleted file mode 100644
index 630b14aa24..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.9.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.9.png
deleted file mode 100644
index 93cf54c7bf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.qml
deleted file mode 100644
index 2daeebcc5f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mousearea-visual.qml
+++ /dev/null
@@ -1,5867 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "mousearea-visual.0.png"
- }
- Frame {
- msec: 32
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 48
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 64
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 80
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 96
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 112
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 128
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 144
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 160
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 176
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 192
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 208
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 224
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 240
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 256
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 272
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 288
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 304
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 320
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 336
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 352
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 368
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 384
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 400
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 416
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 432
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 448
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 464
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 480
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 496
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 512
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 528
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 544
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 560
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 576
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 592
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 608
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 624
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 640
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 656
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 672
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 688
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 704
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 720
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 736
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 752
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 768
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 784
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 800
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 816
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 832
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 848
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 864
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 880
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 896
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 912
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 928
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 944
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 960
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 976
- image: "mousearea-visual.1.png"
- }
- Frame {
- msec: 992
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1008
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1024
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1040
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1056
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1072
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1088
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1104
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1120
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1136
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1152
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1168
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1184
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1200
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1216
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1232
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1248
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1264
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1280
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1296
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1312
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1328
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1344
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1360
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1376
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1392
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1408
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1424
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1440
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1456
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1472
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1488
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1504
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1520
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1536
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1552
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1568
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1584
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1600
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1616
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1632
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1648
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Frame {
- msec: 1664
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 2; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 7; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1680
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 19; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 33; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1696
- hash: "1121bb51fc2d4c5c7ef3ae2c44794b49"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 49; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1712
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 67; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1728
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 78; y: 57
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 81; y: 57
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1744
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1760
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1776
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 53
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1792
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Frame {
- msec: 1808
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Frame {
- msec: 1824
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Frame {
- msec: 1840
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Frame {
- msec: 1856
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Frame {
- msec: 1872
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1888
- hash: "337f0f4af627bbdf8807135ce39d5070"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 80; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 78; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1904
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 75; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1920
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 71; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 68; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1936
- image: "mousearea-visual.2.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1952
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 64; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1968
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 61; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 60; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1984
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 58; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2000
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 56; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2016
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 55; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 54; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2032
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2048
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2064
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2080
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2096
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2112
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2128
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 54; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2144
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2160
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2176
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2192
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2208
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2224
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2240
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 54; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2256
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2272
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2288
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2304
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2320
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2336
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2352
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2368
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2384
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2400
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2416
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2432
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2448
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2464
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2480
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2496
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2512
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2528
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2544
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2560
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2576
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2592
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2608
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2624
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2640
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 2
- button: 2
- buttons: 2
- x: 54; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2656
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2672
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2688
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2704
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2720
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2736
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2752
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 3
- button: 2
- buttons: 0
- x: 54; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2768
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2784
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2800
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2816
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2832
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2848
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2864
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2880
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 2896
- image: "mousearea-visual.3.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 55; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 58; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2912
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 67; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2928
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 75; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2944
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2960
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 107; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 113; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2976
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 119; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 124; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2992
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 128; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 131; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3008
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 132; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 132; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3024
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3040
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3056
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3072
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3088
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3104
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3120
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3136
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3152
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3168
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3184
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3200
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3216
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3232
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3248
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3264
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3280
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3296
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3312
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3328
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3344
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3360
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3376
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3392
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3408
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3424
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3440
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3456
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3472
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3488
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3504
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3520
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3536
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3552
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 133; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3568
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3584
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 133; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3600
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3616
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3632
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3648
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3664
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3680
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3696
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 133; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3712
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3728
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3744
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3760
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3776
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3792
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3808
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3824
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3840
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3856
- image: "mousearea-visual.4.png"
- }
- Frame {
- msec: 3872
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3888
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3904
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3920
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3936
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3952
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3968
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 3984
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4000
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4016
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4032
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4048
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4064
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4080
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4096
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4112
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4128
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4144
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4160
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4176
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4192
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4208
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4224
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4240
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4256
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4272
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4288
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4304
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4320
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 2
- button: 2
- buttons: 2
- x: 133; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4336
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4352
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4368
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4384
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4400
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4416
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Frame {
- msec: 4432
- hash: "73f1639b9e2164c7b974042934c0d151"
- }
- Mouse {
- type: 3
- button: 2
- buttons: 0
- x: 133; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4448
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4464
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4480
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4496
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4512
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4528
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4544
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4560
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4576
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4592
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4608
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4624
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4640
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4656
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4672
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4688
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4704
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4720
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4736
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 133; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 136; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4752
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 142; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 148; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4768
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 155; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 161; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4784
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 166; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4800
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 168; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 170; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4816
- image: "mousearea-visual.5.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 171; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4832
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4848
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4864
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 4880
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 172; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 175; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4896
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 178; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4912
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 182; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 187; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4928
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 191; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 195; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4944
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 200; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 206; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4960
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 211; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 215; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4976
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 218; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 221; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4992
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 224; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5008
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 225; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 226; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5024
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 227; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5040
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5056
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5072
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 228; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 229; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5088
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 231; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 232; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5104
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 233; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5120
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5136
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5152
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5168
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 233; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 234; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5184
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 237; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5200
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 239; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 242; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5216
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 244; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 245; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5232
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 247; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5248
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5264
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5280
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5296
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5312
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5328
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5344
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5360
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5376
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5392
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5408
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5424
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5440
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5456
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5472
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5488
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5504
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5520
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5536
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5552
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5568
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5584
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5600
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5616
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5632
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5648
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5664
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5680
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5696
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5712
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5728
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5744
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5760
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5776
- image: "mousearea-visual.6.png"
- }
- Frame {
- msec: 5792
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5808
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5824
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5840
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 247; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5856
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5872
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5888
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5904
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5920
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5936
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 247; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5952
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5968
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 5984
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6000
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6016
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6032
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6048
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6064
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6080
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6096
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6112
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6128
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6144
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6160
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6176
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6192
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6208
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6224
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6240
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6256
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6272
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6288
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6304
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6320
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6336
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6352
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6368
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6384
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6400
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6416
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6432
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6448
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6464
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6480
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6496
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6512
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6528
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6544
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6560
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6576
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 247; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6592
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6608
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6624
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6640
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 247; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6656
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6672
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6688
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6704
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6720
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6736
- image: "mousearea-visual.7.png"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 247; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6752
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6768
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6784
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6800
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6816
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6832
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 247; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6848
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6864
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6880
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6896
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6912
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6928
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6944
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6960
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6976
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 6992
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7008
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7024
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7040
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7056
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7072
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7088
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7104
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7120
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7136
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7152
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7168
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7184
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7200
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 247; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7216
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7232
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7248
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7264
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7280
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7296
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7312
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7328
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7344
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7360
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7376
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7392
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7408
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7424
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7440
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7456
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7472
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7488
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7504
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7520
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7536
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7552
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7568
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7584
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7600
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7616
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7632
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7648
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7664
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7680
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7696
- image: "mousearea-visual.8.png"
- }
- Frame {
- msec: 7712
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7728
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7744
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7760
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7776
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7792
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7808
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7824
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7840
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7856
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7872
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7888
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7904
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7920
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7936
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7952
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7968
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 7984
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 8000
- hash: "12edb0902e4d480c9052b00edc1a0a42"
- }
- Frame {
- msec: 8016
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8032
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8048
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8064
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8080
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8096
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8112
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8128
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8144
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8160
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8176
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8192
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8208
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8224
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8240
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8256
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8272
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8288
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8304
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8320
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8336
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 247; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8352
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8368
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8384
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8400
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8416
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8432
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8448
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8464
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8480
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8496
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8512
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8528
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 248; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8544
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 254; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 259; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8560
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 264; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 268; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8576
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 273; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 277; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8592
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 281; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 284; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8608
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 287; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 289; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8624
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 292; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8640
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 294; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 295; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8656
- image: "mousearea-visual.9.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 297; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 299; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8672
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 301; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 304; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8688
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 307; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8704
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 310; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 312; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8720
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 314; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 315; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8736
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 317; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 318; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8752
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 319; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8768
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 320; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8784
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 322; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 323; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8800
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 325; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 327; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8816
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 330; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 333; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8832
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 336; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 338; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8848
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 339; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8864
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 340; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8880
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 8896
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 340; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8912
- hash: "d1f2fc2133f3d6554e41982196662c2a"
- }
- Frame {
- msec: 8928
- hash: "d1f2fc2133f3d6554e41982196662c2a"
- }
- Frame {
- msec: 8944
- hash: "d1f2fc2133f3d6554e41982196662c2a"
- }
- Frame {
- msec: 8960
- hash: "d1f2fc2133f3d6554e41982196662c2a"
- }
- Frame {
- msec: 8976
- hash: "d1f2fc2133f3d6554e41982196662c2a"
- }
- Frame {
- msec: 8992
- hash: "d1f2fc2133f3d6554e41982196662c2a"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 340; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9008
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9024
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9040
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9056
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9072
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9088
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9104
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9120
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9136
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9152
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9168
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9184
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9200
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9216
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9232
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9248
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9264
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9280
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9296
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9312
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9328
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9344
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9360
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9376
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9392
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9408
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9424
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9440
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9456
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9472
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9488
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9504
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9520
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9536
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9552
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9568
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9584
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 9600
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 339; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9616
- image: "mousearea-visual.10.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 336; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9632
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 332; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 326; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9648
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 320; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 312; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9664
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 292; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 283; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9680
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 261; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9696
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 252; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 243; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9712
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 225; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 207; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9728
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 189; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 169; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9744
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 161; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 145; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9760
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 138; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9776
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 133; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 127; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9792
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 122; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 118; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9808
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 114; y: 57
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 110; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9824
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 109; y: 61
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9840
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 107; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 106; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9856
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 103; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 100; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9872
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 65
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9888
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 88; y: 65
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9904
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9920
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 79; y: 69
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 77; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9936
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 72
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9952
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 67; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 64; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9968
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9984
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 61; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 60; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10000
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10016
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10032
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 59; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10048
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 58; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10064
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 56; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10080
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10096
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10112
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10128
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10144
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10160
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10176
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10192
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10208
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10224
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Frame {
- msec: 10240
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 59; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10256
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10272
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 69; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10288
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 72; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 76; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10304
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 80; y: 72
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10320
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 87; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10336
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 93; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10352
- hash: "6627c7a1a4da7e642f4b4b24ca5e8e7a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10368
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 102; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 106; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10384
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 108; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 110; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10400
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 113; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 115; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10416
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 118; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 121; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10432
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 123; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10448
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 126; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 128; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10464
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 130; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 132; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10480
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 133; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10496
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 134; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10512
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10528
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 135; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 136; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10544
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 137; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 138; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10560
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 140; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10576
- image: "mousearea-visual.11.png"
- }
- Frame {
- msec: 10592
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10608
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10624
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10640
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10656
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10672
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10688
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10704
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10720
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10736
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10752
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10768
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10784
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10800
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10816
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10832
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10848
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10864
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10880
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10896
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10912
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10928
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10944
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10960
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10976
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 10992
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11008
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11024
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11040
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11056
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11072
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11088
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11104
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11120
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11136
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11152
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11168
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11184
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11200
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11216
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11232
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11248
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11264
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11280
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11296
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11312
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11328
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11344
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11360
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11376
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11392
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11408
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11424
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11440
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11456
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11472
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11488
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11504
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11520
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11536
- image: "mousearea-visual.12.png"
- }
- Frame {
- msec: 11552
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11568
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11584
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11600
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11616
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11632
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11648
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11664
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11680
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11696
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11712
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 2
- button: 2
- buttons: 2
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11728
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11744
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11760
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11776
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11792
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11808
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11824
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 2
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 11840
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11856
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11872
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11888
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11904
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11920
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11936
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11952
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11968
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 11984
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12000
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12016
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12032
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12048
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 4
- button: 2
- buttons: 2
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12064
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12080
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12096
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12112
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12128
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12144
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12160
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12176
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12192
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12208
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 2
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12224
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12240
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12256
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12272
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12288
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12304
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12320
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12336
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12352
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12368
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12384
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12400
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12416
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12432
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12448
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 2
- button: 2
- buttons: 3
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12464
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12480
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12496
- image: "mousearea-visual.13.png"
- }
- Frame {
- msec: 12512
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12528
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 2
- buttons: 1
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12544
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12560
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12576
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12592
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12608
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12624
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12640
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12656
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12672
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12688
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12704
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12720
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12736
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12752
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12768
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12784
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12800
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12816
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12832
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12848
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12864
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12880
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12896
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12912
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12928
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12944
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12960
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 12976
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 12992
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13008
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13024
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13040
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13056
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 13072
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13088
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 13104
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13120
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13136
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13152
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13168
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13184
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 13200
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13216
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13232
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13248
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13264
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13280
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13296
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 13312
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13328
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13344
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13360
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13376
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 13392
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13408
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13424
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13440
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13456
- image: "mousearea-visual.14.png"
- }
- Frame {
- msec: 13472
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13488
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13504
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13520
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13536
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13552
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13568
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13584
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13600
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13616
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13632
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 2
- button: 2
- buttons: 2
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 13648
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13664
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13680
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13696
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13712
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 2
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 13728
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13744
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13760
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13776
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13792
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13808
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 4
- button: 2
- buttons: 2
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 13824
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13840
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13856
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13872
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13888
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13904
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 3
- button: 2
- buttons: 0
- x: 141; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 13920
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13936
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13952
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13968
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 13984
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14000
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14016
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14032
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14048
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14064
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14080
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14096
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14112
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14128
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14144
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14160
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14176
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 141; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 148; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 14192
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 152; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 158; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 14208
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 164; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 14224
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 171; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 187; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 205; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 14240
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 223; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 14256
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 239; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 255; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 14272
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 269; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 285; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 14288
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 299; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 313; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 14304
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 320; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 326; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 14320
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 340; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 14336
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14352
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14368
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14384
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14400
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14416
- image: "mousearea-visual.15.png"
- }
- Frame {
- msec: 14432
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14448
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14464
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14480
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14496
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14512
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14528
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14544
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14560
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14576
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14592
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14608
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14624
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14640
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14656
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14672
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14688
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14704
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14720
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14736
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14752
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14768
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14784
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14800
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14816
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14832
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14848
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14864
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14880
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14896
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14912
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
- Frame {
- msec: 14928
- hash: "194ebac4ae7d95bf427f8161885a13e1"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.0.png
deleted file mode 100644
index c249c211d6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.1.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.1.png
deleted file mode 100644
index a96bf1ba7e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.10.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.10.png
deleted file mode 100644
index 7420ca7f83..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.11.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.11.png
deleted file mode 100644
index 7420ca7f83..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.11.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.12.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.12.png
deleted file mode 100644
index 7420ca7f83..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.12.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.13.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.13.png
deleted file mode 100644
index 7420ca7f83..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.13.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.14.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.14.png
deleted file mode 100644
index 7420ca7f83..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.14.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.15.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.15.png
deleted file mode 100644
index e797cc9322..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.15.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.16.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.16.png
deleted file mode 100644
index 7951309c4f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.16.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.17.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.17.png
deleted file mode 100644
index 7951309c4f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.17.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.18.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.18.png
deleted file mode 100644
index 7951309c4f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.18.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.19.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.19.png
deleted file mode 100644
index 7951309c4f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.19.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.2.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.2.png
deleted file mode 100644
index a96bf1ba7e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.20.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.20.png
deleted file mode 100644
index 7951309c4f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.20.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.21.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.21.png
deleted file mode 100644
index 7951309c4f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.21.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.22.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.22.png
deleted file mode 100644
index 7951309c4f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.22.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.3.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.3.png
deleted file mode 100644
index a96bf1ba7e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.4.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.4.png
deleted file mode 100644
index 1fe365a49c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.5.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.5.png
deleted file mode 100644
index 1fe365a49c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.6.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.6.png
deleted file mode 100644
index 1fe365a49c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.7.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.7.png
deleted file mode 100644
index 1fe365a49c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.8.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.8.png
deleted file mode 100644
index 7420ca7f83..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.9.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.9.png
deleted file mode 100644
index 7420ca7f83..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/mouseregion.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.png
deleted file mode 100644
index 793fb0f974..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.png
deleted file mode 100644
index 5935b4539a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.png
deleted file mode 100644
index a20526640d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.png
deleted file mode 100644
index 3d81ff25ee..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.png
deleted file mode 100644
index ee2076e137..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.png
deleted file mode 100644
index 9017124d7f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.png
deleted file mode 100644
index 216dd7e93c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.png
deleted file mode 100644
index 27e8480bd9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.png
deleted file mode 100644
index 6b911c5973..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.png b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.png
deleted file mode 100644
index 01858a5578..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml
deleted file mode 100644
index cec1558abd..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/data/nested.qml
+++ /dev/null
@@ -1,5039 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "nested.0.png"
- }
- Frame {
- msec: 32
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 48
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 64
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 80
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 96
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 112
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 128
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 144
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 160
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 176
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 192
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 208
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 224
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 240
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 256
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 272
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 288
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 304
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 320
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 336
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 352
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 368
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 384
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 400
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 416
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 432
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 448
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 464
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 480
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 496
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 512
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 528
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 544
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 560
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 576
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 592
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 608
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 624
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 640
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 656
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 672
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 688
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 704
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 720
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 736
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 752
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 768
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 784
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 800
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 816
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 832
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 848
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Frame {
- msec: 864
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 25; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 880
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 26; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 896
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 27; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 912
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 28; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 29; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 928
- hash: "2400cadaaa467cbfb0c7d2ace8137179"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 30; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 33; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 944
- hash: "f5aa6257fd80c1e383bc2db84e41c354"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 35; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 40; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 960
- hash: "e96076794d3efc62a8fe2d2e543e97c7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 42; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 976
- image: "nested.1.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 992
- hash: "ab955f6c6b210b66b27e244dc2150860"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1008
- hash: "b655247e73b0b8357dc9d355ba6f49a0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 79; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 83; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1024
- hash: "08b67b7e28990cac8c9bd354b7d87698"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1040
- hash: "69cecfb41899e13c0bc5acb6f9bc666d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 104; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 107; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1056
- hash: "8d1f0cd85fd3f2654f7c30a6d9ec2b99"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1072
- hash: "f8ddda87cfcf5dc9d8c6e940fbd295f3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 133; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1088
- hash: "ab9d942c47a2cca5531f7b67df034161"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 136; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 143; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1104
- hash: "7ca5a03fdfac44c389315c3928631a2a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 146; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 151; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1120
- hash: "ade955ed9d85fbbe72cf18bbc541c8bf"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 153; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 158; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1136
- hash: "6ad4afa3e3fcb578946fccbf4896761c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 162; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 163; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1152
- hash: "3ebe78e37c1c66d0b8fc86c8191e39de"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 165; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 166; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1168
- hash: "6450917cc89a553cf509265eaf318efb"
- }
- Frame {
- msec: 1184
- hash: "6450917cc89a553cf509265eaf318efb"
- }
- Frame {
- msec: 1200
- hash: "6450917cc89a553cf509265eaf318efb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 166; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1216
- hash: "6450917cc89a553cf509265eaf318efb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 164; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 161; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1232
- hash: "adfe54d5d28f7caf9ace117fd3573444"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 159; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 156; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1248
- hash: "f4963636cc4fbd8bfe6baf10540ed7e7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 154; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 149; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1264
- hash: "1c2d2edb9214cc3857aa221330ee28ba"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 143; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 139; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1280
- hash: "750226c90e6c6cd0b3bdd3c3dc8da18f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 131; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1296
- hash: "b6b5d177ab531460dc125afa82489a1d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1312
- hash: "62d411a7b6c404393e4bfafab9c638a3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 100; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1328
- hash: "e355997b3decd4deb686fece59c33c7c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 86; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 76; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1344
- hash: "2ab73c8aac6a0e321686e97c9bb28f28"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1360
- hash: "55a887f9f45f71beb6b723191eb60a2f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1376
- hash: "b2d49e34362994739d14fb8231ff82d6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1392
- hash: "3964796876870035794b41501991b527"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 41; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 40; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1408
- hash: "e96076794d3efc62a8fe2d2e543e97c7"
- }
- Frame {
- msec: 1424
- hash: "e96076794d3efc62a8fe2d2e543e97c7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 41; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1440
- hash: "7e524b3c43a987503ef102bdb9f11701"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 42; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1456
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1472
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1488
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1504
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1520
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1536
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1552
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 42; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1568
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1584
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1600
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1616
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1632
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1648
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1664
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1680
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1696
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1712
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1728
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1744
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1760
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1776
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1792
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1808
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1824
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1840
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1856
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1872
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1888
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1904
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1920
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Frame {
- msec: 1936
- image: "nested.2.png"
- }
- Frame {
- msec: 1952
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 38; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1968
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 39; y: 57
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1984
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 39; y: 59
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 39; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2000
- hash: "2a7c13e97c21e298541bb5ab8169ff13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 40; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 40; y: 65
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2016
- hash: "9178754b825d60b2174ed9431ea80586"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 41; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 41; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2032
- hash: "89eff8fa9f8710d7cbc50b8d4b751148"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 84
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2048
- hash: "cdae8b46ecfc2b0c90264c120156cc46"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 93
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2064
- hash: "cf35919630eab647a28eb91d8a441704"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 99
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2080
- hash: "283256d50da8c855c50d5f8813d37afd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 107
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 109
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2096
- hash: "2560cd67d507bc24c1000187f645531c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2112
- hash: "6f6f7c299c4516c5231f5bfcd39b6db3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2128
- hash: "e7989524238996cf59f420f4edf8f982"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 124
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2144
- hash: "34d8d456848807e854bcb25ffbde37d4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 127
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2160
- hash: "433bd3983804b07484d38af2723f519e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 134
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2176
- hash: "510e534a8a7b88041f7544e7e4992b8f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2192
- hash: "25f43c457a5bf2b70a66ce91685ad4dc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2208
- hash: "4119ab90627359420e25220618b76a69"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2224
- hash: "8a3cc888e96cf3e26e369723b442baf1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 147
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 150
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2240
- hash: "980552e8ff9d87ccb40127b06b0f846f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2256
- hash: "9ee23fc7cbca4467f984073d2af7cdf6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2272
- hash: "032d65792ac867c9b9acef05bd993c54"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2288
- hash: "be2f8d5a64034e75e23527c486e33029"
- }
- Frame {
- msec: 2304
- hash: "be2f8d5a64034e75e23527c486e33029"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2320
- hash: "3f65505e4d1f8534c9123b3dea15d43e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2336
- hash: "e8b1799cf1926cb3b6cbf3adee80cffe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 147
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2352
- hash: "31155b14cc0d3d47bbef4e199fdfcb46"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 140
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2368
- hash: "b89745a9a60a7ebeb1de0a7f96ad2ac3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 118
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2384
- hash: "7e99fa1eba369d45f10778fe02356f09"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2400
- hash: "cd123f6b332f38f43abbf01469a41301"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 98
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2416
- hash: "353c0602dd2b670e19988117172855fc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 76; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 78; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2432
- hash: "20df9d19fd2113fa8f8023d5b4328dc5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 82; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2448
- hash: "10b34a758d5b3790dd36c9d95c47b157"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 84; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2464
- hash: "98a483e1eaa9145fd277fd85a9b0cf03"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 87; y: 57
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 88; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2480
- hash: "e92edd52ff1ee78456fa1947a46e6570"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 89; y: 53
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2496
- hash: "877384496d967f5f0ab1c817a2b316d6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 93; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2512
- hash: "15673570ffe9a391f9214601ac9dc86c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 94; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2528
- hash: "4b7f0094b19a4495bf913d2994889497"
- }
- Frame {
- msec: 2544
- hash: "4b7f0094b19a4495bf913d2994889497"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2560
- hash: "4b7f0094b19a4495bf913d2994889497"
- }
- Frame {
- msec: 2576
- hash: "4b7f0094b19a4495bf913d2994889497"
- }
- Frame {
- msec: 2592
- hash: "4b7f0094b19a4495bf913d2994889497"
- }
- Frame {
- msec: 2608
- hash: "4b7f0094b19a4495bf913d2994889497"
- }
- Frame {
- msec: 2624
- hash: "4b7f0094b19a4495bf913d2994889497"
- }
- Frame {
- msec: 2640
- hash: "4b7f0094b19a4495bf913d2994889497"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 95; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2656
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2672
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2688
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2704
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2720
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2736
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2752
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2768
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2784
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2800
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2816
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2832
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2848
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2864
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2880
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2896
- image: "nested.3.png"
- }
- Frame {
- msec: 2912
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2928
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2944
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2960
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2976
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 2992
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3008
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3024
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3040
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3056
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3072
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3088
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3104
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3120
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3136
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3152
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3168
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3184
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3200
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3216
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3232
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 156; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3248
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Frame {
- msec: 3264
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 156; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 157; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3280
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 158; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 160; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3296
- hash: "2994e98b8ea9a6883a7324e7e848345c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 161; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 163; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3312
- hash: "df6cf21e99177a436e356f818996070c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 166; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 171; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3328
- hash: "86f5e3fee147f47edd4a6d042aff0301"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 178; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 181; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3344
- hash: "589c1418a9179c868d904b1a5169a11b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 189; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 193; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3360
- hash: "3141ad77d193e145b749759070e1e6ef"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 200; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3376
- hash: "5e34d4deeb6d80b336cacea39797e0ca"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 217; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3392
- hash: "b8795d844982bcf60a6713f91717648f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 220; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 224; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3408
- hash: "857c63b24057ee0186c5136eddb71cb1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 226; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 227; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3424
- hash: "49222ed0d1ebc8759d0a1dc65c3beec6"
- }
- Frame {
- msec: 3440
- hash: "49222ed0d1ebc8759d0a1dc65c3beec6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 227; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 226; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3456
- hash: "751847708a468f4f3e64e7cb5ebd1351"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 225; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 224; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3472
- hash: "4016f80a5219fcba6480645f71998d71"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 221; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 220; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3488
- hash: "beef05cd2a3d20bc66978fa4f0ac1d12"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 216; y: 82
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 214; y: 84
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3504
- hash: "e50a2661e93d34b55c8d2d39abc77e5a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3520
- hash: "7beccbc2f091350bb5d9de1e2443021d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 200; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 192; y: 89
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3536
- hash: "1d39570bf07392f56b6dd24b0bf9e7bc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 188; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 180; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3552
- hash: "62565b3e5aad3979b408207bbf36e615"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 176; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 167; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3568
- hash: "d9c6004921847fef16bb8c2f5d6b3b7d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 162; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 152; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3584
- hash: "53da27301ad97ae52c65928615ec0cd7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 142; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 137; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3600
- hash: "9772a776e84515984b4eec70dbd1c5a7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 125; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 119; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3616
- hash: "9caa6583a716443c13e8fef3f2923d6e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 104; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3632
- hash: "f162a18b2d3f0d5f6f01fc373c016f68"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 98; y: 84
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 84
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3648
- hash: "58976e8e31beddf881c7cfa3ede54c09"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 94; y: 84
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 83
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3664
- hash: "6625f7adb097bc170024083c42d74b4b"
- }
- Frame {
- msec: 3680
- hash: "6625f7adb097bc170024083c42d74b4b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 82
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3696
- hash: "1d63f09ca27e9d70c3c0ea923a6cfba4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 93; y: 82
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3712
- hash: "1d63f09ca27e9d70c3c0ea923a6cfba4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 94; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3728
- hash: "a23c75fcaa0a28adb944bf192af65bff"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 98; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 100; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3744
- hash: "2b90fe8937dcc39d1d6add305cf36043"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 107; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "7da82cfaf0f826ca9a41128278b6b09c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3776
- hash: "a3f69d13d38b336fda33a86899564996"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 129; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 135; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3792
- hash: "dc562319e1d332ba34ac94bfc0c39c5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 138; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3808
- hash: "756482bee292668f56d813847b0ccd53"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 141; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 142; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3824
- hash: "06d250c4d18a70f8f7b1c10e22a1bc4c"
- }
- Frame {
- msec: 3840
- hash: "06d250c4d18a70f8f7b1c10e22a1bc4c"
- }
- Frame {
- msec: 3856
- image: "nested.4.png"
- }
- Frame {
- msec: 3872
- hash: "06d250c4d18a70f8f7b1c10e22a1bc4c"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 142; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3888
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 3904
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 3920
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 3936
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 3952
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 3968
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 3984
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4000
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4016
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4032
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4048
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4064
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4080
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4096
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4112
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4128
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4144
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4160
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4176
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4192
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4208
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4224
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4240
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4256
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4272
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4288
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4304
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4320
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4336
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4352
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4368
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4384
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4400
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4416
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4432
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4448
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4464
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4480
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4496
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4512
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4528
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4544
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 16; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4560
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 4576
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 16; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 16; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4592
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 16; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4608
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 18; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4624
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 20; y: 61
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 20; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4640
- hash: "ff1f86b47e0d1db5db7d939df8349931"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 22; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 23; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4656
- hash: "f13393a4556e9e73c33f2bb74d8f7794"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 26; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 28; y: 84
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4672
- hash: "8c9aa01516437184eb17d89348cca004"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 33; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 40; y: 99
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4688
- hash: "8b6848cb722ff5ec02d957da1ee687e5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 44; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 109
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4704
- hash: "552fde584d128f511788670031d79dd2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4720
- hash: "55dc3a4242b46e602f823c0305e67ad2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 118
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 120
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4736
- hash: "603b9b2ed6ff4273c3ab1cbe32afb19e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 73; y: 120
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 73; y: 120
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4752
- hash: "157eda24ea8452a208aa7a6a22639c73"
- }
- Frame {
- msec: 4768
- hash: "157eda24ea8452a208aa7a6a22639c73"
- }
- Frame {
- msec: 4784
- hash: "c5005b83816c18b67448dfbccd0ab0b2"
- }
- Frame {
- msec: 4800
- hash: "878512df863e5d60437b85fbd2a32eb1"
- }
- Frame {
- msec: 4816
- image: "nested.5.png"
- }
- Frame {
- msec: 4832
- hash: "02ab69b67b746ec0021295992a03ada1"
- }
- Frame {
- msec: 4848
- hash: "c621382766d7bacab87055a73623a8ce"
- }
- Frame {
- msec: 4864
- hash: "a8d1be78741d9afd88363bd19f1cbc6b"
- }
- Frame {
- msec: 4880
- hash: "5a70275ff656766d73638d4dd4db4492"
- }
- Frame {
- msec: 4896
- hash: "892ea0a00553524b79889d437eac9b6f"
- }
- Frame {
- msec: 4912
- hash: "d818258bffc065430902ffa8f5668f86"
- }
- Frame {
- msec: 4928
- hash: "6b844523522ace7545705ffb8ffe1da3"
- }
- Frame {
- msec: 4944
- hash: "3906097bc49bad199b52c99dbf87f98f"
- }
- Frame {
- msec: 4960
- hash: "a2bd859b5ca7f4fac8d62b1c9ab76aad"
- }
- Frame {
- msec: 4976
- hash: "f374673e3511b1df8b50ff7ef6002b3a"
- }
- Frame {
- msec: 4992
- hash: "c2eecfadd19418f469b1ab53a3ecae70"
- }
- Frame {
- msec: 5008
- hash: "2b481965ece0f2e1795ef56aa5d6a752"
- }
- Frame {
- msec: 5024
- hash: "c294f28000348365a2c37265132efdb5"
- }
- Frame {
- msec: 5040
- hash: "c294f28000348365a2c37265132efdb5"
- }
- Frame {
- msec: 5056
- hash: "4e9c18eab469b2da0cb92526d3d54501"
- }
- Frame {
- msec: 5072
- hash: "4e9c18eab469b2da0cb92526d3d54501"
- }
- Frame {
- msec: 5088
- hash: "4e9c18eab469b2da0cb92526d3d54501"
- }
- Frame {
- msec: 5104
- hash: "4e9c18eab469b2da0cb92526d3d54501"
- }
- Frame {
- msec: 5120
- hash: "3836449b99d88e2dea9a0eb9417faca5"
- }
- Frame {
- msec: 5136
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5152
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5168
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5184
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5200
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5216
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5232
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5248
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5264
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5280
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5296
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5312
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5328
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5344
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5360
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5376
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5392
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5408
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5424
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5440
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5456
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5472
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5488
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5504
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5520
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5536
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5552
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5568
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5584
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5600
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5616
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Frame {
- msec: 5632
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 20; y: 238
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 21; y: 238
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5648
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 22; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 23; y: 239
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5664
- hash: "42dc501eb5a34843ef0a8977ff029054"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 27; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 29; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5680
- hash: "b56d132ac881e27d308009fb9a9d2d50"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 33; y: 241
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 36; y: 241
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5696
- hash: "6c65fca03ea127d554f15c80da76f21f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 42; y: 242
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5712
- hash: "e5d8939135d0e964609a09a437af58bc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5728
- hash: "ab60a45ac475ef8d1177d831a6572d1f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 75; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5744
- hash: "78b2e0c7dd8b8bcbd573dac79ff815e4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 79; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 89; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5760
- hash: "ef9e89650d8e3d572285e2a2e2b09166"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5776
- image: "nested.6.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 243
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5792
- hash: "b83136fa3769e30ea47097b489e8f1dc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 137; y: 241
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 143; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5808
- hash: "fb892905b790a061ce5985c927db3cf5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 154; y: 238
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 159; y: 237
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5824
- hash: "bc4358e21d2d31942e776adfd32ef1c6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 170; y: 235
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 184; y: 234
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5840
- hash: "b42380a7fcf5e2fbfe4dddbe86ad7287"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 232
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 201; y: 231
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5856
- hash: "4b3c12beb43a77ebaf458804b03c7b52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 231
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 230
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5872
- hash: "a18be4d4ab28c0fd0c16696c4ecc03ef"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 230
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 229
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5888
- hash: "c5f100bc4b14e958c7d9bbff84e0a934"
- }
- Frame {
- msec: 5904
- hash: "c5f100bc4b14e958c7d9bbff84e0a934"
- }
- Frame {
- msec: 5920
- hash: "c5f100bc4b14e958c7d9bbff84e0a934"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 208; y: 229
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5936
- hash: "a18be4d4ab28c0fd0c16696c4ecc03ef"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 207; y: 229
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 207; y: 230
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5952
- hash: "a8b23e7dad1bdbaa3452335be0f07658"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 206; y: 230
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 204; y: 231
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5968
- hash: "4c1feb559a11912b06ed521bebba43d0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 200; y: 232
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 232
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5984
- hash: "ffb97bcedf72e02616272c1cad5c38d7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 190; y: 232
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 181; y: 231
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6000
- hash: "99498ed9b4d519a2f842d407abdef90a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 175; y: 230
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 163; y: 229
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6016
- hash: "1ca3f012adab899eba1dcb63d048345f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 158; y: 228
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 145; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6032
- hash: "8a81d49de887f314f67976a65f469169"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 132; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6048
- hash: "b83136fa3769e30ea47097b489e8f1dc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 116; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 112; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6064
- hash: "12cdd297407257ae4bb13c87e24537fb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 103; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 99; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6080
- hash: "a51ac0a1e9432671c88f7649c38d265d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 86; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6096
- hash: "4ba4f854659161c765395cdee35594f2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 77; y: 226
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 225
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6112
- hash: "9907add9e28b4a8976f3727f99a4b6d4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 224
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 60; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6128
- hash: "c2cb865c4a766b9c08328b374e940f29"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6144
- hash: "c97981263572ded23b328da45cf88012"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6160
- hash: "f4bae51c866ba1158f44529208514d6f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 222
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 222
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6176
- hash: "35b4f1f9bb343f2b22bd7cdad6f28249"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6192
- hash: "84eba4cb400e5622463f5a1fa79be72b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6208
- hash: "d38e882728c7efc906befe69b416082a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6224
- hash: "e5d8939135d0e964609a09a437af58bc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 44; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6240
- hash: "6b6e06e8473d5703e217accd824b08d5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 42; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 40; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6256
- hash: "8e38bc5b00e33e24f931b181dc77d3c1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 39; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 38; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6272
- hash: "a173708b5380f42a2bdbf6ae69cdca20"
- }
- Frame {
- msec: 6288
- hash: "a173708b5380f42a2bdbf6ae69cdca20"
- }
- Frame {
- msec: 6304
- hash: "a173708b5380f42a2bdbf6ae69cdca20"
- }
- Frame {
- msec: 6320
- hash: "a173708b5380f42a2bdbf6ae69cdca20"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 38; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6336
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6352
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6368
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6384
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6400
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6416
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6432
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6448
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6464
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6480
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6496
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6512
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6528
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6544
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6560
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6576
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6592
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6608
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6624
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6640
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6656
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6672
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6688
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6704
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6720
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6736
- image: "nested.7.png"
- }
- Frame {
- msec: 6752
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6768
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6784
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6800
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6816
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6832
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6848
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6864
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6880
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6896
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6912
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6928
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6944
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6960
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6976
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 6992
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 7008
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 7024
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 7040
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 7056
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 7072
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 46; y: 225
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7088
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 7104
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 226
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 227
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7120
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 228
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 231
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7136
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 233
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 238
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7152
- hash: "35dd0f784c356be0050936ff75b0cdf7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 240
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 245
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7168
- hash: "9ac066a700eae45edf9b2f1ba12f0324"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 248
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 255
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7184
- hash: "22a2a8bf257918820b0ab55ecb14b479"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 259
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 266
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7200
- hash: "eb98237e06cde8ed2f18040ce9197d16"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 272
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 276
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7216
- hash: "f0c7afe1bd25b9b573cbc69154c25862"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 282
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 285
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7232
- hash: "d6a681b6de867db47f889e6f1ec03dcf"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 291
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 293
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7248
- hash: "0ee281281c7654567a1debae7a13abe0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 299
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 304
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7264
- hash: "9d5f1c8cb0953c14bdd49aa88d2b225f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 306
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 310
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7280
- hash: "ae1c2a3ed67c5c10fc9d19de4de7b7eb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 312
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 315
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7296
- hash: "8505f9d060fc17fef2e91eb2add206bb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 316
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 318
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7312
- hash: "c32a6d546a3e4f2ee5349a7dad4b30af"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 319
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 320
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7328
- hash: "222f6e8e8deab567f1e7d0aaf7035b60"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 321
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 322
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7344
- hash: "f7011629f44015187849daad6a53cebf"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 323
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 324
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7360
- hash: "56b00d9116a51c041483dd00db0aca90"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 325
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 326
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7376
- hash: "93232fbcafe8e279b37781f51dfb923a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 328
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 329
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7392
- hash: "9fcf62eaacfc3477a4550c31f03c4782"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 330
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 331
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7408
- hash: "dd669865fd36e42eec1d69860b29e7ce"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 331
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7424
- hash: "9247af334483b219ca9bbe98d8fc362e"
- }
- Frame {
- msec: 7440
- hash: "9247af334483b219ca9bbe98d8fc362e"
- }
- Frame {
- msec: 7456
- hash: "9247af334483b219ca9bbe98d8fc362e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 330
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7472
- hash: "9247af334483b219ca9bbe98d8fc362e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 329
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 328
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7488
- hash: "69ef9255a29d65f26e5441594ea1bad9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 325
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 323
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7504
- hash: "055f73dd085d2f65a055ba4d9a8a7539"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 318
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 316
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7520
- hash: "384da5b6a948a52d0519935a8e33f014"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 309
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 303
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7536
- hash: "1caa0049be4033db45f0d2debb25268f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 299
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 55; y: 299
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7552
- hash: "76b8d00b3a2a68fec277050a442c18ca"
- }
- Frame {
- msec: 7568
- hash: "0ee281281c7654567a1debae7a13abe0"
- }
- Frame {
- msec: 7584
- hash: "df1dbb027a8542aa6120cce7b69724a7"
- }
- Frame {
- msec: 7600
- hash: "06a4d9b1d73362b3e29c6cf52fdb515c"
- }
- Frame {
- msec: 7616
- hash: "876c0dc8a68a4c1253b7aed6316cb892"
- }
- Frame {
- msec: 7632
- hash: "b46c74b1a2535099f0cdb8093bd49a4e"
- }
- Frame {
- msec: 7648
- hash: "0ad09a7638aa6f2affe47db2a810196f"
- }
- Frame {
- msec: 7664
- hash: "3710dde54d7e4a10a2c3ca2f891da7f5"
- }
- Frame {
- msec: 7680
- hash: "8426a607c92fbfa508e81c620d90e919"
- }
- Frame {
- msec: 7696
- image: "nested.8.png"
- }
- Frame {
- msec: 7712
- hash: "1f38e34787c909d93d567f983a425257"
- }
- Frame {
- msec: 7728
- hash: "7b09913793d4c79d948fdff1b72c7124"
- }
- Frame {
- msec: 7744
- hash: "8a0d1484c073d8107b4bf9949edcdb18"
- }
- Frame {
- msec: 7760
- hash: "4bad25465dfdcc41995216b0f6a5191b"
- }
- Frame {
- msec: 7776
- hash: "6d39bbeb5f74273c1ed0231ac34fe094"
- }
- Frame {
- msec: 7792
- hash: "8ccc2e33b8d6c67162326d229e9c17ab"
- }
- Frame {
- msec: 7808
- hash: "3561eaa9124b96b2a0afa022bc0fe581"
- }
- Frame {
- msec: 7824
- hash: "b87d739e49f0427d9da577ac5147fd21"
- }
- Frame {
- msec: 7840
- hash: "7d0efbfceec35e591f9fae650288809b"
- }
- Frame {
- msec: 7856
- hash: "7d0efbfceec35e591f9fae650288809b"
- }
- Frame {
- msec: 7872
- hash: "ff5d2037d3cc7bb6930cabc3d53f0196"
- }
- Frame {
- msec: 7888
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 7904
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 7920
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 7936
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 7952
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 7968
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 7984
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8000
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8016
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8032
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8048
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8064
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8080
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8096
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8112
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8128
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8144
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8160
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8176
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8192
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8208
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8224
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8240
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8256
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8272
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8288
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8304
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8320
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8336
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8352
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8368
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8384
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8400
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8416
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8432
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8448
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8464
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8480
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8496
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8512
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8528
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8544
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8560
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8576
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8592
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8608
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8624
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8640
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8656
- image: "nested.9.png"
- }
- Frame {
- msec: 8672
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8688
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8704
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8720
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8736
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8752
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8768
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8784
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8800
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8816
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8832
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8848
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8864
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8880
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8896
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8912
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8928
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8944
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8960
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8976
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 8992
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 9008
- hash: "76624c57195c25b8abd4297e11c55980"
- }
- Frame {
- msec: 9024
- hash: "76624c57195c25b8abd4297e11c55980"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/drag.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/drag.qml
deleted file mode 100644
index 99c898e9ff..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/drag.qml
+++ /dev/null
@@ -1,26 +0,0 @@
-import QtQuick 1.0
-
-/*
-this test shows a blue box being dragged around -- first roughly tracing the
-borders of the window, then doing a rough 'x'-shape, then moving to around the middle.
-*/
-
-Rectangle{
- width:400
- height:440
- color: "white"
- Rectangle{
- id: draggable
- width:40; height:40; color: "lightsteelblue"
- y:20
- MouseArea{
- anchors.fill: parent
- drag.target: draggable
- drag.axis: "XandYAxis"
- drag.minimumX: 0
- drag.maximumX: 360
- drag.minimumY: 20
- drag.maximumY: 400
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-flickable.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-flickable.qml
deleted file mode 100644
index 70ea78c7d5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-flickable.qml
+++ /dev/null
@@ -1,52 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 400; height: 480
- color: "white"
-
- Flickable {
- anchors.fill: parent
- contentHeight: 100
-
- Rectangle {
- id: yellow
- width: 400; height: 120
- color: "yellow"
- MouseArea {
- anchors.fill: parent
- onPressedChanged: pressed ? yellow.color = "lightyellow": yellow.color = "yellow"
- }
- }
- Rectangle {
- id: blue
- width: 400; height: 120
- y: 120
- color: "steelblue"
- MouseArea {
- anchors.fill: parent
- onPressed: blue.color = "lightsteelblue"
- onCanceled: blue.color = "steelblue"
- }
- }
- Rectangle {
- id: red
- y: 240
- width: 400; height: 120
- color: "red"
- MouseArea {
- anchors.fill: parent
- onEntered: { red.color = "darkred"; tooltip.opacity = 1 }
- onCanceled: { red.color = "red"; tooltip.opacity = 0 }
- }
- Rectangle {
- id: tooltip
- x: 10; y: 20
- width: 100; height: 50
- color: "green"
- opacity: 0
- }
- }
-
- }
-
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-visual.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-visual.qml
deleted file mode 100644
index 540866fb56..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/mousearea-visual.qml
+++ /dev/null
@@ -1,135 +0,0 @@
-import QtQuick 1.0
-
-/*
-This test displays 6 red rects -- 4 in the top row, 2 in the bottom.
-
-Sequence:
-1. the bottom-left rect turns blue, then green
-2. the second rect in the top row turns blue
-3. the third rect in the top row turns blue
-4. the last rect in the top row quickly turns blue then back to red
-5. the bottom-left rect turns blue, then green
-*/
-
-Rectangle {
- id: root
- width: 400
- height: 100
-
- // Left click on me
- Rectangle {
- width: 98; height: 48
- color: "red"
- MouseArea {
- id: mr1
- anchors.fill: parent
- enabled: false
- onClicked: { parent.color = "blue"; root.error = "mr1 should ignore presses"; }
- }
- }
-
- // Left click, then right click
- Rectangle {
- x: 100
- width: 98; height: 48
- color: "red"
- MouseArea {
- id: mr2
- anchors.fill: parent
- acceptedButtons: Qt.RightButton
- onClicked: {
- if (mouse.button == Qt.RightButton) {
- parent.color = "blue";
- } else {
- parent.color = "green";
- root.error = "mr1 should ignore presses";
- }
- }
- }
- }
-
- // press and hold me
- Rectangle {
- x: 200
- width: 98; height: 48
- color: "red"
- MouseArea {
- id: mr3
- anchors.fill: parent
- onPressAndHold: {
- parent.color = "blue";
- }
- }
- }
-
- // click me
- Rectangle {
- x: 300
- width: 98; height: 48
- color: "red"
- MouseArea {
- id: mr4
- anchors.fill: parent
- onPressed: {
- parent.color = "blue";
- }
- onReleased: {
- parent.color = "red";
- }
- }
- }
-
- // move into and out of me
- Rectangle {
- x: 0
- y: 50
- width: 98; height: 48
- color: "red"
- MouseArea {
- id: mr5
- anchors.fill: parent
- hoverEnabled: true
- onEntered: {
- parent.color = "blue";
- }
- onExited: {
- parent.color = "green";
- }
- }
- }
-
- // click, then double click me
- Rectangle {
- x: 100
- y: 50
- width: 98; height: 48
- color: "red"
- MouseArea {
- id: mr6
- anchors.fill: parent
- onClicked: {
- parent.color = "blue";
- }
- onDoubleClicked: {
- parent.color = "green";
- }
- }
- }
-
- // click, then double click me - nothing should happen
- Rectangle {
- x: 100
- y: 50
- width: 98; height: 48
- color: "red"
- MouseArea {
- id: mr7
- anchors.fill: parent
- enabled: false
- onClicked: { parent.color = "blue" }
- onPressed: { parent.color = "yellow" }
- onReleased: { parent.color = "cyan" }
- onDoubleClicked: { parent.color = "green" }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml b/tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml
deleted file mode 100644
index b2d88d2ca9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativemousearea/nested.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-import QtQuick 1.0
-
-/*
- Test nested MouseArea with different drag axes.
-*/
-
-Rectangle{
- width:400
- height:360
- color: "white"
- Flickable {
- anchors.fill: parent
- contentWidth: 600
- contentHeight: 600
- Rectangle{
- id: draggable
- width:200; height:200; color: "lightsteelblue"
- opacity: ma1.drag.active ? 0.5 : 1.0
- y:20
- MouseArea{
- id: ma1
- objectName: "one"
- anchors.fill: parent
- drag.target: draggable
- drag.axis: "XandYAxis"
- drag.filterChildren: true
- drag.minimumX: 0
- drag.maximumX: 200
- drag.minimumY: 20
- drag.maximumY: 220
- Rectangle{
- id: draggable_inner
- width:40; height:40; color: "red"
- y:20
- MouseArea{
- objectName: "two"
- anchors.fill: parent
- drag.target: draggable_inner
- drag.axis: "XAxis"
- drag.minimumX: 0
- drag.maximumX: 360
- }
- }
- }
- }
- Rectangle{
- id: draggable3
- width:40; height:40; color: "green"
- opacity: ma3.drag.active ? 0.5 : 1.0
- y:210
- MouseArea{
- id: ma3
- objectName: "three"
- anchors.fill: parent
- drag.target: draggable3
- drag.axis: "XAxis"
- drag.minimumX: 0
- drag.maximumX: 360
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png
deleted file mode 100644
index 88924b1f4f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.1.png b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.1.png
deleted file mode 100644
index 024a17cd03..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.2.png b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.2.png
deleted file mode 100644
index 8860fc21aa..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.3.png b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.3.png
deleted file mode 100644
index 2ab8ee322f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml
deleted file mode 100644
index 2930e2869e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/data/particles.qml
+++ /dev/null
@@ -1,775 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "particles.0.png"
- }
- Frame {
- msec: 32
- hash: "c7eb3936886726f584d1bd99133a199f"
- }
- Frame {
- msec: 48
- hash: "f7f6eeab119435f0cccd55074b4941bf"
- }
- Frame {
- msec: 64
- hash: "06f52743e61bf0212971652c500fe5d1"
- }
- Frame {
- msec: 80
- hash: "1f9dd3a3a0524c60791362f560936f9b"
- }
- Frame {
- msec: 96
- hash: "42538495fc9d63384a1709476c06d750"
- }
- Frame {
- msec: 112
- hash: "4d1b53541ffe5cdfcf0e3aa2916b1bac"
- }
- Frame {
- msec: 128
- hash: "6a3a683dbd2ad7c89f0788441303485e"
- }
- Frame {
- msec: 144
- hash: "125a936660dae42969fab4144d166ac6"
- }
- Frame {
- msec: 160
- hash: "87d008547326ff1bf2c4c2a9d9b99abc"
- }
- Frame {
- msec: 176
- hash: "0df69d85b37d3ebf0e314a7e89701703"
- }
- Frame {
- msec: 192
- hash: "7af12cac3bd33c903d6aa6fa8f89b498"
- }
- Frame {
- msec: 208
- hash: "424c950111c492ded19df874b938067c"
- }
- Frame {
- msec: 224
- hash: "bee69a0df1ca8ccc7d83a52f9de34f8c"
- }
- Frame {
- msec: 240
- hash: "47da1538d818e22d836de57d5c6601ce"
- }
- Frame {
- msec: 256
- hash: "fbfb0e177b19d6ef9433619f60dd9580"
- }
- Frame {
- msec: 272
- hash: "23b4f8bb116e8db48db25ccccedba43a"
- }
- Frame {
- msec: 288
- hash: "13f0847f1b86f880690692066cde21c7"
- }
- Frame {
- msec: 304
- hash: "639ca4c978bea080139b219c75bf01d1"
- }
- Frame {
- msec: 320
- hash: "19debcaa7bbde930eda2fd08ac1e9d8a"
- }
- Frame {
- msec: 336
- hash: "1d733c5010604bff67138f1eb9881dcd"
- }
- Frame {
- msec: 352
- hash: "b14435e41a3730baff06bb0800157081"
- }
- Frame {
- msec: 368
- hash: "504b3548c38d50f15235594f3f3d7be5"
- }
- Frame {
- msec: 384
- hash: "4e73ef73c949da579217c1d94139a75a"
- }
- Frame {
- msec: 400
- hash: "5fced44782484b1962368b9c04bf5246"
- }
- Frame {
- msec: 416
- hash: "6ab0cd5c14e1871a35d003574255c1db"
- }
- Frame {
- msec: 432
- hash: "23f5c485fbd0acd607119e93277284db"
- }
- Frame {
- msec: 448
- hash: "02ebd53ee0e6ca3605916b05d827989e"
- }
- Frame {
- msec: 464
- hash: "99b1d1e72d7da88a7d5d5a7907e1b1f4"
- }
- Frame {
- msec: 480
- hash: "b7de7d40263f2811ec51f28f8ff4929c"
- }
- Frame {
- msec: 496
- hash: "e64059f850dd4c8642a9883a1c5356bf"
- }
- Frame {
- msec: 512
- hash: "b0aefb8f8d4d970ba4b51d7f77b55cf1"
- }
- Frame {
- msec: 528
- hash: "5ab4b1373c233b2342eb66cf9eccac8d"
- }
- Frame {
- msec: 544
- hash: "b3726c296d5919a59c32201d857e92b4"
- }
- Frame {
- msec: 560
- hash: "70e246371f9cf83b5913f2fc53f6b736"
- }
- Frame {
- msec: 576
- hash: "871cd4b99b6d544d487424219e0caf92"
- }
- Frame {
- msec: 592
- hash: "8c002ec15e88220bf12ebaa5a3390570"
- }
- Frame {
- msec: 608
- hash: "21c994a5ad23938a9e873d04bbd4165e"
- }
- Frame {
- msec: 624
- hash: "1f04a0ed31823cd0817f3e97a11e3a46"
- }
- Frame {
- msec: 640
- hash: "f163eda68878ae0ed4cac7f941e24414"
- }
- Frame {
- msec: 656
- hash: "560527d6c7fa64a4739f9c79f3eaab8f"
- }
- Frame {
- msec: 672
- hash: "df7e7469ff685c4cd822232b1aa66029"
- }
- Frame {
- msec: 688
- hash: "fa92bf73b0737d4ac8bbc16518cd9c2a"
- }
- Frame {
- msec: 704
- hash: "bb2f2765ba20b727701352f11ed30417"
- }
- Frame {
- msec: 720
- hash: "4c45617ce77a5869cdbfcfe851796422"
- }
- Frame {
- msec: 736
- hash: "24aa2eabe8d2a4adc5a096dd201a3bc1"
- }
- Frame {
- msec: 752
- hash: "2eb5de2524ad38e1dcd44d89b115e75a"
- }
- Frame {
- msec: 768
- hash: "8b39e542908051b0ab8fbf3cd36f3be9"
- }
- Frame {
- msec: 784
- hash: "a447e9d7c87c90633dcfc550fcf04ff6"
- }
- Frame {
- msec: 800
- hash: "c3d1e7753b592bc0d0c3169e3cf08bb7"
- }
- Frame {
- msec: 816
- hash: "fb20ccb3b36798835fbc1d529a7424ea"
- }
- Frame {
- msec: 832
- hash: "ff253670ae78826250b9612cf2a2e1a4"
- }
- Frame {
- msec: 848
- hash: "45fb7f71debd3b61062a4165c04c0637"
- }
- Frame {
- msec: 864
- hash: "a1542b5bc5e65cdb3f8775cf21b54429"
- }
- Frame {
- msec: 880
- hash: "a146b5b88875e4148658dd55e162d6f4"
- }
- Frame {
- msec: 896
- hash: "94222050206925d4c9b38da03125cc0c"
- }
- Frame {
- msec: 912
- hash: "71a63ace8450029b968723cfa684330c"
- }
- Frame {
- msec: 928
- hash: "14e4d2af07146133c6a0e87391747c6a"
- }
- Frame {
- msec: 944
- hash: "e380593e219531620dbca0a8131b4f13"
- }
- Frame {
- msec: 960
- hash: "d52c30bc201afd3d1caf34efcddafdee"
- }
- Frame {
- msec: 976
- image: "particles.1.png"
- }
- Frame {
- msec: 992
- hash: "0d2871475891f96e1cc4150cbe725d46"
- }
- Frame {
- msec: 1008
- hash: "b6d064a26c282ce4fd8cba48de0a0f7b"
- }
- Frame {
- msec: 1024
- hash: "9ad67d9833d749b2b8158abb3076357b"
- }
- Frame {
- msec: 1040
- hash: "ce86624a1e055fdb4711dd73be31dc42"
- }
- Frame {
- msec: 1056
- hash: "a2c6fc81e1f02477f6ad084acaf12b0d"
- }
- Frame {
- msec: 1072
- hash: "bab24924a5ac4cd45c1fa7b5e4ff3efe"
- }
- Frame {
- msec: 1088
- hash: "8c8fd3b9cc257dab84df8e88a3e7a001"
- }
- Frame {
- msec: 1104
- hash: "a3f9936dc4e3161d9db1fa39267cda4d"
- }
- Frame {
- msec: 1120
- hash: "d6669c8a47077f665a93587ea3cafe6e"
- }
- Frame {
- msec: 1136
- hash: "601dbd220a7f312d4343323ae99e21ee"
- }
- Frame {
- msec: 1152
- hash: "722411ffc1d6740caed9bf1231bc54ba"
- }
- Frame {
- msec: 1168
- hash: "cb3bd6f5ee770399e21a07e56dcf28ef"
- }
- Frame {
- msec: 1184
- hash: "1819d6719e6b56b3e673dacf1865272e"
- }
- Frame {
- msec: 1200
- hash: "6b6532937a3e37df28b3939cbadc4741"
- }
- Frame {
- msec: 1216
- hash: "8a065d54600e9ae3c7958f7b71d8432d"
- }
- Frame {
- msec: 1232
- hash: "2259806ac264b292f5701f34ffac5c35"
- }
- Frame {
- msec: 1248
- hash: "e4b2a6440df9141616f89cbb6a6ba0aa"
- }
- Frame {
- msec: 1264
- hash: "034b74fe5327909214bb5a6e3084edf2"
- }
- Frame {
- msec: 1280
- hash: "976fd9bc54baefe8d71002a22706052a"
- }
- Frame {
- msec: 1296
- hash: "45138388ebc6ec44a205934475907b25"
- }
- Frame {
- msec: 1312
- hash: "01edec5ae6e33b49baee2abe2a59ad7d"
- }
- Frame {
- msec: 1328
- hash: "9a89ff95df027e53827c5554a28e05a8"
- }
- Frame {
- msec: 1344
- hash: "8d1cd8a1181b7320990b7348b424ce4b"
- }
- Frame {
- msec: 1360
- hash: "2366d1ee0c0740f0d19fe2ce1acfe4c3"
- }
- Frame {
- msec: 1376
- hash: "071988963ab2d1a53243e0f6837fecb0"
- }
- Frame {
- msec: 1392
- hash: "20f1e8adef04cea6bcd1511ac47a7922"
- }
- Frame {
- msec: 1408
- hash: "2241def30a3ef54ea82e5fa2b1ef5997"
- }
- Frame {
- msec: 1424
- hash: "15365370ac6859f1bfc76e96e603c417"
- }
- Frame {
- msec: 1440
- hash: "45edcbeb23c88f62982f9af9a4647f4c"
- }
- Frame {
- msec: 1456
- hash: "b7a9c7c44e6f9ff5132d1ad3f6137dc8"
- }
- Frame {
- msec: 1472
- hash: "8a55b85fdd63ac63c1a566a5c4d92a04"
- }
- Frame {
- msec: 1488
- hash: "e1973b7d557dec08e6375feefb56db47"
- }
- Frame {
- msec: 1504
- hash: "a321445212e561de4262228482b0edbe"
- }
- Frame {
- msec: 1520
- hash: "a2c787a576e1f85561c08330b6801e98"
- }
- Frame {
- msec: 1536
- hash: "ba84070f0081d4c7a08ebc3204d9aebf"
- }
- Frame {
- msec: 1552
- hash: "4b82a6908ed0caf3cbfd9dc9211ec69a"
- }
- Frame {
- msec: 1568
- hash: "a1dc7c4ad596fc005cf3077ee78406e1"
- }
- Frame {
- msec: 1584
- hash: "53d76884202d4b9ce3874db796705b80"
- }
- Frame {
- msec: 1600
- hash: "9f24c090531259f9d83ea97e842c4f14"
- }
- Frame {
- msec: 1616
- hash: "541c81585a781bab82d4ee95b9f844ff"
- }
- Frame {
- msec: 1632
- hash: "73e15141e6c6bfba4a2c820ba96e3f6e"
- }
- Frame {
- msec: 1648
- hash: "0500129b602ab14925aa09a1d9bee3d0"
- }
- Frame {
- msec: 1664
- hash: "2d45ba5e0e21430f468332c13ce3ee15"
- }
- Frame {
- msec: 1680
- hash: "bafd11c210e683d79ac438c5612503bc"
- }
- Frame {
- msec: 1696
- hash: "f968f49e6a0674877c55282e5543edab"
- }
- Frame {
- msec: 1712
- hash: "705307529862a3825a0870b294058825"
- }
- Frame {
- msec: 1728
- hash: "a008a501d1dc16a5ffaee325fdd90816"
- }
- Frame {
- msec: 1744
- hash: "5091621481873738658f4d8543582c62"
- }
- Frame {
- msec: 1760
- hash: "141216eeb31b5af4ec247bb930169a7f"
- }
- Frame {
- msec: 1776
- hash: "bfb203e39ab0a9837fc5b9c9b49d9580"
- }
- Frame {
- msec: 1792
- hash: "1f2704480af7dd2bb382d13450f34755"
- }
- Frame {
- msec: 1808
- hash: "f3182da7f6202250a6cc2de3e43fcf87"
- }
- Frame {
- msec: 1824
- hash: "6fa500f5ff387c5801186fb7eced96f4"
- }
- Frame {
- msec: 1840
- hash: "1874d59911d70daf098cd053da69127b"
- }
- Frame {
- msec: 1856
- hash: "52a7bcb9a18e8d4a24c2617124b7961b"
- }
- Frame {
- msec: 1872
- hash: "f3a7dd26aa4177dbee02d52df664c751"
- }
- Frame {
- msec: 1888
- hash: "5180db29e325f00c3940b6a7b8eb8a8e"
- }
- Frame {
- msec: 1904
- hash: "eab16b6ef76e627eff492cdf5d5da9e2"
- }
- Frame {
- msec: 1920
- hash: "57976a66963718e90c62535a936d9251"
- }
- Frame {
- msec: 1936
- image: "particles.2.png"
- }
- Frame {
- msec: 1952
- hash: "85ecf35d439bd4129f8780d8ee561dfb"
- }
- Frame {
- msec: 1968
- hash: "785d712b57b3ec4cee6b9e2fcfa1b775"
- }
- Frame {
- msec: 1984
- hash: "77906acfafec6ab595e8dad00373f953"
- }
- Frame {
- msec: 2000
- hash: "33722e5c66ee6dfc87ca62a53590969e"
- }
- Frame {
- msec: 2016
- hash: "7bd3d9e36789b3456c5e098d02341ce3"
- }
- Frame {
- msec: 2032
- hash: "be4af661ca19ca607acf0d8949b58c26"
- }
- Frame {
- msec: 2048
- hash: "e249df985887229664d3c61c7b01d2ef"
- }
- Frame {
- msec: 2064
- hash: "541a01af440e81c7b20fa9df0e85f5f9"
- }
- Frame {
- msec: 2080
- hash: "3579e5a3ab93b8c9998ef812f43ba158"
- }
- Frame {
- msec: 2096
- hash: "c2902c8068a48788e5511d2987191181"
- }
- Frame {
- msec: 2112
- hash: "3fc7d417d13cbccbff81c0630cf968f3"
- }
- Frame {
- msec: 2128
- hash: "5507fabe77585c38b2929e2565cd8e9d"
- }
- Frame {
- msec: 2144
- hash: "73f6a9a1602929b80ba28ac2c8095a95"
- }
- Frame {
- msec: 2160
- hash: "3377ee6818f1fbf15cfe2916ef7328ed"
- }
- Frame {
- msec: 2176
- hash: "4bea4237a5044b9ffbe9815b877a5b96"
- }
- Frame {
- msec: 2192
- hash: "f25dadf7b916625f120d3b5fc1602d0d"
- }
- Frame {
- msec: 2208
- hash: "ba095d86b7ecc9e2ca6c5d6567d6debf"
- }
- Frame {
- msec: 2224
- hash: "296129caee6a9526aa2c6071fb07198c"
- }
- Frame {
- msec: 2240
- hash: "42abe26548e9eb7a2c63aea7f349808c"
- }
- Frame {
- msec: 2256
- hash: "2d187394342584568aa24353233f67f7"
- }
- Frame {
- msec: 2272
- hash: "5c4047c8ca78103d443f9058f3ec3237"
- }
- Frame {
- msec: 2288
- hash: "05af8a131ec98b5bc60669bfcdee9a16"
- }
- Frame {
- msec: 2304
- hash: "b486a796a74962d6b5a4e928ff9e6a2d"
- }
- Frame {
- msec: 2320
- hash: "8bfa5cc3edf294a728bae51014733230"
- }
- Frame {
- msec: 2336
- hash: "fb5928a74d75f7eb23ed914e12ea2dba"
- }
- Frame {
- msec: 2352
- hash: "16c83f70c3559e97c4a28df7e8b94d95"
- }
- Frame {
- msec: 2368
- hash: "a7f926210d56dc368c99da12a27db42e"
- }
- Frame {
- msec: 2384
- hash: "9f235f259af00126a3fc2417d399dee6"
- }
- Frame {
- msec: 2400
- hash: "2397c99cc1697303bad9fbd029ee63a3"
- }
- Frame {
- msec: 2416
- hash: "b83a021c82c203d6cf690edd5fd98c89"
- }
- Frame {
- msec: 2432
- hash: "4e9e74f8b115b69b593f0233f9431258"
- }
- Frame {
- msec: 2448
- hash: "2d8f24eea1e87691eb2292bd01756498"
- }
- Frame {
- msec: 2464
- hash: "bad7ffbfe4feac5e7a13a70c8096ddab"
- }
- Frame {
- msec: 2480
- hash: "6869d23bf601c67593f23402023f931d"
- }
- Frame {
- msec: 2496
- hash: "6e4846623fe8b4a1c850729620cd7502"
- }
- Frame {
- msec: 2512
- hash: "f679d87f206ca71de191f3991c13f4b0"
- }
- Frame {
- msec: 2528
- hash: "7f503ceda23f0e4718f6216c3b4ddef7"
- }
- Frame {
- msec: 2544
- hash: "69f01285109c21cbd32a0f17942734be"
- }
- Frame {
- msec: 2560
- hash: "f2060324802c080703ff62c051c7cff2"
- }
- Frame {
- msec: 2576
- hash: "45d01b58f0812596aff06a09c1167d83"
- }
- Frame {
- msec: 2592
- hash: "688c9931abdaa7225da91cdf7f2beb48"
- }
- Frame {
- msec: 2608
- hash: "d522505f28615cc17206ca6099dbd83e"
- }
- Frame {
- msec: 2624
- hash: "ad86d8cee90c1458b64318f3edd94aee"
- }
- Frame {
- msec: 2640
- hash: "6dda1a6359b421ef7c9ffa4ecd863341"
- }
- Frame {
- msec: 2656
- hash: "dcc388cdf2b87e10b07e2f05ab6dce3c"
- }
- Frame {
- msec: 2672
- hash: "a5d64264be7778929116c9407548c7f8"
- }
- Frame {
- msec: 2688
- hash: "cc7ac18a25936825d42694a9022b73fa"
- }
- Frame {
- msec: 2704
- hash: "4423af95764aadbaffe3c608fb3a376b"
- }
- Frame {
- msec: 2720
- hash: "ad186cd5735531e2e6bfb2fc387dee2d"
- }
- Frame {
- msec: 2736
- hash: "d0e7c8071350bac03cf06996b6f74a63"
- }
- Frame {
- msec: 2752
- hash: "d012311c64fb35717155ebc88f9940d6"
- }
- Frame {
- msec: 2768
- hash: "13111334420c479b6a3ddbde65e2d143"
- }
- Frame {
- msec: 2784
- hash: "3a77939f35498ef91590cd57c534fb6a"
- }
- Frame {
- msec: 2800
- hash: "89cbc568600c18c3d7163c3079a3f584"
- }
- Frame {
- msec: 2816
- hash: "2a8db5a4cae5258578749a88fbf915ce"
- }
- Frame {
- msec: 2832
- hash: "ddd9cef18ce748096869dae9c2e23de3"
- }
- Frame {
- msec: 2848
- hash: "d9e213af096ce69f75863ed7c39b59f4"
- }
- Frame {
- msec: 2864
- hash: "69e9bfa09b8f5a1e2d83b77a5c9bc374"
- }
- Frame {
- msec: 2880
- hash: "ac6878edac61916bf424dcee2d7790e8"
- }
- Frame {
- msec: 2896
- image: "particles.3.png"
- }
- Frame {
- msec: 2912
- hash: "e60ed277794737b9f5d8c4a575f5b300"
- }
- Frame {
- msec: 2928
- hash: "5c1a39fa9789064ff0d5ea1fd4c6d187"
- }
- Frame {
- msec: 2944
- hash: "64c1593bf33b85593153ac9eeeb7793e"
- }
- Frame {
- msec: 2960
- hash: "dab7df26ba23ed3e750fa6080916f177"
- }
- Frame {
- msec: 2976
- hash: "5958428d5ab5a379f9bbcc0f86c20d1b"
- }
- Frame {
- msec: 2992
- hash: "65929536b7b8b48958fab7bd1e3ccca5"
- }
- Frame {
- msec: 3008
- hash: "cb157ba8c58bb7a8ec357e83e82ab441"
- }
- Frame {
- msec: 3024
- hash: "bf36b7c52a3b3b2fb08524131bb4b9e2"
- }
- Frame {
- msec: 3040
- hash: "0d2dbb3ba42cad9e8b5833c97dd0cdba"
- }
- Frame {
- msec: 3056
- hash: "f918a9f5fa6808b545c715dffa2f4838"
- }
- Frame {
- msec: 3072
- hash: "ec11344fb21ee06df6cface390d611d9"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml
deleted file mode 100644
index 38506a0c63..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/particles.qml
+++ /dev/null
@@ -1,56 +0,0 @@
-import QtQuick 1.0
-import Qt.labs.particles 1.0
-
-Rectangle {
- property string skip: "May contain random numbers"
- width: 640; height: 480; color: "black"
-
- Particles { id:particlesAneverEmitting
- y:60; width: 260; height:30; source: "star.png";
- lifeSpan:1000; count: 50; angle:70; angleDeviation:36;
- velocity:30; velocityDeviation:10; emissionRate: 0
- ParticleMotionWander { yvariance:5; xvariance:30; pace:100 }
- }
- Particles { id:particlesA //snowy particles from the top
- y:0; width: 260; height:30; source: "star.png";
- lifeSpan:1000; count: 50; angle:70; angleDeviation:36;
- velocity:30; velocityDeviation:10; emissionRate: 10
- ParticleMotionWander { yvariance:5; xvariance:30; pace:100 }
- }
-
- Particles { id:particlesB //particle fountain bursting every second
- y:280; x:180; width:1; height:1; lifeSpan:1000; source: "star.png"
- count: 100; angle:270; angleDeviation:45; velocity:50; velocityDeviation:30;
- emissionRate: 0
- ParticleMotionGravity { yattractor: 1000; xattractor:0; acceleration:25 }
- }
-
- Timer { running: true; interval: 1000; repeat: true; onTriggered: particlesB.burst(200, 2000); }
-
- Column{
- x: 340;
- Repeater{//emission variance test
- model: 5
- delegate: Component{
- Item{
- width: 100; height: 100
- Rectangle{
- color: "blue"
- width: 2; height: 2;
- x: 49; y:49;
- }
- Particles{
- x: 50; y:50; width: 0; height: 0;
- fadeInDuration: 0; fadeOutDuration: 0
- lifeSpan: 1000; lifeSpanDeviation:0;
- source: "star.png"
- count: -1; emissionRate: 120;
- emissionVariance: index/2;
- velocity: 250; velocityDeviation: 0;
- angle: 0; angleDeviation: 0;
- }
- }
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/star.png b/tests/auto/declarative/qmlvisual/qdeclarativeparticles/star.png
deleted file mode 100644
index defbde53ca..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativeparticles/star.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png
deleted file mode 100644
index 1b87edbe39..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png
deleted file mode 100644
index 4fc12d6281..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png
deleted file mode 100644
index d761a0ce71..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png
deleted file mode 100644
index e22464fd23..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png
deleted file mode 100644
index 14f07bed70..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png
deleted file mode 100644
index ba1ad34376..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml
deleted file mode 100644
index 9eaff18fec..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview-2.qml
+++ /dev/null
@@ -1,1855 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "test-pathview-2.0.png"
- }
- Frame {
- msec: 32
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 48
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 64
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 80
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 96
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 112
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 128
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 144
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 160
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 176
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 192
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 208
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 224
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 240
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 256
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 272
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 288
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 304
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 320
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 336
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 352
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 368
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 384
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 400
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 416
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 432
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 448
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 464
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 480
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 496
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 512
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 528
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 544
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 560
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 576
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 592
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 608
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 624
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 640
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 656
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 672
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 688
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 260; y: 189
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 704
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Frame {
- msec: 720
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 261; y: 188
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 736
- hash: "cc72b488dcdfa7c251782cbcae7ab1d5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 262; y: 188
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 266; y: 186
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 752
- hash: "ae9028c15de8ba4b02c733212d521c29"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 283; y: 183
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 768
- hash: "d61d21ab4d83b8578494720d9bfe6fa8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 302; y: 181
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 331; y: 181
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 784
- hash: "6a6c5551e3a5a08f5505eb0f61d9df36"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 384; y: 179
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 800
- hash: "c800609ffea814ba7cc2441790157245"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 432; y: 175
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 432; y: 175
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 816
- hash: "afcb452d41c6e895309bb921a1ad1d31"
- }
- Frame {
- msec: 832
- hash: "02d8f91c33f62aaf366bcfd03d232269"
- }
- Frame {
- msec: 848
- hash: "a1e475643d0871bb7d63f8cf2e0b780d"
- }
- Frame {
- msec: 864
- hash: "ba429e0c1a7f1624973813ae8be6b090"
- }
- Frame {
- msec: 880
- hash: "36c04a2bd58124877a332bb6a262a7e5"
- }
- Frame {
- msec: 896
- hash: "e6ea836d68c54a8308e10f33d4eb8b98"
- }
- Frame {
- msec: 912
- hash: "1910f67eb9180a866924fa8567afbdf5"
- }
- Frame {
- msec: 928
- hash: "68c60f1bc67a1d1117be7ed305b61ae1"
- }
- Frame {
- msec: 944
- hash: "b859b690c633a9fec87941e7c89f5d19"
- }
- Frame {
- msec: 960
- hash: "ef0b66e789a8e88389e16bfa36b9f6e2"
- }
- Frame {
- msec: 976
- image: "test-pathview-2.1.png"
- }
- Frame {
- msec: 992
- hash: "2bcde5c7b2e1aac1439b379ed729f6e1"
- }
- Frame {
- msec: 1008
- hash: "b7056d635c69b8e5bf98872f4c07ed43"
- }
- Frame {
- msec: 1024
- hash: "68aa8bd6709e1b49cfefc4594c236c46"
- }
- Frame {
- msec: 1040
- hash: "e615b8648d5449535b1f47ab770db423"
- }
- Frame {
- msec: 1056
- hash: "877e6357cc9a183a0288aa1551e26179"
- }
- Frame {
- msec: 1072
- hash: "d540453541aba394b0958cdc48f91d48"
- }
- Frame {
- msec: 1088
- hash: "d15e299030bc08097c3b9b4bbaace558"
- }
- Frame {
- msec: 1104
- hash: "b12b31d4959a697fcc8e54f1c846eef9"
- }
- Frame {
- msec: 1120
- hash: "937c7e346463c58c909795fa382761d9"
- }
- Frame {
- msec: 1136
- hash: "41975592e60f08a0296a8babe1da2df3"
- }
- Frame {
- msec: 1152
- hash: "0a5eea8a11b15ee8583f187f336f56c7"
- }
- Frame {
- msec: 1168
- hash: "5872891af6953f07a635698581695c58"
- }
- Frame {
- msec: 1184
- hash: "157c92d133a39a2b1d20a551303d2f6f"
- }
- Frame {
- msec: 1200
- hash: "213716cad9fa2179a17a512e8c03c8f5"
- }
- Frame {
- msec: 1216
- hash: "0ec517c50e9e36fef4fb14318e298723"
- }
- Frame {
- msec: 1232
- hash: "bab010fe0f5d3b57fd556a9b709c285e"
- }
- Frame {
- msec: 1248
- hash: "d8de3485eb7fb1f3675a25d7f807d08e"
- }
- Frame {
- msec: 1264
- hash: "c091e46064c8096568224ed7e4c8dc4f"
- }
- Frame {
- msec: 1280
- hash: "c0a6ede96566533ab35384afa535530f"
- }
- Frame {
- msec: 1296
- hash: "f61f5c7617700b9aad71206cfc9e402e"
- }
- Frame {
- msec: 1312
- hash: "c70c106d128051c06da3acdf817f5ffb"
- }
- Frame {
- msec: 1328
- hash: "624d7c7fb2f39225d51d1a548aa186ed"
- }
- Frame {
- msec: 1344
- hash: "f052610f17a7484bf6cb2bd07aa91af6"
- }
- Frame {
- msec: 1360
- hash: "ee9ac101215923305fa75ab4c99c8f36"
- }
- Frame {
- msec: 1376
- hash: "7597f86b537fbd70260908c973f9db21"
- }
- Frame {
- msec: 1392
- hash: "30cd60db9aa2df2adc7d01091c905cb4"
- }
- Frame {
- msec: 1408
- hash: "a9012dc82230c791bda1a7e6b7741896"
- }
- Frame {
- msec: 1424
- hash: "78774bdff6cef175dcb7a190e5f1bcab"
- }
- Frame {
- msec: 1440
- hash: "b87f002bf6fb0684f0b3cf565507e066"
- }
- Frame {
- msec: 1456
- hash: "b60916a57aec6ebbd8b69be7c8d66e19"
- }
- Frame {
- msec: 1472
- hash: "a28e1538d18ccb7485d0306b9f7b18a6"
- }
- Frame {
- msec: 1488
- hash: "d74aa07d0b66a5f2be42b9868d3cd8f2"
- }
- Frame {
- msec: 1504
- hash: "ea4c8f35367ee6f7631aa6e6d8aead03"
- }
- Frame {
- msec: 1520
- hash: "3ecf7faa733653ef20e4a26eb47d63d1"
- }
- Frame {
- msec: 1536
- hash: "f17a6be2e183f4c87e31004458e5052c"
- }
- Frame {
- msec: 1552
- hash: "5361d1f1100c4815dca1b49046b44593"
- }
- Frame {
- msec: 1568
- hash: "5cd97dc8a237fa92373eb50de8a3bd7b"
- }
- Frame {
- msec: 1584
- hash: "c957f5c58e0a9b315b51ac1012709493"
- }
- Frame {
- msec: 1600
- hash: "7b3cd8f583e6045d2e923a34abfc3aeb"
- }
- Frame {
- msec: 1616
- hash: "2146e67d469f1eb2071a1f04d8e9fc4e"
- }
- Frame {
- msec: 1632
- hash: "26839de649101c7b3bc6d9b1131325e6"
- }
- Frame {
- msec: 1648
- hash: "47472faf5e9bf4b4e514abe55f1e0b72"
- }
- Frame {
- msec: 1664
- hash: "30bc1d78a0cbd29813ad9504b1f0864b"
- }
- Frame {
- msec: 1680
- hash: "e255c047ce78f5677ccec8bd9737201a"
- }
- Frame {
- msec: 1696
- hash: "bd4f08095a9c546a42c85e6df6eaf655"
- }
- Frame {
- msec: 1712
- hash: "ca65869f48b169260c3756d846a12f36"
- }
- Frame {
- msec: 1728
- hash: "1921889beb8e61c8b959d4affa814465"
- }
- Frame {
- msec: 1744
- hash: "864a4d26e719dd9fc0e3ce5c28d7726a"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 275; y: 170
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 278; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1760
- hash: "cab96d2118b31d43e85dc902df2ed8ed"
- }
- Frame {
- msec: 1776
- hash: "cab96d2118b31d43e85dc902df2ed8ed"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 279; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 282; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1792
- hash: "d21c8af68b314800b86922493db6553e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 290; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1808
- hash: "a80c0f6f679ba5f1354f8e16677c1125"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 292; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1824
- hash: "d8729deb404f5b821264743943adb288"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 294; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 297; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1840
- hash: "87d41239eb7e170fa7a1ed523a9af942"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 302; y: 170
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1856
- hash: "1c185649e08a54a6949409ed7ee5dc60"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 305; y: 170
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 308; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1872
- hash: "57d5b71d5ff16f986c7df8d8405822b6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 313; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1888
- hash: "6fd4123cfc8998cfc7716f3d928fb03f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 331; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1904
- hash: "e1d6c01f6cd66a5bcdb08ca810a07282"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 340; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1920
- hash: "fd0e9cf835131ee6cc5ecf67c6724d73"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 354; y: 163
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1936
- image: "test-pathview-2.2.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 361; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 367; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1952
- hash: "69c17a9c18795b1d8ae63d36d76af626"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 371; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 376; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1968
- hash: "c7ca4762498af158a2f2da6f5ae560ce"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 383; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1984
- hash: "d823492036431e23d8b6876baccec263"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 387; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 391; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2000
- hash: "11d77567aeff20d8f62f2e4100603de3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 394; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2016
- hash: "f87df2e12dfe2ebb5b093e21970885b4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 395; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2032
- hash: "1e743264f0a312bc0d0a023fbc6db832"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 396; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2048
- hash: "ba9d1850c5c43c9aec5660601ba21d2f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 398; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2064
- hash: "8eb1f2c8c02c2acf4262e05000045649"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 401; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2080
- hash: "419c09739f855c53be3427a71aa3faf9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 403; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 406; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2096
- hash: "c55a189b05d87e8937d272f32bdc2481"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 408; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 409; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2112
- hash: "bb1515904f9b299402d1141445154430"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 411; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2128
- hash: "93363142c5a05c52c21e771b2bce71f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 413; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2144
- hash: "96f763c555b523d9b7ed7a0a159db368"
- }
- Frame {
- msec: 2160
- hash: "96f763c555b523d9b7ed7a0a159db368"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 414; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2176
- hash: "20f9cf7787c8cfd4843289f5ab2012e7"
- }
- Frame {
- msec: 2192
- hash: "20f9cf7787c8cfd4843289f5ab2012e7"
- }
- Frame {
- msec: 2208
- hash: "20f9cf7787c8cfd4843289f5ab2012e7"
- }
- Frame {
- msec: 2224
- hash: "20f9cf7787c8cfd4843289f5ab2012e7"
- }
- Frame {
- msec: 2240
- hash: "20f9cf7787c8cfd4843289f5ab2012e7"
- }
- Frame {
- msec: 2256
- hash: "20f9cf7787c8cfd4843289f5ab2012e7"
- }
- Frame {
- msec: 2272
- hash: "20f9cf7787c8cfd4843289f5ab2012e7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 412; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2288
- hash: "1241895174f4d8e4386c3957e3d2e292"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 409; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2304
- hash: "bb1515904f9b299402d1141445154430"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 401; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2320
- hash: "419c09739f855c53be3427a71aa3faf9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 399; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 396; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2336
- hash: "ba9d1850c5c43c9aec5660601ba21d2f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 393; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2352
- hash: "a130b471b3903f3f1d77f2306da2b92e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 392; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2368
- hash: "11d77567aeff20d8f62f2e4100603de3"
- }
- Frame {
- msec: 2384
- hash: "11d77567aeff20d8f62f2e4100603de3"
- }
- Frame {
- msec: 2400
- hash: "11d77567aeff20d8f62f2e4100603de3"
- }
- Frame {
- msec: 2416
- hash: "11d77567aeff20d8f62f2e4100603de3"
- }
- Frame {
- msec: 2432
- hash: "11d77567aeff20d8f62f2e4100603de3"
- }
- Frame {
- msec: 2448
- hash: "11d77567aeff20d8f62f2e4100603de3"
- }
- Frame {
- msec: 2464
- hash: "11d77567aeff20d8f62f2e4100603de3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 391; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 390; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2480
- hash: "47e86b008567366f37ac043ed8802d53"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 377; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2496
- hash: "92e1d5dbc85e777785cc68171a0a3fbf"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 331; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2512
- hash: "2234e44042daf277bd5307635155117f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 294; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 249; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2528
- hash: "acefb43050e140d689f1d377f50f5c83"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 129; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2544
- hash: "4bc43ae81aac757c872157ac9b41a2d9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 9; y: 133
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2560
- hash: "41421089f087c54ebcd9fa44e95bd96e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -48; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -99; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2576
- hash: "db0f09393b5c9284142f9eb3cb5952ce"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -173; y: 129
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: -173; y: 129
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2592
- hash: "9491689e51ec46bec07fb8b280daef80"
- }
- Frame {
- msec: 2608
- hash: "398e4a0ebc812b779b38c4541d33424c"
- }
- Frame {
- msec: 2624
- hash: "6bf415b82e7cfa68b8321571ab619c3f"
- }
- Frame {
- msec: 2640
- hash: "0d09a6a0cce6d22c14bc41b8465e8ba0"
- }
- Frame {
- msec: 2656
- hash: "495d14df729eede7e560f2e841bae142"
- }
- Frame {
- msec: 2672
- hash: "5329441c12424e5aa69ee0c5cff5926d"
- }
- Frame {
- msec: 2688
- hash: "482ce41c4b918a71b803c5f521ea494e"
- }
- Frame {
- msec: 2704
- hash: "aa8b21cdea3d0ae6a2e59a1b318da842"
- }
- Frame {
- msec: 2720
- hash: "dd142875acafdc8591a29bcd9f871dab"
- }
- Frame {
- msec: 2736
- hash: "222d638b8fb896563028f029e6fb3c49"
- }
- Frame {
- msec: 2752
- hash: "20b8fc718d9329c9c8901fdfe14557a2"
- }
- Frame {
- msec: 2768
- hash: "36217f04f3b1b70a9cf3fa4881b2def7"
- }
- Frame {
- msec: 2784
- hash: "e3a4b357c00d3d49e4a7d90f6f57054c"
- }
- Frame {
- msec: 2800
- hash: "44ad81d2ad0d502b003e148412871a41"
- }
- Frame {
- msec: 2816
- hash: "7313fc37802c462ddd324a13c8fcdc9c"
- }
- Frame {
- msec: 2832
- hash: "961e84cbb3591cebdb5b83c2aa83887c"
- }
- Frame {
- msec: 2848
- hash: "70e3cd650472d0e95f4d6ca9e34a2ce1"
- }
- Frame {
- msec: 2864
- hash: "19a7825cd8c0eaa6f313ec77fff9ec1b"
- }
- Frame {
- msec: 2880
- hash: "943dfcee3f04c77fba2cec289a288c4b"
- }
- Frame {
- msec: 2896
- image: "test-pathview-2.3.png"
- }
- Frame {
- msec: 2912
- hash: "36be9a0d4376ece0b279a118a3fab364"
- }
- Frame {
- msec: 2928
- hash: "92e9be6d36844bb475b861ba9c4bc3ff"
- }
- Frame {
- msec: 2944
- hash: "08b9cce3b2071b328054af6bcb6755c7"
- }
- Frame {
- msec: 2960
- hash: "b505d2f41a6db06d4ca03f5340800aa6"
- }
- Frame {
- msec: 2976
- hash: "b17faafb59a9d182faf00495736a7fac"
- }
- Frame {
- msec: 2992
- hash: "549eb98193f0e81aee716239f872a21c"
- }
- Frame {
- msec: 3008
- hash: "8dd67df95fae14079ed5b83c421a5b6e"
- }
- Frame {
- msec: 3024
- hash: "7b217f7c51087a07e8922b0286b2c1dc"
- }
- Frame {
- msec: 3040
- hash: "e464b5121f3204c64cafe2f5e31cf497"
- }
- Frame {
- msec: 3056
- hash: "7fc2018f8db17b65fd01b2ddfa44f66d"
- }
- Frame {
- msec: 3072
- hash: "a5d1871511eac7224292b3552da466a8"
- }
- Frame {
- msec: 3088
- hash: "2f0a55cf3cd30da77fbb73e749b729a3"
- }
- Frame {
- msec: 3104
- hash: "9aab649b6664c179878d0ead438dd751"
- }
- Frame {
- msec: 3120
- hash: "9506c95e1febf3d781e6b1dbbaf640d3"
- }
- Frame {
- msec: 3136
- hash: "e73b4fd7cb6285df9a77d666f25ab245"
- }
- Frame {
- msec: 3152
- hash: "adef134dc735305b673c6fa47a3d1a34"
- }
- Frame {
- msec: 3168
- hash: "04fc6aac5f090960cd87eefb4273fb0f"
- }
- Frame {
- msec: 3184
- hash: "294c842a71b5e4927146952ce865c8a2"
- }
- Frame {
- msec: 3200
- hash: "ac6f7afb4a5e67e2edd8300e7dfdff13"
- }
- Frame {
- msec: 3216
- hash: "036d247dd83e0fbfe4f65cbd79e9ab57"
- }
- Frame {
- msec: 3232
- hash: "959270d536187e6b669263a57b260e78"
- }
- Frame {
- msec: 3248
- hash: "ca457a1c503a980687926e31ac16995b"
- }
- Frame {
- msec: 3264
- hash: "42a9b43e2c66a5ef32c8b6564235c623"
- }
- Frame {
- msec: 3280
- hash: "b2a071734226b905f6c6f5652f645517"
- }
- Frame {
- msec: 3296
- hash: "cf5c7868e399fadac1642f47a0b4dbd2"
- }
- Frame {
- msec: 3312
- hash: "9c689254f44a6ced1c4962400613d4da"
- }
- Frame {
- msec: 3328
- hash: "9cfe0627852cefe67fc0b44b31085b4a"
- }
- Frame {
- msec: 3344
- hash: "de7ab5230efb63264f76fa1f1b61dcfa"
- }
- Frame {
- msec: 3360
- hash: "5ad22cf9e1c9a02cfc570beaac55bee0"
- }
- Frame {
- msec: 3376
- hash: "9e6210d9e6bfda4fe0695b75d03435e2"
- }
- Frame {
- msec: 3392
- hash: "d3989a9fb7e99d16032fa1842364f2ed"
- }
- Frame {
- msec: 3408
- hash: "f65c57211997139ae1473951333d7b35"
- }
- Frame {
- msec: 3424
- hash: "16bb17f511519337be2e60d8b9f95149"
- }
- Frame {
- msec: 3440
- hash: "819250fd9899a9457a9300f942f4d8bf"
- }
- Frame {
- msec: 3456
- hash: "191115950915abcb338c3f4c17595840"
- }
- Frame {
- msec: 3472
- hash: "14b553132a86e57577c416e6f6c53433"
- }
- Frame {
- msec: 3488
- hash: "f7a95239db44b66698d29f0daae826f1"
- }
- Frame {
- msec: 3504
- hash: "b5a6abb5294fb9b069ab8a075003cb61"
- }
- Frame {
- msec: 3520
- hash: "391c1c43ce893aeefc42d164e6e8aaac"
- }
- Frame {
- msec: 3536
- hash: "271addef36d51d904bc1d68f65b66de3"
- }
- Frame {
- msec: 3552
- hash: "73a23e56edcd64ac6147aff27b785ebb"
- }
- Frame {
- msec: 3568
- hash: "bd43145ae22086348cb5e68765a42ac1"
- }
- Frame {
- msec: 3584
- hash: "e9de53c430f9de55146ac6606d55d427"
- }
- Frame {
- msec: 3600
- hash: "6420fd46fd8068010d3caaa68eea457e"
- }
- Frame {
- msec: 3616
- hash: "188499a79313d984ed1d710329b0237f"
- }
- Frame {
- msec: 3632
- hash: "12da197320858ea4f8a1437b7ceac95a"
- }
- Frame {
- msec: 3648
- hash: "a44936319089e2379de34edf58b453c1"
- }
- Frame {
- msec: 3664
- hash: "c894ceaf318dd1afe29dcfe171aadf0f"
- }
- Frame {
- msec: 3680
- hash: "deea3a520f3fe43bf92f05a25f791458"
- }
- Frame {
- msec: 3696
- hash: "176381c4acfacecd0d203b7ad8fbd7d4"
- }
- Frame {
- msec: 3712
- hash: "0c6eec50abcf4afc20311ffa1326d4e8"
- }
- Frame {
- msec: 3728
- hash: "21f2e0c3ba2142d1baae9406858f1cea"
- }
- Frame {
- msec: 3744
- hash: "21f2e0c3ba2142d1baae9406858f1cea"
- }
- Frame {
- msec: 3760
- hash: "21f2e0c3ba2142d1baae9406858f1cea"
- }
- Frame {
- msec: 3776
- hash: "21f2e0c3ba2142d1baae9406858f1cea"
- }
- Frame {
- msec: 3792
- hash: "21f2e0c3ba2142d1baae9406858f1cea"
- }
- Frame {
- msec: 3808
- hash: "21f2e0c3ba2142d1baae9406858f1cea"
- }
- Frame {
- msec: 3824
- hash: "21f2e0c3ba2142d1baae9406858f1cea"
- }
- Frame {
- msec: 3840
- hash: "21f2e0c3ba2142d1baae9406858f1cea"
- }
- Frame {
- msec: 3856
- image: "test-pathview-2.4.png"
- }
- Frame {
- msec: 3872
- hash: "21f2e0c3ba2142d1baae9406858f1cea"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 363; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3888
- hash: "e66b75e5644018aecd321e498de08ca1"
- }
- Frame {
- msec: 3904
- hash: "e66b75e5644018aecd321e498de08ca1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 363; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3920
- hash: "eb346d68bd5b51a31ee2f5d807970d96"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 361; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 358; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3936
- hash: "ffd30479d99b19926072fa94cdec6195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 352; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3952
- hash: "207efe4cbcebaedca1d2fc6726d46543"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 349; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 342; y: 162
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3968
- hash: "f011a043293362d5affcbcdfe3c93131"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 327; y: 166
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3984
- hash: "934ed8956abae51fd19352f23ef9a16a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 320; y: 168
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 320; y: 168
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4000
- hash: "0daf00b242485319f5c9050b9cdb6775"
- }
- Frame {
- msec: 4016
- hash: "8111f56ae5cfcf1d6c934e134602a8dc"
- }
- Frame {
- msec: 4032
- hash: "6f3f6c2ae3c36401d1d96a37bbd62c52"
- }
- Frame {
- msec: 4048
- hash: "11cde9b9369addaa5ff140e3a0bbf9ac"
- }
- Frame {
- msec: 4064
- hash: "fefd7d44805c330c606fcc23b691832e"
- }
- Frame {
- msec: 4080
- hash: "b9eb8f8a78485deafc04a9bac39e5c31"
- }
- Frame {
- msec: 4096
- hash: "f0be22ea55a6a9621718cb5e1b55e6f7"
- }
- Frame {
- msec: 4112
- hash: "cb0d62b8c16406a0ff35feea3ff074b9"
- }
- Frame {
- msec: 4128
- hash: "15bf986b1e4072ce48ef40651e11a93a"
- }
- Frame {
- msec: 4144
- hash: "d29f81f0c8468ea045f1c21adca8c0e6"
- }
- Frame {
- msec: 4160
- hash: "577f27fd6212bbb7394b64b0872d7e6e"
- }
- Frame {
- msec: 4176
- hash: "f26c83a4ede9e04ceabf276fd2eeaa4d"
- }
- Frame {
- msec: 4192
- hash: "34f449f3c29c4b0bb0972e8d3510452c"
- }
- Frame {
- msec: 4208
- hash: "5cf950b9f0bb8c851a2865718bd3e6ec"
- }
- Frame {
- msec: 4224
- hash: "202b5c9cd1717dfef0d1f667ca115571"
- }
- Frame {
- msec: 4240
- hash: "5d703db8af0eeba0327177f79b0fd85b"
- }
- Frame {
- msec: 4256
- hash: "69e4fdbaba2ad4983edcbaad0ccfa905"
- }
- Frame {
- msec: 4272
- hash: "c91389bd9e9c7fce2a8e5ffca851cf89"
- }
- Frame {
- msec: 4288
- hash: "5e2b94dda5af845a368032cc85e3167f"
- }
- Frame {
- msec: 4304
- hash: "5946e2bd9a32130fed9612d6152b7ddd"
- }
- Frame {
- msec: 4320
- hash: "74f13b9111005e610028ea252132c1fc"
- }
- Frame {
- msec: 4336
- hash: "ba2a587b26fd3d92a368e3b63513e145"
- }
- Frame {
- msec: 4352
- hash: "2047ecb0be3173846b7c09b7054bad07"
- }
- Frame {
- msec: 4368
- hash: "db6993dfaad694f812130c112e9c78b6"
- }
- Frame {
- msec: 4384
- hash: "aea54cad7368b8511412f4d9fd1e8b07"
- }
- Frame {
- msec: 4400
- hash: "431d140c8e9a61f6c1fe7a044900b4b7"
- }
- Frame {
- msec: 4416
- hash: "ed80bccd69ebd4326b01fdf46b56dd52"
- }
- Frame {
- msec: 4432
- hash: "edd82b44bd2813f2bf20bbf8be4ad10d"
- }
- Frame {
- msec: 4448
- hash: "527b3fb45d585f70ef2ef2e78d2fff05"
- }
- Frame {
- msec: 4464
- hash: "00b68c12c6cef0b523eeef8c7556a26c"
- }
- Frame {
- msec: 4480
- hash: "37c62b1c2c3d70220b1d7b28a57de0a5"
- }
- Frame {
- msec: 4496
- hash: "e73843907eb7ee18c59b5fe98022f542"
- }
- Frame {
- msec: 4512
- hash: "139d84bfdefd825a89ddd4150a72fa9f"
- }
- Frame {
- msec: 4528
- hash: "779690a2e5291b7d64ceed193bf8e572"
- }
- Frame {
- msec: 4544
- hash: "4ffd9beb48bd769d9e3b8ad3aedff08b"
- }
- Frame {
- msec: 4560
- hash: "b1edf784de34b42bd74390836db976b9"
- }
- Frame {
- msec: 4576
- hash: "78327706741822e6ba8b0b88be469422"
- }
- Frame {
- msec: 4592
- hash: "32979d6f14c1aeca1f7ac0c5a330bbdc"
- }
- Frame {
- msec: 4608
- hash: "8274a35f384478ca2f018c5d914d428d"
- }
- Frame {
- msec: 4624
- hash: "70f4b77c65450eddfa61ebdf2dc75985"
- }
- Frame {
- msec: 4640
- hash: "2f95623085afc48094f122c290566440"
- }
- Frame {
- msec: 4656
- hash: "8f671bd7878b897593eb8ae0358c8a01"
- }
- Frame {
- msec: 4672
- hash: "64cf5c749c85d0e42b6c99f31da955b8"
- }
- Frame {
- msec: 4688
- hash: "22e3394e779e25cc0d6c05bd2c6159d5"
- }
- Frame {
- msec: 4704
- hash: "42bc5633692228e48aa3ce3e3d8a7bbe"
- }
- Frame {
- msec: 4720
- hash: "4dd05fce6984dbc6b6764b5e4189fd94"
- }
- Frame {
- msec: 4736
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4752
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4768
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4784
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4800
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4816
- image: "test-pathview-2.5.png"
- }
- Frame {
- msec: 4832
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4848
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4864
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4880
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4896
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4912
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4928
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4944
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4960
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4976
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 4992
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 5008
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 5024
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 5040
- hash: "ca7b9bc30c728268b338848230a5a859"
- }
- Frame {
- msec: 5056
- hash: "d30be31c0f9d92aeba83ce345551005a"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png
deleted file mode 100644
index af0e7817b8..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png
deleted file mode 100644
index d3e98dcb8d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png
deleted file mode 100644
index 9c6c1c3f05..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png
deleted file mode 100644
index fc1574a2cd..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png
deleted file mode 100644
index f76ae14a9e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.5.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.5.png
deleted file mode 100644
index f6b8e83c8e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.png b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.png
deleted file mode 100644
index d7b5943f34..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml
deleted file mode 100644
index 32c2a15f8b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/data/test-pathview.qml
+++ /dev/null
@@ -1,2567 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "test-pathview.0.png"
- }
- Frame {
- msec: 32
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 48
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 64
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 80
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 96
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 112
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 128
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 144
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 160
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 176
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 192
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 208
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 224
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 240
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 256
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 272
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 288
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 304
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 320
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 336
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 352
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 368
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 384
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 400
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 416
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 432
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 448
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 464
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 480
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 496
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 512
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 528
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Frame {
- msec: 544
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 363; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 560
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 362; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 576
- hash: "b9fed927475786f6f7aefc554cfc1afe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 361; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 357; y: 159
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 592
- hash: "683d9f54c75f5b1ed082edb0b4559bc8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 348; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 330; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 608
- hash: "02e5238c0764f370d0f463cc3f477df7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 286; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 624
- hash: "02239cd84ce630a89b94dbcf469d9a70"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 254; y: 163
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 640
- hash: "51c14d87d2cf89aaece5bd682008f67f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 240; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 225; y: 167
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 656
- hash: "db00a0d69efd43f69c83dafbf38a06a6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 672
- hash: "1bfd848a89a0477596b77903a173f728"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 174; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 153; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 153; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 688
- hash: "f66f04b42b0db33b852a82030d647886"
- }
- Frame {
- msec: 704
- hash: "e1573c6fd92f0fc4e267a37f417d0bc0"
- }
- Frame {
- msec: 720
- hash: "017044987c781ad8bb4cd8242f9091ed"
- }
- Frame {
- msec: 736
- hash: "cd952ffa63dbcb772b666ce755c9a2f1"
- }
- Frame {
- msec: 752
- hash: "2a31778e3ab7c676ae82278948cef12a"
- }
- Frame {
- msec: 768
- hash: "cb9e1ef51c8367e0b8c71cfdb70906fa"
- }
- Frame {
- msec: 784
- hash: "05ccb24a2025df31188b413c8d837232"
- }
- Frame {
- msec: 800
- hash: "df31f9dba1a762397c0364d7e83052ef"
- }
- Frame {
- msec: 816
- hash: "6eec07606ef320072ea23ceedb3f6b29"
- }
- Frame {
- msec: 832
- hash: "e3502cb53c6e17373de3b718a8212f4d"
- }
- Frame {
- msec: 848
- hash: "c684dc3153314fe3a73fa0dd09f27695"
- }
- Frame {
- msec: 864
- hash: "f1d5e911a68f9922f29bb6ae14234da9"
- }
- Frame {
- msec: 880
- hash: "aa9c3122e3c2a7ed450a0afffbcf4e6a"
- }
- Frame {
- msec: 896
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 912
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 928
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 944
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 960
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 976
- image: "test-pathview.1.png"
- }
- Frame {
- msec: 992
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1008
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1024
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1040
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1056
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1072
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1088
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1104
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1120
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1136
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1152
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Frame {
- msec: 1168
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 378; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1184
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 376; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1200
- hash: "1535dea92038cf87395a616841fd9bf6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 374; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 373; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1216
- hash: "aa9c3122e3c2a7ed450a0afffbcf4e6a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 367; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 353; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1232
- hash: "b889647c08af7db2e6582d9927cb1cf7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 328; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 303; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1248
- hash: "1cea77e58dbf1c9f321eab2f01f37be0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 280; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 253; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1264
- hash: "b38c46d537e6e622c8a0ecae76dbe506"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 230; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1280
- hash: "6261f2f16bdd89142cfbf1de4ce64a32"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 193; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 193; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1296
- hash: "d4f8d57bae3d5bc888a4bbe2812b3fdf"
- }
- Frame {
- msec: 1312
- hash: "11717eaf13ac83760984afa47bbd52f7"
- }
- Frame {
- msec: 1328
- hash: "b20e244f27dae505568fcba25cccb5d8"
- }
- Frame {
- msec: 1344
- hash: "f31d264a002718787ea55a6312c7f9f2"
- }
- Frame {
- msec: 1360
- hash: "514d400cdc9c356a0de3c04649d885dc"
- }
- Frame {
- msec: 1376
- hash: "64fc0f18174f5e8002cf79a908cc08df"
- }
- Frame {
- msec: 1392
- hash: "ab04af0d0f0f0d4538ec58841306cea7"
- }
- Frame {
- msec: 1408
- hash: "5cbc813c467b453c3e8de177aaede5b6"
- }
- Frame {
- msec: 1424
- hash: "47e431bf01575c44f7c1fa3e20409866"
- }
- Frame {
- msec: 1440
- hash: "d17b62a0b52b4a5220b29b55f764abc6"
- }
- Frame {
- msec: 1456
- hash: "9bd0d8dfbee424bd0ccf72703a7c51c2"
- }
- Frame {
- msec: 1472
- hash: "8ef880c18ecd8adb66e7e0a2dceb61fc"
- }
- Frame {
- msec: 1488
- hash: "fcc1bc7f35342f595448ca2870478b50"
- }
- Frame {
- msec: 1504
- hash: "24421668a7814c3db8b7d1e50d2e9137"
- }
- Frame {
- msec: 1520
- hash: "b2a6acf1fed92069fd2779b1fa236c95"
- }
- Frame {
- msec: 1536
- hash: "7128a442b6bb06038477d46ac3da5021"
- }
- Frame {
- msec: 1552
- hash: "6a0ab3ccc3749b9a2b9a5b5851b0cf70"
- }
- Frame {
- msec: 1568
- hash: "18f6cdad215c55ea8335d06110715aa8"
- }
- Frame {
- msec: 1584
- hash: "137420f4b1f51440c3aefd18dbdad71d"
- }
- Frame {
- msec: 1600
- hash: "a4a436b32e96fe5f9c3309bd1cabe65a"
- }
- Frame {
- msec: 1616
- hash: "cb801c9d2b7f04a0413898ea74c61f80"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 339; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 334; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1632
- hash: "2e74cc22a4e5b20cc231bc08e15e662a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 245; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 161; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1648
- hash: "27be226c985bb0143d1dca3e4be4b10a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 139; y: 150
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 139; y: 150
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1664
- hash: "9384d46806b2a8091b6d16f7636d6ae4"
- }
- Frame {
- msec: 1680
- hash: "38e396c6fa5754d0070e4fd17ab2dc8b"
- }
- Frame {
- msec: 1696
- hash: "dc1facc91b6935983bbcd2eada452d4d"
- }
- Frame {
- msec: 1712
- hash: "6bb08cc431a3ecca1a553ea10669bb0c"
- }
- Frame {
- msec: 1728
- hash: "1330640d4ca9ac69dd089cea34b7f61d"
- }
- Frame {
- msec: 1744
- hash: "95370207a55b56c41923937b40d5fe6b"
- }
- Frame {
- msec: 1760
- hash: "ba1a6b8e55d7c5d73b371c8821f8caa2"
- }
- Frame {
- msec: 1776
- hash: "ec19910e0f7b3e218d5a1992a7d00c4a"
- }
- Frame {
- msec: 1792
- hash: "7ca87adb6f69c5530be9da6df6b1d9a9"
- }
- Frame {
- msec: 1808
- hash: "05109c3dfac7f65fe00e81d1a145f048"
- }
- Frame {
- msec: 1824
- hash: "3da4fe69c1d6904a36d95bcd43f52195"
- }
- Frame {
- msec: 1840
- hash: "3cdb89ceb3ee66349b8a19301cc58e3d"
- }
- Frame {
- msec: 1856
- hash: "98088442867a0f1ec90144c531c9c5fb"
- }
- Frame {
- msec: 1872
- hash: "22d87a7d6409e2ce659a869dce57eef8"
- }
- Frame {
- msec: 1888
- hash: "c1466f188c724c889017db70e2d60153"
- }
- Frame {
- msec: 1904
- hash: "e5392d308078449277be8d2f57561551"
- }
- Frame {
- msec: 1920
- hash: "f0dcfd9b22f385fedfde964774480f85"
- }
- Frame {
- msec: 1936
- image: "test-pathview.2.png"
- }
- Frame {
- msec: 1952
- hash: "8d6a232f303e48c9366dbf265cedf958"
- }
- Frame {
- msec: 1968
- hash: "c6bc2031a4c59eb7a5b34e663252e91c"
- }
- Frame {
- msec: 1984
- hash: "bf8be42cdcdcfd205c8cb7e937ff5d0d"
- }
- Frame {
- msec: 2000
- hash: "ac57c578e7e2cbb57e982d6da5fb7268"
- }
- Frame {
- msec: 2016
- hash: "db40e242fabf119f0e7187eeb96a34a5"
- }
- Frame {
- msec: 2032
- hash: "9a2c8dd1883824415f5825a2a5cf3d09"
- }
- Frame {
- msec: 2048
- hash: "78e31d9b30619ee5774d3cf10b5af762"
- }
- Frame {
- msec: 2064
- hash: "67a28c2188aecfc5dcccedd257789dbc"
- }
- Frame {
- msec: 2080
- hash: "4355f220c8a87ad981088fb23bb15f11"
- }
- Frame {
- msec: 2096
- hash: "6a2f7dde022d4044e8772b8fcc28b02e"
- }
- Frame {
- msec: 2112
- hash: "ba13b0b4790aec7084b5553fe0b0d72b"
- }
- Frame {
- msec: 2128
- hash: "662402cd180eb325c174b6935a9d3f0a"
- }
- Frame {
- msec: 2144
- hash: "8eb192c9d01fe205ddcba2d5cadab65f"
- }
- Frame {
- msec: 2160
- hash: "bcc69f859b3bff759e0c732c7adc23f0"
- }
- Frame {
- msec: 2176
- hash: "bc0ee50215b6b31422ee423f7955770c"
- }
- Frame {
- msec: 2192
- hash: "955212dc28a6f8fe59c658401284d3a3"
- }
- Frame {
- msec: 2208
- hash: "0ce5216f041f657a96ae4693319bfad3"
- }
- Frame {
- msec: 2224
- hash: "0370a09ab78439e9df487ea55853ef98"
- }
- Frame {
- msec: 2240
- hash: "23190380ddcc4e3afce2164a4743d179"
- }
- Frame {
- msec: 2256
- hash: "40ca7c3d24883a8d3457de934b247280"
- }
- Frame {
- msec: 2272
- hash: "299ed19fa4d213e0e9dd127e8799d5fc"
- }
- Frame {
- msec: 2288
- hash: "e39a067860fa7dcb4efba87aee58cc77"
- }
- Frame {
- msec: 2304
- hash: "a709045723c4a9a2e85295fcc360eea9"
- }
- Frame {
- msec: 2320
- hash: "44ecad3423a36882755fad6fb79bc2c8"
- }
- Frame {
- msec: 2336
- hash: "b3eaadeb9d3b008fcf21c58158e8b028"
- }
- Frame {
- msec: 2352
- hash: "110b000fa3e122560480d466fe231b21"
- }
- Frame {
- msec: 2368
- hash: "51f7c896d79c900a2b54a8c756228200"
- }
- Frame {
- msec: 2384
- hash: "28c18081813c801c6793873ec23e6c0c"
- }
- Frame {
- msec: 2400
- hash: "65c1f85d2086f5e6d95d9b99a84281a5"
- }
- Frame {
- msec: 2416
- hash: "752cb6969fa8b76abf4bb229edb2c21f"
- }
- Frame {
- msec: 2432
- hash: "f00ea591d697546b5afe4420b702db49"
- }
- Frame {
- msec: 2448
- hash: "d510db233f025b026f896b760848cc07"
- }
- Frame {
- msec: 2464
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2480
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2496
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2512
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2528
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2544
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2560
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2576
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2592
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2608
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 72; y: 121
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2624
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2640
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Frame {
- msec: 2656
- hash: "e5c8d361abcbc15df0b0b82728cb5b84"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 73; y: 121
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 74; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2672
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 79; y: 123
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 129
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2688
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 161; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2704
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 239; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2720
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 280; y: 178
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 313; y: 185
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2736
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 344; y: 191
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 344; y: 191
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2752
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2768
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2784
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2800
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2816
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2832
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2848
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2864
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2880
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2896
- image: "test-pathview.3.png"
- }
- Frame {
- msec: 2912
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2928
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2944
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2960
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2976
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 2992
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3008
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3024
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3040
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3056
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3072
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3088
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 152; y: 143
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3104
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3120
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3136
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3152
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3168
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 151; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3184
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Frame {
- msec: 3200
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 152; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 153; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3216
- hash: "f728208b0fc2f230313c86378cf7f419"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 155; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 157; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3232
- hash: "7d43010a9951054df82571936a04cc50"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 161; y: 147
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 164; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3248
- hash: "ab1980970c82238d2c37d61db4fc5153"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 166; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3264
- hash: "dc7f5231d844b36e1429f1072080a60c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 170; y: 150
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 171; y: 150
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3280
- hash: "161410fe9eb458c717cfbb9ef0626535"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 175; y: 150
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 177; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3296
- hash: "91a884de3e19dc6ca7fcde32492b3ff1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 180; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 183; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3312
- hash: "ab2d88a4cd58d0064c32660272ff1dbd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 187; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3328
- hash: "ed299cd4ef2364ab1d7b702e2b0a7233"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 193; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 195; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3344
- hash: "4346ad16720e853154bfc1a22d9e7f55"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 197; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 199; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3360
- hash: "1347a26241ed98d4913e1cb6cda58286"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 202; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 202; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3376
- hash: "2efe07858c0c4de7fd3e339d7a24d5f5"
- }
- Frame {
- msec: 3392
- hash: "3edbe6755710ce148341faeb6980707a"
- }
- Frame {
- msec: 3408
- hash: "fb7b31720b9de8d820ce29d9861482dd"
- }
- Frame {
- msec: 3424
- hash: "4bb82c8b498b41e0785bea6b2c52b5e6"
- }
- Frame {
- msec: 3440
- hash: "207003ce6908f9707e9193a6c82a40c0"
- }
- Frame {
- msec: 3456
- hash: "04f3c7a5cb270405446cbb85da8c1c16"
- }
- Frame {
- msec: 3472
- hash: "1fdaaa68c4ed484536c207a0eacf6e72"
- }
- Frame {
- msec: 3488
- hash: "d1223c8254f9e7e37c4e09628f38bce2"
- }
- Frame {
- msec: 3504
- hash: "3b0dce0a781799bd24073a6dc9717f68"
- }
- Frame {
- msec: 3520
- hash: "1f6fc9f37a02e54418d90307f06c5b6f"
- }
- Frame {
- msec: 3536
- hash: "a1116c06874af67ff54d69009f78d4da"
- }
- Frame {
- msec: 3552
- hash: "4717c402fc7ad0d3f44b9944672d2746"
- }
- Frame {
- msec: 3568
- hash: "7a180273295e9a30f5e26cdb080b87f2"
- }
- Frame {
- msec: 3584
- hash: "8d8c117ca102cb93e752904fe3aee7bc"
- }
- Frame {
- msec: 3600
- hash: "3cee427f42e8ccd33e9fccd903ae6f1d"
- }
- Frame {
- msec: 3616
- hash: "bbd5f2b95325fde3b8759f2ef713c6bd"
- }
- Frame {
- msec: 3632
- hash: "25779cf68847c0a132ea4aed6a5ef4d3"
- }
- Frame {
- msec: 3648
- hash: "5a424e7e66d87d278483c43070920d56"
- }
- Frame {
- msec: 3664
- hash: "ae28bc20e20e022e1ac9bc2ddac0e134"
- }
- Frame {
- msec: 3680
- hash: "9f3c20980b481806ce7c1b33c177a049"
- }
- Frame {
- msec: 3696
- hash: "5fb403dc08f95fb0651dcd33d32ef6c0"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 117; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3712
- hash: "c6422e39ed268dd67846e55908bc6f21"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 143
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3728
- hash: "913269856c18d4f478eed1aa1d5ae293"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 119; y: 143
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 120; y: 143
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3744
- hash: "2c6a32e167bef4c3de0ca97e5764f31b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 121; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "88386cf4d982c5ca4e3fbd3519d9bd9c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 123; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 124; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3776
- hash: "8c30751e1d1e443b5ad217151e8e8fc8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 129; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3792
- hash: "b09c45ea79cd818bac6fe35e4167d4bd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 132; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 135; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3808
- hash: "e621e9486e10332d937417a0b6be6be7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 139; y: 147
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 143; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3824
- hash: "f4a805fc5c12cc3b2a22ef01050bf3aa"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 147; y: 150
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 152; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3840
- hash: "aa7805e4d806c4c56ded804145c44464"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 156; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 161; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3856
- image: "test-pathview.4.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 175; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3872
- hash: "f6495f86ae29c7a996b3302300e98f75"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 184; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 194; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3888
- hash: "0dda191a66162db6365c663979b0990d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 211; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3904
- hash: "72a57fe4fc34a19040890a9e2a11dae5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 221; y: 162
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 231; y: 162
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3920
- hash: "3a303646ea0fd126ee00c847efa48d0c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 241; y: 162
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 251; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3936
- hash: "8d33b6fa9d6525902e5611cf8ed2fa1f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 276; y: 167
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3952
- hash: "d73a8eba0c43f214946052481f3db98f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 288; y: 167
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 301; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3968
- hash: "c2f101636963ff5c61be2ad83c6b7ceb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 312; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 324; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 324; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3984
- hash: "54630f489303c7ec2e94b4c941bd310f"
- }
- Frame {
- msec: 4000
- hash: "357106c752b13bcca047d55a3c7cd486"
- }
- Frame {
- msec: 4016
- hash: "3cc1355449b8ec7209537fedb0af43b1"
- }
- Frame {
- msec: 4032
- hash: "7da9e4197cb9be292e561790af1caa27"
- }
- Frame {
- msec: 4048
- hash: "2f4e6b57c6a4fa1689e585214f35702a"
- }
- Frame {
- msec: 4064
- hash: "76edfedd2b9edcc5770dcce87b022427"
- }
- Frame {
- msec: 4080
- hash: "68165bd37b4cb1609d686a361ae54e06"
- }
- Frame {
- msec: 4096
- hash: "436e81734e23502ef8604145d5892c41"
- }
- Frame {
- msec: 4112
- hash: "93f005a5a6a989db3e1702fa4f11f6ee"
- }
- Frame {
- msec: 4128
- hash: "7d00d2a606d92cb8c0726c14cba0f989"
- }
- Frame {
- msec: 4144
- hash: "32ebb24cee3ba65f9242708538203553"
- }
- Frame {
- msec: 4160
- hash: "948429b8ded1f688cd7e27e0f056f40c"
- }
- Frame {
- msec: 4176
- hash: "c6fc2e8519a31bc18eb924ca98cd24be"
- }
- Frame {
- msec: 4192
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4208
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4224
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4240
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4256
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4272
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4288
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4304
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4320
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4336
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4352
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4368
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4384
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 4400
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 112; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4416
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 112; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4432
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 114; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4448
- hash: "96815da788d9968a173e7005d3ca8bff"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 116; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 119; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4464
- hash: "6949c70729c3e43bc59cc12d4bb82d8f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 134
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 131; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4480
- hash: "26ce66ebfa6eec9eab4d987ef4ec5d5f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 147; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4496
- hash: "46e206837a34ba4d418c4e1098b49fd8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 190; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 219; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4512
- hash: "ac7451dcd3f1359ca2850bd986c22994"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 269; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4528
- hash: "f9179ba9c011bc1492daf0d22f7e85e0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 319; y: 176
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4544
- hash: "8db5ba9548ecad76b889d9024f59b5cf"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 361; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4560
- hash: "30375b9f69ca4ac1b67ff208fd18817f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 406; y: 185
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4576
- hash: "3ba2bd45231cdea3bd9f868c9d35f91e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 428; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 428; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4592
- hash: "50646478058ada031f29b5df661e734e"
- }
- Frame {
- msec: 4608
- hash: "ab6f2fb209650dbf83710f3299db8907"
- }
- Frame {
- msec: 4624
- hash: "dbec24d44d19b834e9a4936c960c4295"
- }
- Frame {
- msec: 4640
- hash: "09c41872193e4a6eab37b35ef4e90465"
- }
- Frame {
- msec: 4656
- hash: "1778dc99de59e28a730a1439a7576abb"
- }
- Frame {
- msec: 4672
- hash: "6dbbdb5b4e6c6870b5dd62b1b94f9dd3"
- }
- Frame {
- msec: 4688
- hash: "3b5cf826c12339c0c635ae1ffcd431e7"
- }
- Frame {
- msec: 4704
- hash: "6d6068c26eea67214fd3529ab84ab5b5"
- }
- Frame {
- msec: 4720
- hash: "54cbc4842acb46254746984936656c5b"
- }
- Frame {
- msec: 4736
- hash: "10707bae5274ad29ac3e4aea320a30bf"
- }
- Frame {
- msec: 4752
- hash: "ad288c8afc21a87077bae47cbaed1a46"
- }
- Frame {
- msec: 4768
- hash: "bc1c391b0d7a56276b7c082aa2882e47"
- }
- Frame {
- msec: 4784
- hash: "c62341687ca048da1551eb708c7e8a19"
- }
- Frame {
- msec: 4800
- hash: "1a4e3bb688d6fcfe937f53f8179b21e0"
- }
- Frame {
- msec: 4816
- image: "test-pathview.5.png"
- }
- Frame {
- msec: 4832
- hash: "0646877fe2f6935ca4b34495abed5919"
- }
- Frame {
- msec: 4848
- hash: "46899d9c0a188671d9b7ec01c827ad03"
- }
- Frame {
- msec: 4864
- hash: "85cd8aa6dfa28c5d2e10f1ff83644d8f"
- }
- Frame {
- msec: 4880
- hash: "323711ddd10147f51d903f524195b9fe"
- }
- Frame {
- msec: 4896
- hash: "ba6b46ac25a4f111c926522fc47d7367"
- }
- Frame {
- msec: 4912
- hash: "5dab5804d66b6aa8e4f73246c3b19557"
- }
- Frame {
- msec: 4928
- hash: "2cac21d8e33bc01431a6aedabba3ce18"
- }
- Frame {
- msec: 4944
- hash: "e1edf4268e206a40543d1a6caa4d0b43"
- }
- Frame {
- msec: 4960
- hash: "4989e920c0d173e68c3de730a5f4f877"
- }
- Frame {
- msec: 4976
- hash: "9840b722350840b56b096fda3a70f8e8"
- }
- Frame {
- msec: 4992
- hash: "261b7a66300ff2a9b761dd70d02ed490"
- }
- Frame {
- msec: 5008
- hash: "7b6ffb01c050c31bfb433077c8336ed9"
- }
- Frame {
- msec: 5024
- hash: "f8a20f8fe943b498dae9ba8fed113496"
- }
- Frame {
- msec: 5040
- hash: "e66b0f50bae2d0bba73f415af2c8dba1"
- }
- Frame {
- msec: 5056
- hash: "c82bb5035ff84c955f34f1189dcdbda4"
- }
- Frame {
- msec: 5072
- hash: "8fce2628032b2a1f16373e721671ab8c"
- }
- Frame {
- msec: 5088
- hash: "e260e978d88301448eb56145e0fdfd07"
- }
- Frame {
- msec: 5104
- hash: "7c5d5bfdabf8b7f1d01fb1761ec976b3"
- }
- Frame {
- msec: 5120
- hash: "eeb8f15a4cbecf4013f48015ebb1840d"
- }
- Frame {
- msec: 5136
- hash: "fb7bbed845f6fd5648c73431b0e4f65a"
- }
- Frame {
- msec: 5152
- hash: "6e944ef5057031fc6a56ea27036c953a"
- }
- Frame {
- msec: 5168
- hash: "0f96b7d876cb893081606ff93f7cf5c7"
- }
- Frame {
- msec: 5184
- hash: "5904e4105e1108427a2826f24f82b293"
- }
- Frame {
- msec: 5200
- hash: "79a79fd11348a5a250d132a151446711"
- }
- Frame {
- msec: 5216
- hash: "edfed341f047b923aea434a3c31c8c27"
- }
- Frame {
- msec: 5232
- hash: "06e8e9e202b395dc3b230b1b7a982bf8"
- }
- Frame {
- msec: 5248
- hash: "d2ba2520683cdb64d366ab44a54b4668"
- }
- Frame {
- msec: 5264
- hash: "94b1e8a018f17f761de164a8acf4d68a"
- }
- Frame {
- msec: 5280
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5296
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5312
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5328
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5344
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5360
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5376
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5392
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5408
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5424
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5440
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5456
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5472
- hash: "8abb0aa8951612338c3bb87c7a0d2509"
- }
- Frame {
- msec: 5488
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5504
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5520
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5536
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5552
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5568
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5584
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5600
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5616
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5632
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5648
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5664
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5680
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5696
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5712
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5728
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5744
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5760
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5776
- image: "test-pathview.6.png"
- }
- Frame {
- msec: 5792
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5808
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5824
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5840
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5856
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5872
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5888
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5904
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5920
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5936
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5952
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5968
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 5984
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6000
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6016
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6032
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6048
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6064
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6080
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6096
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6112
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6128
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6144
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6160
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6176
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6192
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6208
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6224
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6240
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6256
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
- Frame {
- msec: 6272
- hash: "a29d4b3fa16829823e63bf83e7b62aff"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview-2.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview-2.qml
deleted file mode 100644
index 3171203424..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview-2.qml
+++ /dev/null
@@ -1,70 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 580; height: 220
- //Same as test-pathview, but with pathItemCount < model.count
-
- ListModel {
- id: rssModel
- ListElement { lColor: "red" }
- ListElement { lColor: "green" }
- ListElement { lColor: "yellow" }
- ListElement { lColor: "blue" }
- ListElement { lColor: "purple" }
- ListElement { lColor: "gray" }
- ListElement { lColor: "brown" }
- ListElement { lColor: "thistle" }
- }
-
- Component {
- id: photoDelegate
- Rectangle {
- id: wrapper
- width: 65; height: 65; color: lColor
- scale: wrapper.PathView.scale
-
- MouseArea { anchors.fill: parent }
-
- transform: Rotation {
- id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2
- axis.y: 1; axis.z: 0; angle: wrapper.PathView.angle
- }
- }
- }
-
- PathView {
- id: photoPathView; model: rssModel; delegate: photoDelegate
- anchors.fill: parent; z: 1
- anchors.topMargin:40
- pathItemCount: 6
- path: Path {
- startX: -50; startY: 40;
-
- PathAttribute { name: "scale"; value: 0.5 }
- PathAttribute { name: "angle"; value: -45 }
-
- PathCubic {
- x: 300; y: 140
- control1X: 90; control1Y: 30
- control2X: 140; control2Y: 150
- }
-
- PathAttribute { name: "scale"; value: 1.2 }
- PathAttribute { name: "angle"; value: 0 }
-
- PathCubic {
- x: 600; y: 30
- control2X: 440; control2Y: 30
- control1X: 420; control1Y: 150
- }
-
- PathAttribute { name: "scale"; value: 0.5 }
- PathAttribute { name: "angle"; value: 45 }
- }
- }
-
- Column {
- Rectangle { width: 20; height: 20; color: "red"; opacity: photoPathView.moving ? 1 : 0 }
- Rectangle { width: 20; height: 20; color: "blue"; opacity: photoPathView.flicking ? 1 : 0 }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml b/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml
deleted file mode 100644
index 08499e76da..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepathview/test-pathview.qml
+++ /dev/null
@@ -1,70 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 580; height: 220
-
- ListModel {
- id: rssModel
- ListElement { lColor: "red" }
- ListElement { lColor: "green" }
- ListElement { lColor: "yellow" }
- ListElement { lColor: "blue" }
- ListElement { lColor: "purple" }
- ListElement { lColor: "gray" }
- ListElement { lColor: "brown" }
- ListElement { lColor: "thistle" }
- }
-
- Component {
- id: photoDelegate
- Rectangle {
- id: wrapper
- width: 65; height: 65; color: lColor
- scale: wrapper.PathView.scale
-
- MouseArea { anchors.fill: parent }
-
- transform: Rotation {
- id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2
- axis.y: 1; axis.z: 0; angle: wrapper.PathView.angle
- }
- }
- }
-
- PathView {
- id: photoPathView; model: rssModel; delegate: photoDelegate
- anchors.fill: parent; z: 1
- anchors.topMargin:40
- highlightMoveDuration: 200
- flickDeceleration: 200
- path: Path {
- startX: -50; startY: 40;
-
- PathAttribute { name: "scale"; value: 0.5 }
- PathAttribute { name: "angle"; value: -45 }
-
- PathCubic {
- x: 300; y: 140
- control1X: 90; control1Y: 30
- control2X: 140; control2Y: 150
- }
-
- PathAttribute { name: "scale"; value: 1.2 }
- PathAttribute { name: "angle"; value: 0 }
-
- PathCubic {
- x: 600; y: 30
- control2X: 440; control2Y: 30
- control1X: 420; control1Y: 150
- }
-
- PathAttribute { name: "scale"; value: 0.5 }
- PathAttribute { name: "angle"; value: 45 }
- }
- }
-
- Column {
- Rectangle { width: 20; height: 20; color: "red"; opacity: photoPathView.moving ? 1 : 0 }
- Rectangle { width: 20; height: 20; color: "blue"; opacity: photoPathView.flicking ? 1 : 0 }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png
deleted file mode 100644
index a02a00dd78..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.1.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.1.png
deleted file mode 100644
index be18b8dc2d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.2.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.2.png
deleted file mode 100644
index e4db4bca2e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.3.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.3.png
deleted file mode 100644
index d464e79d00..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.4.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.4.png
deleted file mode 100644
index b0b93863e1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.5.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.5.png
deleted file mode 100644
index 4ea4b24e16..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.6.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.6.png
deleted file mode 100644
index a115867d2a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml
deleted file mode 100644
index 5f1e8be157..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/dynamic.qml
+++ /dev/null
@@ -1,1603 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "dynamic.0.png"
- }
- Frame {
- msec: 32
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 48
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 64
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 80
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 96
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 112
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 128
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 144
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 160
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 176
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 192
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 208
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 224
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 240
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 256
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 272
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 288
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 304
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 320
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 336
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 352
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 368
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 384
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 400
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 416
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 432
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 448
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 464
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 480
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 496
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 512
- hash: "d203c2cb69cb0841827e14bddc206d1f"
- }
- Frame {
- msec: 528
- hash: "453d5fb9d38f37bb8c23e376de76db06"
- }
- Frame {
- msec: 544
- hash: "c4a103de3b7207b3c6277e8ecf79f7dc"
- }
- Frame {
- msec: 560
- hash: "f58b0eb42d9b6ace87379f205da57550"
- }
- Frame {
- msec: 576
- hash: "3384c5b5939d8297e0834c7cd347d579"
- }
- Frame {
- msec: 592
- hash: "420b55371c69c6e1a17ef85a600c75d1"
- }
- Frame {
- msec: 608
- hash: "55cc6fb3424ef69d316ef29f6563a025"
- }
- Frame {
- msec: 624
- hash: "045b5ac545e69777b814423f77575990"
- }
- Frame {
- msec: 640
- hash: "45b05241e8e83180a8d92a37dc859ce0"
- }
- Frame {
- msec: 656
- hash: "97915dfbe4943e1f583ee134bc7a0117"
- }
- Frame {
- msec: 672
- hash: "9b4ce5ed20dd81698b4dd8e48f799c5c"
- }
- Frame {
- msec: 688
- hash: "24bdcea108cdbb3898a4d9216e9f9510"
- }
- Frame {
- msec: 704
- hash: "d1427093b1a375e86a69c6f65cb1f8e5"
- }
- Frame {
- msec: 720
- hash: "43dd666b15697ae18eb2410017256e4c"
- }
- Frame {
- msec: 736
- hash: "8043755f5a8a528353f1e7c310a46a97"
- }
- Frame {
- msec: 752
- hash: "d6b2ef0cb81395cd7454392aed4571f0"
- }
- Frame {
- msec: 768
- hash: "c249fd272e02cbdde972e85fc6dac695"
- }
- Frame {
- msec: 784
- hash: "1df5f8fce7b0c102e9902912600054e7"
- }
- Frame {
- msec: 800
- hash: "a9d16b180634620e3fe6caacb730885b"
- }
- Frame {
- msec: 816
- hash: "7228ce597720520bc12911fdef70ca86"
- }
- Frame {
- msec: 832
- hash: "1faa5c3e72740941234ff4a93388edc9"
- }
- Frame {
- msec: 848
- hash: "997ee1c6d5838153182473a3724df4ad"
- }
- Frame {
- msec: 864
- hash: "6ebbc0a0427825ea701f5bb4758f11a2"
- }
- Frame {
- msec: 880
- hash: "a2ac19360d631fd6d58f8a5ee85e40b4"
- }
- Frame {
- msec: 896
- hash: "17a5842b47a220bb8bd74a368cea6c1f"
- }
- Frame {
- msec: 912
- hash: "b37bae9c3384c068a7dd4f1135d3bfaa"
- }
- Frame {
- msec: 928
- hash: "65ffb0b6629364ebc687da7785601abd"
- }
- Frame {
- msec: 944
- hash: "27c7a43515fb2d8cddde42263f6ac9df"
- }
- Frame {
- msec: 960
- hash: "cc292df8a090c08d135dedf5e2a0af7c"
- }
- Frame {
- msec: 976
- image: "dynamic.1.png"
- }
- Frame {
- msec: 992
- hash: "59735c8372774b50052d15232d2f6d01"
- }
- Frame {
- msec: 1008
- hash: "9c239c4439009465dd91606ac84a3bf0"
- }
- Frame {
- msec: 1024
- hash: "8b9715d6468c8501895545bd84bf7f57"
- }
- Frame {
- msec: 1040
- hash: "0f7a123bfff1dbe059b6ceb3a3f44180"
- }
- Frame {
- msec: 1056
- hash: "c1bc31a379d15ca67d0ffc7139800b3f"
- }
- Frame {
- msec: 1072
- hash: "ebf470cd7cff4a836da9e721acfd327d"
- }
- Frame {
- msec: 1088
- hash: "e2b89846459f8ae48117ab4393d493bf"
- }
- Frame {
- msec: 1104
- hash: "5b980dcc070faf4ab4099cd5f711259c"
- }
- Frame {
- msec: 1120
- hash: "4640ed55c1608d76109407279a1f02db"
- }
- Frame {
- msec: 1136
- hash: "d839b597a3afef61de7b14ffb7ae518e"
- }
- Frame {
- msec: 1152
- hash: "2810e01355c32d3f7a9352676e6b5eef"
- }
- Frame {
- msec: 1168
- hash: "f1ac8b222e0068320827564e759e87ba"
- }
- Frame {
- msec: 1184
- hash: "7da89563319dd4045e7f9c40a712d722"
- }
- Frame {
- msec: 1200
- hash: "09c55dba364e484eec1a1badb4319003"
- }
- Frame {
- msec: 1216
- hash: "defd5c9a8003c58a7bef1930efdd6f29"
- }
- Frame {
- msec: 1232
- hash: "0f84e515b41b5c064ece9002e5edff0d"
- }
- Frame {
- msec: 1248
- hash: "d1a0405a18fe5b54e79ca0cadf46743b"
- }
- Frame {
- msec: 1264
- hash: "6046feb2fad386ae25ddd0d0e8ecb673"
- }
- Frame {
- msec: 1280
- hash: "b4374b0d9d709b0d7a9f8949616a16bf"
- }
- Frame {
- msec: 1296
- hash: "4d9d7d28f32ce2acd14c8dca0bc11fa0"
- }
- Frame {
- msec: 1312
- hash: "384afb63bdf34729132ac57080fa2988"
- }
- Frame {
- msec: 1328
- hash: "44ac2a9783c450a8c39b09387f0439e2"
- }
- Frame {
- msec: 1344
- hash: "26e1dfc2b54370f94881c2341b6e0618"
- }
- Frame {
- msec: 1360
- hash: "be47d72ae7c57e255706a8a5afe1fd3f"
- }
- Frame {
- msec: 1376
- hash: "92cb490b081bccedf0bbdee86dbc50ed"
- }
- Frame {
- msec: 1392
- hash: "1f0a09601474246e94c5ec3763cfa83e"
- }
- Frame {
- msec: 1408
- hash: "73f1a5c57a2c96e18ba894a7adb9a014"
- }
- Frame {
- msec: 1424
- hash: "8aa130cf4b2706afc8d582ee4c5f510d"
- }
- Frame {
- msec: 1440
- hash: "1c0de0f1f4aa5f44bdf774169296487d"
- }
- Frame {
- msec: 1456
- hash: "1e9b701ee63effb760e733ac623d75d7"
- }
- Frame {
- msec: 1472
- hash: "c30620b6d5d41937217fa9d3e0bf367d"
- }
- Frame {
- msec: 1488
- hash: "1f96e1da113d4a6cdb7179771ef7967d"
- }
- Frame {
- msec: 1504
- hash: "aa31458e44ba42a633421e8688a3af7e"
- }
- Frame {
- msec: 1520
- hash: "a7a560c05566d0bbea3f2bf397a0063a"
- }
- Frame {
- msec: 1536
- hash: "fdd290bc46b86a11afdffb95570d9a67"
- }
- Frame {
- msec: 1552
- hash: "46574d7bfc15bc5b9124eb0e12741724"
- }
- Frame {
- msec: 1568
- hash: "aed2015031da6c7e5064fe5fcd1e86e3"
- }
- Frame {
- msec: 1584
- hash: "dea39f30e686771ca516ac32e3dc4cb0"
- }
- Frame {
- msec: 1600
- hash: "4a9839f52a7ee6732c5e18c0d67534be"
- }
- Frame {
- msec: 1616
- hash: "df21723df1031542483684ff92aaf40a"
- }
- Frame {
- msec: 1632
- hash: "53683b7b52d0940aac744f0ef03a4527"
- }
- Frame {
- msec: 1648
- hash: "e6177b60c5586e79ca82e1bc7af41737"
- }
- Frame {
- msec: 1664
- hash: "592a60e226aa6967a8a41bc0e4288583"
- }
- Frame {
- msec: 1680
- hash: "534512915d800d00350803c3fdcccaf3"
- }
- Frame {
- msec: 1696
- hash: "a01ffd7ab177f850f3d8320da19a03ce"
- }
- Frame {
- msec: 1712
- hash: "15bd47f2c5c8cefe7565790b429aa6a4"
- }
- Frame {
- msec: 1728
- hash: "b90692eafe68c2b04057af887617667c"
- }
- Frame {
- msec: 1744
- hash: "edb22bd93a83de0cd3a046ed5a513ece"
- }
- Frame {
- msec: 1760
- hash: "f08fa88d05f48c42dd1eba538dc464d4"
- }
- Frame {
- msec: 1776
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1792
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1808
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1824
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1840
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1856
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1872
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1888
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1904
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1920
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1936
- image: "dynamic.2.png"
- }
- Frame {
- msec: 1952
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1968
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 1984
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2000
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2016
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2032
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2048
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2064
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2080
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2096
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2112
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2128
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2144
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2160
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2176
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2192
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2208
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2224
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2240
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2256
- hash: "ec46803523ee0516ed2c89923ff2ded7"
- }
- Frame {
- msec: 2272
- hash: "6b8b68e359f532729bf25a6851563ad7"
- }
- Frame {
- msec: 2288
- hash: "1ee3cf0c3c738a909f1b40b4ef49ac50"
- }
- Frame {
- msec: 2304
- hash: "71889e0f81eeb252dd91a46af5ce24e7"
- }
- Frame {
- msec: 2320
- hash: "99390a696ac524d752672df6f2136fa3"
- }
- Frame {
- msec: 2336
- hash: "00919914f1623bb260e0f99b471aa182"
- }
- Frame {
- msec: 2352
- hash: "64bd7ff1518a3e84c4b40511c5c0ff2d"
- }
- Frame {
- msec: 2368
- hash: "b68da721bf79592e49408b098f72e884"
- }
- Frame {
- msec: 2384
- hash: "6a8ca937b7c961c403ab1662d170c1a5"
- }
- Frame {
- msec: 2400
- hash: "3f4034da4cd71738d1130c3baa38cf9b"
- }
- Frame {
- msec: 2416
- hash: "97a86d3c04d07508604b46732b121edd"
- }
- Frame {
- msec: 2432
- hash: "42e9ab3ed744d1a9a7eb5b7a206f29b3"
- }
- Frame {
- msec: 2448
- hash: "ff86192c1b9c0faabb5563260cb1bff2"
- }
- Frame {
- msec: 2464
- hash: "e1de0e431b971deb546935b6b2fc78e7"
- }
- Frame {
- msec: 2480
- hash: "b7817a7f15d8e727e25719de8cc7d50a"
- }
- Frame {
- msec: 2496
- hash: "66772971897fc00d01d067e5fc38f848"
- }
- Frame {
- msec: 2512
- hash: "175db8c0324af4c206f9673f0a8d0477"
- }
- Frame {
- msec: 2528
- hash: "f3dea687e0ca335b987b6b3c7d736469"
- }
- Frame {
- msec: 2544
- hash: "44d035dd8e302b75c5a7f98a2005fe75"
- }
- Frame {
- msec: 2560
- hash: "140cf53cb6873b14e6263537f84b0aa0"
- }
- Frame {
- msec: 2576
- hash: "6c9090d4488289e69562747271459d7d"
- }
- Frame {
- msec: 2592
- hash: "49e92db256f5be8c4e35566eea8fca70"
- }
- Frame {
- msec: 2608
- hash: "80f41d2eb743ee13fcc486651e310fe2"
- }
- Frame {
- msec: 2624
- hash: "f581fdcaf30c0efd4518e538e88c2ebf"
- }
- Frame {
- msec: 2640
- hash: "c028db6753cf60bf587e6c46080a31ea"
- }
- Frame {
- msec: 2656
- hash: "231b69aa9bdadbaf47cbfbc44a322a51"
- }
- Frame {
- msec: 2672
- hash: "f0bcc02aaab3fad2ff53fc2d7541d4aa"
- }
- Frame {
- msec: 2688
- hash: "80e34154585ba3480e37eaac6bfa396c"
- }
- Frame {
- msec: 2704
- hash: "e1ebf3ba98b2df53ac9f72744034ba6d"
- }
- Frame {
- msec: 2720
- hash: "b8f749a58888f90ed5cabe7aa2eee1ee"
- }
- Frame {
- msec: 2736
- hash: "3a78458aa124a331f5b1616be5eea914"
- }
- Frame {
- msec: 2752
- hash: "c442c02859bc35a8e5493200e68b1730"
- }
- Frame {
- msec: 2768
- hash: "0cc4d24a1e1fa75a339a5b3dd07f18f3"
- }
- Frame {
- msec: 2784
- hash: "0d124bc578058db99e32d58f4b412758"
- }
- Frame {
- msec: 2800
- hash: "fc174a039606c5457532c9ac27c6faec"
- }
- Frame {
- msec: 2816
- hash: "db5d25d7c01605ec81cdab3e239a1f0f"
- }
- Frame {
- msec: 2832
- hash: "7dcffdbf9ac992aac0751bed5c38a0eb"
- }
- Frame {
- msec: 2848
- hash: "b59dc4f39b3e032d5cd34ffca098889f"
- }
- Frame {
- msec: 2864
- hash: "925d232189a3eee4bae08a8fe86a488b"
- }
- Frame {
- msec: 2880
- hash: "4ab3a889e27de8f45670c240f6d452a6"
- }
- Frame {
- msec: 2896
- image: "dynamic.3.png"
- }
- Frame {
- msec: 2912
- hash: "9b8629b588dcb840fcd32f73f66016ee"
- }
- Frame {
- msec: 2928
- hash: "dca8e45e930314a860f36343f4577738"
- }
- Frame {
- msec: 2944
- hash: "b68f3b38e154b65225211c6a1ca8ddb8"
- }
- Frame {
- msec: 2960
- hash: "d8168aea7962cad60132da9baf66f95c"
- }
- Frame {
- msec: 2976
- hash: "6f83cd7be71666e08172a2c59e715f2e"
- }
- Frame {
- msec: 2992
- hash: "f98c68954ed98f340e86c159fcf4f013"
- }
- Frame {
- msec: 3008
- hash: "e4692a0e6d82864e9027bcf893e0cf90"
- }
- Frame {
- msec: 3024
- hash: "ed02ff4d37ad03c0d0d53cf8163ed1c5"
- }
- Frame {
- msec: 3040
- hash: "fb116353a2ceabae2d93c9aac48727d8"
- }
- Frame {
- msec: 3056
- hash: "7b8c99b86838c46db4e756cc039ba045"
- }
- Frame {
- msec: 3072
- hash: "c8d8e194bc957402fe2236b1a472faa6"
- }
- Frame {
- msec: 3088
- hash: "f0f3d8c8ac3604cd11b7492fe5ee023e"
- }
- Frame {
- msec: 3104
- hash: "b41cf314e4684423b4708ccd55904d60"
- }
- Frame {
- msec: 3120
- hash: "4f578969386627b6e620e83bad5a6a6c"
- }
- Frame {
- msec: 3136
- hash: "bd9fcfaa4e79f969548af12d072c1ec2"
- }
- Frame {
- msec: 3152
- hash: "a418dc92f8b04fddf95f38bd24825ee6"
- }
- Frame {
- msec: 3168
- hash: "4684b3e318a08f0f2331a13143592d18"
- }
- Frame {
- msec: 3184
- hash: "1e135a4fd2e7336d8a59ca3497374a3d"
- }
- Frame {
- msec: 3200
- hash: "d1be76e2c56422b469a9d09e22f62df5"
- }
- Frame {
- msec: 3216
- hash: "8827523a7f8fa89a56d932102dff7b52"
- }
- Frame {
- msec: 3232
- hash: "e12e6b907af5e6feffed0b9e68c71895"
- }
- Frame {
- msec: 3248
- hash: "7bc3605f5f241170732aba19ca649896"
- }
- Frame {
- msec: 3264
- hash: "d7da9274f30cacd419f0b0b7c8c8a728"
- }
- Frame {
- msec: 3280
- hash: "154775464235d2a2fb338c27f1490f27"
- }
- Frame {
- msec: 3296
- hash: "1657f65e8759eec3c026262bb271dd1c"
- }
- Frame {
- msec: 3312
- hash: "29b4c68846aab3c1dcf4e58861915c33"
- }
- Frame {
- msec: 3328
- hash: "fe22b3b991a80b34d6fe12515bfa2fd0"
- }
- Frame {
- msec: 3344
- hash: "961343bb9dcc1fbe81b4c20392c28cb9"
- }
- Frame {
- msec: 3360
- hash: "a2adb3179465e34b517bf906491a1b60"
- }
- Frame {
- msec: 3376
- hash: "067fb8a2f5043dd4616fb1539e3e9c4a"
- }
- Frame {
- msec: 3392
- hash: "009329915e9027d77218fd83334960ed"
- }
- Frame {
- msec: 3408
- hash: "81b05d8aef8152830c6f199d6dd94fd5"
- }
- Frame {
- msec: 3424
- hash: "b23fa537f88a97490e48fb3a8cd4b507"
- }
- Frame {
- msec: 3440
- hash: "182464f620768efe0253c97cda75d839"
- }
- Frame {
- msec: 3456
- hash: "f1ddbec396cead5d4acf9b65822becb6"
- }
- Frame {
- msec: 3472
- hash: "a73085722d33638517b3f60a16ce9fcd"
- }
- Frame {
- msec: 3488
- hash: "ecce53b0c525834341ee4b3c546e670c"
- }
- Frame {
- msec: 3504
- hash: "86f1da737164290a90c1aef9355e2375"
- }
- Frame {
- msec: 3520
- hash: "722ec874122ad8dcc73820a3a2fb7dca"
- }
- Frame {
- msec: 3536
- hash: "35eb086b11482b752e2c02f1dc4d9099"
- }
- Frame {
- msec: 3552
- hash: "83cf9c0b5d0afd5d3cee4c446274f5c4"
- }
- Frame {
- msec: 3568
- hash: "e1bbef11fe02adb0756113e1106fe7f1"
- }
- Frame {
- msec: 3584
- hash: "774c8bb4585954274852d6bb07e64916"
- }
- Frame {
- msec: 3600
- hash: "b0264bcddf313d4e819a608143a86ac9"
- }
- Frame {
- msec: 3616
- hash: "5e3859fd56e5022cbc7831e22447f05d"
- }
- Frame {
- msec: 3632
- hash: "8c2a8b7321d2598b08d483914d4f319c"
- }
- Frame {
- msec: 3648
- hash: "f13913dbc015836e35d5a2ebc94bbeef"
- }
- Frame {
- msec: 3664
- hash: "1309af996f2d7a686f1d9177bc5c9be6"
- }
- Frame {
- msec: 3680
- hash: "460b3500b41624486fe8dcfde087d2b5"
- }
- Frame {
- msec: 3696
- hash: "de0837d19497021528dc782db4da084a"
- }
- Frame {
- msec: 3712
- hash: "18afb8f8e9aa6d4a5db376e26cd9a56d"
- }
- Frame {
- msec: 3728
- hash: "4fc1a8173824c2725160798b7d70aec2"
- }
- Frame {
- msec: 3744
- hash: "87a593f74c946d6af6e31c5a25898766"
- }
- Frame {
- msec: 3760
- hash: "57e68ec2aa5a21b11d21f388399713e5"
- }
- Frame {
- msec: 3776
- hash: "4cb9ee1d12b99fb98bedcbcc048867e4"
- }
- Frame {
- msec: 3792
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 3808
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 3824
- hash: "a0c46402b4700cc2099bdf42c47faf9b"
- }
- Frame {
- msec: 3840
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 3856
- image: "dynamic.4.png"
- }
- Frame {
- msec: 3872
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 3888
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
- Frame {
- msec: 3904
- hash: "b692386f34972d80aded2347e64ad2b6"
- }
- Frame {
- msec: 3920
- hash: "dc65b0a791002efffec05884aa948842"
- }
- Frame {
- msec: 3936
- hash: "069bab78e29d322894647f81d315184a"
- }
- Frame {
- msec: 3952
- hash: "39c8d804b3caf53845baba4ce98e007d"
- }
- Frame {
- msec: 3968
- hash: "3b477dfd05f07bdf0ba562d6068cafdb"
- }
- Frame {
- msec: 3984
- hash: "eb84ee75bdbf25dcc32587007f5dc9bd"
- }
- Frame {
- msec: 4000
- hash: "441d34bff2755e3c30bed80e2bdde69c"
- }
- Frame {
- msec: 4016
- hash: "4cb9ee1d12b99fb98bedcbcc048867e4"
- }
- Frame {
- msec: 4032
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 4048
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 4064
- hash: "a0c46402b4700cc2099bdf42c47faf9b"
- }
- Frame {
- msec: 4080
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 4096
- hash: "c92cba3c2825db4293153588c4b7b229"
- }
- Frame {
- msec: 4112
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 4128
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
- Frame {
- msec: 4144
- hash: "b692386f34972d80aded2347e64ad2b6"
- }
- Frame {
- msec: 4160
- hash: "dc65b0a791002efffec05884aa948842"
- }
- Frame {
- msec: 4176
- hash: "069bab78e29d322894647f81d315184a"
- }
- Frame {
- msec: 4192
- hash: "39c8d804b3caf53845baba4ce98e007d"
- }
- Frame {
- msec: 4208
- hash: "3b477dfd05f07bdf0ba562d6068cafdb"
- }
- Frame {
- msec: 4224
- hash: "eb84ee75bdbf25dcc32587007f5dc9bd"
- }
- Frame {
- msec: 4240
- hash: "441d34bff2755e3c30bed80e2bdde69c"
- }
- Frame {
- msec: 4256
- hash: "57e68ec2aa5a21b11d21f388399713e5"
- }
- Frame {
- msec: 4272
- hash: "4cb9ee1d12b99fb98bedcbcc048867e4"
- }
- Frame {
- msec: 4288
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 4304
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 4320
- hash: "a0c46402b4700cc2099bdf42c47faf9b"
- }
- Frame {
- msec: 4336
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 4352
- hash: "c92cba3c2825db4293153588c4b7b229"
- }
- Frame {
- msec: 4368
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 4384
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
- Frame {
- msec: 4400
- hash: "b692386f34972d80aded2347e64ad2b6"
- }
- Frame {
- msec: 4416
- hash: "dc65b0a791002efffec05884aa948842"
- }
- Frame {
- msec: 4432
- hash: "069bab78e29d322894647f81d315184a"
- }
- Frame {
- msec: 4448
- hash: "39c8d804b3caf53845baba4ce98e007d"
- }
- Frame {
- msec: 4464
- hash: "3b477dfd05f07bdf0ba562d6068cafdb"
- }
- Frame {
- msec: 4480
- hash: "eb84ee75bdbf25dcc32587007f5dc9bd"
- }
- Frame {
- msec: 4496
- hash: "441d34bff2755e3c30bed80e2bdde69c"
- }
- Frame {
- msec: 4512
- hash: "57e68ec2aa5a21b11d21f388399713e5"
- }
- Frame {
- msec: 4528
- hash: "4cb9ee1d12b99fb98bedcbcc048867e4"
- }
- Frame {
- msec: 4544
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 4560
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 4576
- hash: "a0c46402b4700cc2099bdf42c47faf9b"
- }
- Frame {
- msec: 4592
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 4608
- hash: "c92cba3c2825db4293153588c4b7b229"
- }
- Frame {
- msec: 4624
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 4640
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
- Frame {
- msec: 4656
- hash: "b692386f34972d80aded2347e64ad2b6"
- }
- Frame {
- msec: 4672
- hash: "dc65b0a791002efffec05884aa948842"
- }
- Frame {
- msec: 4688
- hash: "069bab78e29d322894647f81d315184a"
- }
- Frame {
- msec: 4704
- hash: "39c8d804b3caf53845baba4ce98e007d"
- }
- Frame {
- msec: 4720
- hash: "3b477dfd05f07bdf0ba562d6068cafdb"
- }
- Frame {
- msec: 4736
- hash: "eb84ee75bdbf25dcc32587007f5dc9bd"
- }
- Frame {
- msec: 4752
- hash: "441d34bff2755e3c30bed80e2bdde69c"
- }
- Frame {
- msec: 4768
- hash: "4cb9ee1d12b99fb98bedcbcc048867e4"
- }
- Frame {
- msec: 4784
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 4800
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 4816
- image: "dynamic.5.png"
- }
- Frame {
- msec: 4832
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 4848
- hash: "c92cba3c2825db4293153588c4b7b229"
- }
- Frame {
- msec: 4864
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 4880
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
- Frame {
- msec: 4896
- hash: "b692386f34972d80aded2347e64ad2b6"
- }
- Frame {
- msec: 4912
- hash: "dc65b0a791002efffec05884aa948842"
- }
- Frame {
- msec: 4928
- hash: "069bab78e29d322894647f81d315184a"
- }
- Frame {
- msec: 4944
- hash: "39c8d804b3caf53845baba4ce98e007d"
- }
- Frame {
- msec: 4960
- hash: "3b477dfd05f07bdf0ba562d6068cafdb"
- }
- Frame {
- msec: 4976
- hash: "eb84ee75bdbf25dcc32587007f5dc9bd"
- }
- Frame {
- msec: 4992
- hash: "441d34bff2755e3c30bed80e2bdde69c"
- }
- Frame {
- msec: 5008
- hash: "57e68ec2aa5a21b11d21f388399713e5"
- }
- Frame {
- msec: 5024
- hash: "4cb9ee1d12b99fb98bedcbcc048867e4"
- }
- Frame {
- msec: 5040
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 5056
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 5072
- hash: "a0c46402b4700cc2099bdf42c47faf9b"
- }
- Frame {
- msec: 5088
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 5104
- hash: "c92cba3c2825db4293153588c4b7b229"
- }
- Frame {
- msec: 5120
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 5136
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
- Frame {
- msec: 5152
- hash: "b692386f34972d80aded2347e64ad2b6"
- }
- Frame {
- msec: 5168
- hash: "dc65b0a791002efffec05884aa948842"
- }
- Frame {
- msec: 5184
- hash: "069bab78e29d322894647f81d315184a"
- }
- Frame {
- msec: 5200
- hash: "39c8d804b3caf53845baba4ce98e007d"
- }
- Frame {
- msec: 5216
- hash: "3b477dfd05f07bdf0ba562d6068cafdb"
- }
- Frame {
- msec: 5232
- hash: "eb84ee75bdbf25dcc32587007f5dc9bd"
- }
- Frame {
- msec: 5248
- hash: "441d34bff2755e3c30bed80e2bdde69c"
- }
- Frame {
- msec: 5264
- hash: "57e68ec2aa5a21b11d21f388399713e5"
- }
- Frame {
- msec: 5280
- hash: "4cb9ee1d12b99fb98bedcbcc048867e4"
- }
- Frame {
- msec: 5296
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 5312
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 5328
- hash: "a0c46402b4700cc2099bdf42c47faf9b"
- }
- Frame {
- msec: 5344
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 5360
- hash: "c92cba3c2825db4293153588c4b7b229"
- }
- Frame {
- msec: 5376
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 5392
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
- Frame {
- msec: 5408
- hash: "b692386f34972d80aded2347e64ad2b6"
- }
- Frame {
- msec: 5424
- hash: "dc65b0a791002efffec05884aa948842"
- }
- Frame {
- msec: 5440
- hash: "069bab78e29d322894647f81d315184a"
- }
- Frame {
- msec: 5456
- hash: "39c8d804b3caf53845baba4ce98e007d"
- }
- Frame {
- msec: 5472
- hash: "3b477dfd05f07bdf0ba562d6068cafdb"
- }
- Frame {
- msec: 5488
- hash: "eb84ee75bdbf25dcc32587007f5dc9bd"
- }
- Frame {
- msec: 5504
- hash: "441d34bff2755e3c30bed80e2bdde69c"
- }
- Frame {
- msec: 5520
- hash: "4cb9ee1d12b99fb98bedcbcc048867e4"
- }
- Frame {
- msec: 5536
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 5552
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 5568
- hash: "a0c46402b4700cc2099bdf42c47faf9b"
- }
- Frame {
- msec: 5584
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 5600
- hash: "c92cba3c2825db4293153588c4b7b229"
- }
- Frame {
- msec: 5616
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 5632
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
- Frame {
- msec: 5648
- hash: "b692386f34972d80aded2347e64ad2b6"
- }
- Frame {
- msec: 5664
- hash: "dc65b0a791002efffec05884aa948842"
- }
- Frame {
- msec: 5680
- hash: "069bab78e29d322894647f81d315184a"
- }
- Frame {
- msec: 5696
- hash: "39c8d804b3caf53845baba4ce98e007d"
- }
- Frame {
- msec: 5712
- hash: "3b477dfd05f07bdf0ba562d6068cafdb"
- }
- Frame {
- msec: 5728
- hash: "eb84ee75bdbf25dcc32587007f5dc9bd"
- }
- Frame {
- msec: 5744
- hash: "441d34bff2755e3c30bed80e2bdde69c"
- }
- Frame {
- msec: 5760
- hash: "57e68ec2aa5a21b11d21f388399713e5"
- }
- Frame {
- msec: 5776
- image: "dynamic.6.png"
- }
- Frame {
- msec: 5792
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 5808
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 5824
- hash: "a0c46402b4700cc2099bdf42c47faf9b"
- }
- Frame {
- msec: 5840
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 5856
- hash: "c92cba3c2825db4293153588c4b7b229"
- }
- Frame {
- msec: 5872
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 5888
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
- Frame {
- msec: 5904
- hash: "b692386f34972d80aded2347e64ad2b6"
- }
- Frame {
- msec: 5920
- hash: "dc65b0a791002efffec05884aa948842"
- }
- Frame {
- msec: 5936
- hash: "069bab78e29d322894647f81d315184a"
- }
- Frame {
- msec: 5952
- hash: "39c8d804b3caf53845baba4ce98e007d"
- }
- Frame {
- msec: 5968
- hash: "3b477dfd05f07bdf0ba562d6068cafdb"
- }
- Frame {
- msec: 5984
- hash: "eb84ee75bdbf25dcc32587007f5dc9bd"
- }
- Frame {
- msec: 6000
- hash: "441d34bff2755e3c30bed80e2bdde69c"
- }
- Frame {
- msec: 6016
- hash: "4cb9ee1d12b99fb98bedcbcc048867e4"
- }
- Frame {
- msec: 6032
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 6048
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 6064
- hash: "a0c46402b4700cc2099bdf42c47faf9b"
- }
- Frame {
- msec: 6080
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 6096
- hash: "c92cba3c2825db4293153588c4b7b229"
- }
- Frame {
- msec: 6112
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 6128
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
- Frame {
- msec: 6144
- hash: "b692386f34972d80aded2347e64ad2b6"
- }
- Frame {
- msec: 6160
- hash: "dc65b0a791002efffec05884aa948842"
- }
- Frame {
- msec: 6176
- hash: "069bab78e29d322894647f81d315184a"
- }
- Frame {
- msec: 6192
- hash: "39c8d804b3caf53845baba4ce98e007d"
- }
- Frame {
- msec: 6208
- hash: "3b477dfd05f07bdf0ba562d6068cafdb"
- }
- Frame {
- msec: 6224
- hash: "eb84ee75bdbf25dcc32587007f5dc9bd"
- }
- Frame {
- msec: 6240
- hash: "441d34bff2755e3c30bed80e2bdde69c"
- }
- Frame {
- msec: 6256
- hash: "57e68ec2aa5a21b11d21f388399713e5"
- }
- Frame {
- msec: 6272
- hash: "4cb9ee1d12b99fb98bedcbcc048867e4"
- }
- Frame {
- msec: 6288
- hash: "3eebd1f4f58210f6b546715997a984c2"
- }
- Frame {
- msec: 6304
- hash: "39eabc07bfcefb2ecd369abf94d706cd"
- }
- Frame {
- msec: 6320
- hash: "a0c46402b4700cc2099bdf42c47faf9b"
- }
- Frame {
- msec: 6336
- hash: "3c8b4831583922c7c1c85f227ef2b3dc"
- }
- Frame {
- msec: 6352
- hash: "c92cba3c2825db4293153588c4b7b229"
- }
- Frame {
- msec: 6368
- hash: "e1b0d4cae609f3074fb1ac46c172bf4a"
- }
- Frame {
- msec: 6384
- hash: "09b76db3e4a95666ba9c37dd89996fa3"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.png b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.png
deleted file mode 100644
index 75a6c49b35..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.qml b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.qml
deleted file mode 100644
index 365c25f0ea..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/data/usingRepeater.qml
+++ /dev/null
@@ -1,135 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "usingRepeater.0.png"
- }
- Frame {
- msec: 32
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 48
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 64
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 80
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 96
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 112
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 128
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 144
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 160
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 176
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 192
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 208
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 224
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 240
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 256
- hash: "e76f50af76d6ee5925b183f9e2316b78"
- }
- Frame {
- msec: 272
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 288
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 304
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 320
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 336
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 352
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 368
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 384
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 400
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 416
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 432
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 448
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 464
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 480
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 496
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
- Frame {
- msec: 512
- hash: "c98a904eb5da750f4cabf787e253b2ec"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/dynamic.qml b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/dynamic.qml
deleted file mode 100644
index b5685d1a9a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/dynamic.qml
+++ /dev/null
@@ -1,70 +0,0 @@
-import QtQuick 1.0
-
-Item {
- property string skip: "Expected to fail until QTBUG-14839 is resolved"
- width: 120; height: 60;
- property int step: 0
- function tick()
- {
- step++;
- if(step == 1){
- //row1.destroy(); //Not dynamically created, so is this valid?
- }else if(step == 2){
- r2a.destroy();
- }else if(step == 3){
- r2b.destroy();
- }else if(step == 4){
- r2c.destroy();
- }else if(step == 5){
- r3a.parent = row2;
- }else if(step == 6){
- r3b.parent = row2;
- }else if(step == 7){
- r3c.parent = row2;
- }else if(step == 8){
- //row3.destroy();//empty now, so should have no effect//May be invalid, but was deleting the reparent items at one point
- }else{
- repeater.model++;
- }
- }
-
- //Tests base positioner functionality, so don't need them all.
- Column{
- move: Transition{NumberAnimation{properties:"y"}}
- Row{
- id: row1
- height: childrenRect.height
- Rectangle{id: r1a; width:20; height:20; color: "red"}
- Rectangle{id: r1b; width:20; height:20; color: "green"}
- Rectangle{id: r1c; width:20; height:20; color: "blue"}
- }
- Row{
- id: row2
- height: childrenRect.height
- move: Transition{NumberAnimation{properties:"x"}}
- Repeater{
- id: repeater
- model: 0;
- delegate: Component{ Rectangle { color: "yellow"; width:20; height:20;}}
- }
- Rectangle{id: r2a; width:20; height:20; color: "red"}
- Rectangle{id: r2b; width:20; height:20; color: "green"}
- Rectangle{id: r2c; width:20; height:20; color: "blue"}
- }
- Row{
- move: Transition{NumberAnimation{properties:"x"}}
- id: row3
- height: childrenRect.height
- Rectangle{id: r3a; width:20; height:20; color: "red"}
- Rectangle{id: r3b; width:20; height:20; color: "green"}
- Rectangle{id: r3c; width:20; height:20; color: "blue"}
- }
- }
- Timer{
- interval: 250;
- running: true;
- repeat: true;
- onTriggered: tick();
- }
-}
-
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/usingRepeater.qml b/tests/auto/declarative/qmlvisual/qdeclarativepositioners/usingRepeater.qml
deleted file mode 100644
index c236b6a73a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativepositioners/usingRepeater.qml
+++ /dev/null
@@ -1,16 +0,0 @@
-import QtQuick 1.0
-
-Item{
- width: 40; height: 320
- Column{
- Rectangle{color:"Red"; width:40; height:40;}
- Repeater{
- id: rep
- model: 3
- delegate: Component{Rectangle{color:"Green"; width:40; height:40; radius: 20;}}
- }
- Rectangle{color:"Blue"; width:40; height:40;}
- }
- Timer{ interval: 250; running: true; onTriggered: rep.model=6;}
- Timer{ interval: 500; running: true; onTriggered: Qt.quit();}
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png
deleted file mode 100644
index dd380195af..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.1.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.1.png
deleted file mode 100644
index d749080904..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.2.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.2.png
deleted file mode 100644
index 57a3ae0e92..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.3.png b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.3.png
deleted file mode 100644
index 3a75ec4ac6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml
deleted file mode 100644
index 14280a08c9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/data/smoothedfollow.qml
+++ /dev/null
@@ -1,795 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "smoothedfollow.0.png"
- }
- Frame {
- msec: 32
- hash: "1d0005639ad631a4f88fb2372b955741"
- }
- Frame {
- msec: 48
- hash: "b303c2fb08eb8158c322719d072deb06"
- }
- Frame {
- msec: 64
- hash: "4b3d7a5b9b5f1a335e81e3aafce2a244"
- }
- Frame {
- msec: 80
- hash: "33d144e82787ac28f9012105645f5eb8"
- }
- Frame {
- msec: 96
- hash: "b6e16400c1364241da2fc12810780b9b"
- }
- Frame {
- msec: 112
- hash: "e32e552a0ac9e517df2826d82ed3e483"
- }
- Frame {
- msec: 128
- hash: "855e317677189a8aa97909ac5c7a831c"
- }
- Frame {
- msec: 144
- hash: "cddb47ce0a793dc74c6cbc2b3fb138d0"
- }
- Frame {
- msec: 160
- hash: "21932fa377c6c9652eb22bbae4bf7d23"
- }
- Frame {
- msec: 176
- hash: "95adc0bfe18070001d531a36785af2a2"
- }
- Frame {
- msec: 192
- hash: "b3c39dc57a658b1ff7c24194a4214696"
- }
- Frame {
- msec: 208
- hash: "d145d38d45f824f3dd2f43eddf38d310"
- }
- Frame {
- msec: 224
- hash: "dee8ad57b625965d3045089d5f6e80aa"
- }
- Frame {
- msec: 240
- hash: "94263216e2b0ab77980b3cc0b42350a6"
- }
- Frame {
- msec: 256
- hash: "a9ea122b9b67428f9d28368ffb862c37"
- }
- Frame {
- msec: 272
- hash: "d1101c25521fd2308ccbe5ec318d9922"
- }
- Frame {
- msec: 288
- hash: "e854bb4accb78052ec3df32a80d29a94"
- }
- Frame {
- msec: 304
- hash: "10898f94cc74a888fc57f76897a56b2a"
- }
- Frame {
- msec: 320
- hash: "65668c114d62e3e901953c9aca9fe276"
- }
- Frame {
- msec: 336
- hash: "a67cd21b3c451134961d5890b05cff49"
- }
- Frame {
- msec: 352
- hash: "40fbf54e37f46dce2aeda74ed6815e42"
- }
- Frame {
- msec: 368
- hash: "dc86af89de1edce0986c6e1a56bd0e21"
- }
- Frame {
- msec: 384
- hash: "b9700d510fe9b936d60a0ef22b1a4d23"
- }
- Frame {
- msec: 400
- hash: "620edf9a854b1f32911b4af69be95076"
- }
- Frame {
- msec: 416
- hash: "28d9670eb3dea66506affaf8b8672c52"
- }
- Frame {
- msec: 432
- hash: "9deaf655b9e71dc835377526c5ae7d96"
- }
- Frame {
- msec: 448
- hash: "a19709d7bf37fd126f15da386527d0f8"
- }
- Frame {
- msec: 464
- hash: "32dbd7c98038abf3775a2c788a687b27"
- }
- Frame {
- msec: 480
- hash: "d1a22b8e8cbd429dc0e8bc22bfce5d4b"
- }
- Frame {
- msec: 496
- hash: "04a48f9f304a614535821f1278950789"
- }
- Frame {
- msec: 512
- hash: "ba26b58e109d5b63e972e4acd7229162"
- }
- Frame {
- msec: 528
- hash: "b92d3329f744c7de158a472b8b542437"
- }
- Frame {
- msec: 544
- hash: "c44139265be3def1cc73ea7198a64537"
- }
- Frame {
- msec: 560
- hash: "6f211c82a64c7e0ef2e7700359ac226e"
- }
- Frame {
- msec: 576
- hash: "1690781b90e6e4ad264db76943d3b6d2"
- }
- Frame {
- msec: 592
- hash: "2ab7e97b7426843f2488121fdda87b48"
- }
- Frame {
- msec: 608
- hash: "91fe6ed4d44d69e9ce79aa3636faf0cb"
- }
- Frame {
- msec: 624
- hash: "9b4638d2eb6ecc0b50c30e74dc4b098e"
- }
- Frame {
- msec: 640
- hash: "0e18542d1b5b887eaf22f936adb38bd0"
- }
- Frame {
- msec: 656
- hash: "f4a123a8811654d033c3613a80a8f3f7"
- }
- Frame {
- msec: 672
- hash: "14edd1cf660429e95c55ae81ce57d05d"
- }
- Frame {
- msec: 688
- hash: "1114235b75e814b80b70ce4109a0b6f3"
- }
- Frame {
- msec: 704
- hash: "8ed2a94fab38d951325bbf79597134c6"
- }
- Frame {
- msec: 720
- hash: "315a34cfe26778d86cadceea78fd15f6"
- }
- Frame {
- msec: 736
- hash: "4a95ae04f498f93bf19ab2bc45c0be21"
- }
- Frame {
- msec: 752
- hash: "d241f7cfdfd241facb0b7f7a3d328d01"
- }
- Frame {
- msec: 768
- hash: "fae3040a9e0b2f9c76cc26bda47e04e9"
- }
- Frame {
- msec: 784
- hash: "a444297639db23413810b2df5c47ed9c"
- }
- Frame {
- msec: 800
- hash: "8084ee95169c3176af563fc4cc033332"
- }
- Frame {
- msec: 816
- hash: "8f6ac972fb537f496a69f7bde0e8bc22"
- }
- Frame {
- msec: 832
- hash: "b7e632bc5c8a0a0c5d2b752e581ff5db"
- }
- Frame {
- msec: 848
- hash: "341c29c41dc1d938dcf5d94d20ff9160"
- }
- Frame {
- msec: 864
- hash: "2c7eb6f2974c6520bc2fbbb65c118124"
- }
- Frame {
- msec: 880
- hash: "8dd08316d3d4b17bd3d656dff2b69019"
- }
- Frame {
- msec: 896
- hash: "5c2a7456afbb094671e693df0a5fa37d"
- }
- Frame {
- msec: 912
- hash: "d169ce70699b020f62bc33160b74887b"
- }
- Frame {
- msec: 928
- hash: "e67ef3cd8dbcef11cf156b32eb0aae67"
- }
- Frame {
- msec: 944
- hash: "16d0d8676f754f0e85a3b425a4401c26"
- }
- Frame {
- msec: 960
- hash: "7681c0a07803c3eadedf05b60acca9be"
- }
- Frame {
- msec: 976
- image: "smoothedfollow.1.png"
- }
- Frame {
- msec: 992
- hash: "5f87209dc76264d5c259092ccfd0663a"
- }
- Frame {
- msec: 1008
- hash: "c647b4725e7f1ce05b5b7bd067d54bff"
- }
- Frame {
- msec: 1024
- hash: "d43d241fa85cadc042ae510fa441d01d"
- }
- Frame {
- msec: 1040
- hash: "87a4b4fb8981b1ddb765236cd74a9084"
- }
- Frame {
- msec: 1056
- hash: "607fb5055cc0d5b6e8a1a37134a9686c"
- }
- Frame {
- msec: 1072
- hash: "9ed861affdaf4de535ff65b26e1fa8ee"
- }
- Frame {
- msec: 1088
- hash: "cdfbf1d934a46b85c9d7a07e25eb3fee"
- }
- Frame {
- msec: 1104
- hash: "94cc78c6be827b3f3b3d74d72af5a4db"
- }
- Frame {
- msec: 1120
- hash: "50cd154de9141528f0417c0e0f0090a9"
- }
- Frame {
- msec: 1136
- hash: "86e4a163ad5d7d9bee8f513a814fcac2"
- }
- Frame {
- msec: 1152
- hash: "61b927a9a58264b827ab00c30cddb4c1"
- }
- Frame {
- msec: 1168
- hash: "e50d30e42cb035e52cf88664182b7ac1"
- }
- Frame {
- msec: 1184
- hash: "33a45c3ab72e3e582ef0e4a759064050"
- }
- Frame {
- msec: 1200
- hash: "323be0228c50a87f380c9b4e5af0c6c0"
- }
- Frame {
- msec: 1216
- hash: "d82e3de64104096e0cce7bc23d1f3f96"
- }
- Frame {
- msec: 1232
- hash: "e8872b9d98dff227cb3eb8765cbfa5f5"
- }
- Frame {
- msec: 1248
- hash: "23ee9e4d9d5388c900072df7fb063164"
- }
- Frame {
- msec: 1264
- hash: "e23cb4cdcc53a364004a55144ea1af8a"
- }
- Frame {
- msec: 1280
- hash: "816ee1ba2a5fe2db4ee09cecb8d56c34"
- }
- Frame {
- msec: 1296
- hash: "d0f01509412d1e4aa192db8aa6dbc50d"
- }
- Frame {
- msec: 1312
- hash: "ba37ba506ce63c6cda06f23a73c928d9"
- }
- Frame {
- msec: 1328
- hash: "194a5a791ee5008f585cf215e5cabc26"
- }
- Frame {
- msec: 1344
- hash: "09c9466b27e57cf936653fdd91e885a8"
- }
- Frame {
- msec: 1360
- hash: "ee8ef68a1d5cde45431ac233d1cbe191"
- }
- Frame {
- msec: 1376
- hash: "45f3bede3b5ae8cde9d385746740760e"
- }
- Frame {
- msec: 1392
- hash: "10ae672c18a84fec45513850797220b5"
- }
- Frame {
- msec: 1408
- hash: "6d72fb8d4d1f7499b38e4969ae26409b"
- }
- Frame {
- msec: 1424
- hash: "7c6bf427b0f7aac8c869a0dd83277ca0"
- }
- Frame {
- msec: 1440
- hash: "1289b04711ef38d4e37161f1385bf4d2"
- }
- Frame {
- msec: 1456
- hash: "2414780f52880801eea13dc9efba1cb2"
- }
- Frame {
- msec: 1472
- hash: "37efbf23005659b4f2b29f224c929502"
- }
- Frame {
- msec: 1488
- hash: "e70091696edf26a8dc8dc51d4932fd86"
- }
- Frame {
- msec: 1504
- hash: "21e8d0b6eee7bc71ae7ccd05d9bb9280"
- }
- Frame {
- msec: 1520
- hash: "321553e3e415cf7695d46a90050f8265"
- }
- Frame {
- msec: 1536
- hash: "235f975c8b382caee2004a8bf9533385"
- }
- Frame {
- msec: 1552
- hash: "abeeb9ff4c51f2b4ba5c9fee98e72926"
- }
- Frame {
- msec: 1568
- hash: "d2de1c552fdf4675baccab402100aabb"
- }
- Frame {
- msec: 1584
- hash: "26d2ac9f31c9181222edda09a4452b5f"
- }
- Frame {
- msec: 1600
- hash: "8c1ac1872a6720185ec670150e344683"
- }
- Frame {
- msec: 1616
- hash: "3b792cf960fc8dd6b424ce4c9f2aa0a1"
- }
- Frame {
- msec: 1632
- hash: "4f0e2dad54e5be44c0345732deae067d"
- }
- Frame {
- msec: 1648
- hash: "17f21faa9293cfd4ef63fcee9d07f264"
- }
- Frame {
- msec: 1664
- hash: "0ea885db3c4c5facb96306f1fbf6bc43"
- }
- Frame {
- msec: 1680
- hash: "a68e7bb730b29b4c3b5468fd7b3d1d4f"
- }
- Frame {
- msec: 1696
- hash: "719de171d8413f691e4ece4bcb00896c"
- }
- Frame {
- msec: 1712
- hash: "ee9f5c2bfda6718a23fdd6c8f3f2e765"
- }
- Frame {
- msec: 1728
- hash: "0f01834bbcfe690e5ee2d5897e5ea225"
- }
- Frame {
- msec: 1744
- hash: "68af59f35ff14d9ff12a2a05f22cca69"
- }
- Frame {
- msec: 1760
- hash: "50c9141aae689a8f09acf4d914075299"
- }
- Frame {
- msec: 1776
- hash: "beb9e30c9b4f0d351c1387c69ea99208"
- }
- Frame {
- msec: 1792
- hash: "2079cd433d9d29ad330e0782853712c7"
- }
- Frame {
- msec: 1808
- hash: "de18d8be8fc1414cc19d446c659d1bcd"
- }
- Frame {
- msec: 1824
- hash: "031807325492a899da9a91a9512487dd"
- }
- Frame {
- msec: 1840
- hash: "4fdd8f3b01b4b61d269001604144bb7c"
- }
- Frame {
- msec: 1856
- hash: "1172ec8a63f431f457b9a398b3d03571"
- }
- Frame {
- msec: 1872
- hash: "4741a14556e9d32c2b180cca9009c63a"
- }
- Frame {
- msec: 1888
- hash: "ec2c6d187a97037b5c1edea65d4b17cc"
- }
- Frame {
- msec: 1904
- hash: "ea7d445310c28aa3e07735f1c7db4a28"
- }
- Frame {
- msec: 1920
- hash: "3424b2d983a8962d9abb232c3d7c7814"
- }
- Frame {
- msec: 1936
- image: "smoothedfollow.2.png"
- }
- Frame {
- msec: 1952
- hash: "c362edcbe4e4460aa18599c05e993312"
- }
- Frame {
- msec: 1968
- hash: "1a1291338c205ef2d315a43cca1caae2"
- }
- Frame {
- msec: 1984
- hash: "ff6f0f47955d069a65cf9d19b7a061ff"
- }
- Frame {
- msec: 2000
- hash: "3a6b787bbfe0510fdc8693a4827043e5"
- }
- Frame {
- msec: 2016
- hash: "8198a6eec71a6da13b77397f3ead05a3"
- }
- Frame {
- msec: 2032
- hash: "4c0fcb8d2105f104f6e1db0d58077c01"
- }
- Frame {
- msec: 2048
- hash: "d9146739fa248ddcb6b4308d125825e7"
- }
- Frame {
- msec: 2064
- hash: "5bda4f61879d0e9c714f2c138a91f4fd"
- }
- Frame {
- msec: 2080
- hash: "30c0f8016506edb6875fd4cfa16cfa0f"
- }
- Frame {
- msec: 2096
- hash: "bc04c5ae627073fcc467b86bea097630"
- }
- Frame {
- msec: 2112
- hash: "7fcc2f6a7c620202a55618e66ed3c5f9"
- }
- Frame {
- msec: 2128
- hash: "36f0855b78bbbf08ddf28f7a5775aea8"
- }
- Frame {
- msec: 2144
- hash: "4acd7d6bceab6c8ba4508f9edddab6e7"
- }
- Frame {
- msec: 2160
- hash: "2074776f5bd921148a50fad1004c00ea"
- }
- Frame {
- msec: 2176
- hash: "0d79e1f38609320586831d93d87532a9"
- }
- Frame {
- msec: 2192
- hash: "0402d99770dd23cbfc051eb576a29b57"
- }
- Frame {
- msec: 2208
- hash: "456ba4fbe1ff68e1c9e22c9182c98ac6"
- }
- Frame {
- msec: 2224
- hash: "de41559e07d9e58a68e26cf4daab879f"
- }
- Frame {
- msec: 2240
- hash: "ad5087eae86c1b2afe5dbbcf8d098b18"
- }
- Frame {
- msec: 2256
- hash: "117dc7b2e560a6959ef82dc461580620"
- }
- Frame {
- msec: 2272
- hash: "4ce30665d1e63f728018cddfda1e3249"
- }
- Frame {
- msec: 2288
- hash: "c1e66d2c554b81631aff66e695e05ee0"
- }
- Frame {
- msec: 2304
- hash: "293b4c3a8ba18d9000f1a0c35ba3dbed"
- }
- Frame {
- msec: 2320
- hash: "eefcc0eb3e4847dbf7edc52979c19cfb"
- }
- Frame {
- msec: 2336
- hash: "1e25f0a629cffa99c3c962c5ce72cba3"
- }
- Frame {
- msec: 2352
- hash: "e86a378941f876143cf13ef8c161d155"
- }
- Frame {
- msec: 2368
- hash: "7063d2895353e4e2659e0911f8959a92"
- }
- Frame {
- msec: 2384
- hash: "d26161aad10ec6d446dbae65bcc73926"
- }
- Frame {
- msec: 2400
- hash: "3322df938aa5d2ffa32e445ad1f8b1a2"
- }
- Frame {
- msec: 2416
- hash: "4ce384ace0527cb637865426a42d382f"
- }
- Frame {
- msec: 2432
- hash: "5f49f970488f457681a9a59e82a1650e"
- }
- Frame {
- msec: 2448
- hash: "d5494958d0c8f4307506c0b27f4a350c"
- }
- Frame {
- msec: 2464
- hash: "cebee9854c54f2badef1cfa6b12adc88"
- }
- Frame {
- msec: 2480
- hash: "9824242313879d9494b561a0a3a7fdc2"
- }
- Frame {
- msec: 2496
- hash: "a14019028da0d3bf08782bf8285a188c"
- }
- Frame {
- msec: 2512
- hash: "f241eb27a0460182d08c6e4e1ebbc25b"
- }
- Frame {
- msec: 2528
- hash: "3b243c79d097f89e5a3f8ece97321026"
- }
- Frame {
- msec: 2544
- hash: "95755ce577ab0b8ede949851ce842d9d"
- }
- Frame {
- msec: 2560
- hash: "0cd40a2a4b9d0b7dbba8dff247db178f"
- }
- Frame {
- msec: 2576
- hash: "b964995f06ab287a98569baab365c475"
- }
- Frame {
- msec: 2592
- hash: "a28aca3ba953c52ac00fea0c84a6aba9"
- }
- Frame {
- msec: 2608
- hash: "d45d2eaeab472eaa1bd9460f4464c62b"
- }
- Frame {
- msec: 2624
- hash: "0872615e2d8d2ec1192ec6e60aff01c7"
- }
- Frame {
- msec: 2640
- hash: "8724c4128b869be51053deafd68e4e47"
- }
- Frame {
- msec: 2656
- hash: "8c8e0a8fed148120b2b79d3c6b886651"
- }
- Frame {
- msec: 2672
- hash: "35357a5689398f6f594ae45743555107"
- }
- Frame {
- msec: 2688
- hash: "848a069b9e8334482e118ba0df14dc1c"
- }
- Frame {
- msec: 2704
- hash: "26cb86bd54616c69966d949424d4d41f"
- }
- Frame {
- msec: 2720
- hash: "437669b1efa8b33ee469547527ccb4d9"
- }
- Frame {
- msec: 2736
- hash: "ff040bafe5c484d7b516008f17411ad2"
- }
- Frame {
- msec: 2752
- hash: "fdab8b8cf64a2b15ab07691ca2ad115f"
- }
- Frame {
- msec: 2768
- hash: "e3867ffaf98270f6efe77d816a8254cb"
- }
- Frame {
- msec: 2784
- hash: "cbad5ba7c09567166f063955b45aa647"
- }
- Frame {
- msec: 2800
- hash: "336049bb4ff2e945483648feabe997c2"
- }
- Frame {
- msec: 2816
- hash: "45e65f29cc932090a3bfc2292c4e5e72"
- }
- Frame {
- msec: 2832
- hash: "d617d33fe22196f88844a7adc5305413"
- }
- Frame {
- msec: 2848
- hash: "fb32358f314d9cd6ac6646888f402b46"
- }
- Frame {
- msec: 2864
- hash: "2897322c869a0bd7a851ff779c8591bf"
- }
- Frame {
- msec: 2880
- hash: "c41d71d62727f0fc26dc790f09c67168"
- }
- Frame {
- msec: 2896
- image: "smoothedfollow.3.png"
- }
- Frame {
- msec: 2912
- hash: "b5c2182ce797d91175d9f7493a77aae8"
- }
- Frame {
- msec: 2928
- hash: "4436d56d8dba299619be367cf57dc41d"
- }
- Frame {
- msec: 2944
- hash: "fe2d68f672a78568da1a281be13eda36"
- }
- Frame {
- msec: 2960
- hash: "90731590c28f254a213f83f83b988608"
- }
- Frame {
- msec: 2976
- hash: "e276149e000e768a5b2704fde77bff2b"
- }
- Frame {
- msec: 2992
- hash: "616b2d32f6b0f047a252f0b698408d87"
- }
- Frame {
- msec: 3008
- hash: "ebd003e7712060ec45d7be9bebb9ab8f"
- }
- Frame {
- msec: 3024
- hash: "d97b14eb1fe9556b283b5d7b35f30fcc"
- }
- Frame {
- msec: 3040
- hash: "a926b60b28442c4318fb3c2c5474540c"
- }
- Frame {
- msec: 3056
- hash: "7908c0356da3bc27d2513c843a0d4feb"
- }
- Frame {
- msec: 3072
- hash: "48644d6fb0dbd280b806c991b3b72417"
- }
- Frame {
- msec: 3088
- hash: "4efbb4954b2d2c26f3e32f9f1bba6b41"
- }
- Frame {
- msec: 3104
- hash: "d9c5e5ca5d6c1189740706673abab943"
- }
- Frame {
- msec: 3120
- hash: "d0acc9b7ee97220e551df16e0c3d1f53"
- }
- Frame {
- msec: 3136
- hash: "2610d1de5d32e74ab8fd238cd721ef2e"
- }
- Frame {
- msec: 3152
- hash: "b8d1e724d5cb172ab5d7475d2f7a6ee6"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml b/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml
deleted file mode 100644
index c154aa06e2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativesmoothedanimation/smoothedfollow.qml
+++ /dev/null
@@ -1,128 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 400; height: 360; color: "gray"
-
- Rectangle {
- id: rect
- width: 25; height: 10; y: 15; color: "black"
- SequentialAnimation on x {
- loops: Animation.Infinite
- NumberAnimation { from: 25; to: 350; duration: 1000 }
- NumberAnimation { from: 350; to: 25; duration: 1000 }
- }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect.x; y: 30; color: "red"
- Behavior on x { SmoothedAnimation { velocity: 200 } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect.x; y: 45; color: "yellow"
- Behavior on x { SmoothedAnimation { velocity: 150; reversingMode: SmoothedAnimation.Immediate } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect.x; y: 60; color: "green"
- Behavior on x { SmoothedAnimation { velocity: 100; reversingMode: SmoothedAnimation.Sync } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect.x; y: 75; color: "purple"
- Behavior on x { SmoothedAnimation { velocity: 100; maximumEasingTime: 100 } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect.x; y: 90; color: "blue"
- Behavior on x { SmoothedAnimation { velocity: -1; duration: 300 } }
- }
-
- //rect2 has jerky movement, but the rects following it should be smooth
- Rectangle {
- id: rect2
- property int dir: 1
- width: 25; height: 10; x:25; y: 120; color: "black"
- function advance(){
- if(x >= 350)
- dir = -1;
- if(x <= 25)
- dir = 1;
- x += 65.0 * dir;
- }
- }
- Timer{
- interval: 200
- running: true
- repeat: true
- onTriggered: rect2.advance();
- }
-
- Rectangle {
- width: 25; height: 10; x: rect2.x; y: 135; color: "red"
- Behavior on x { SmoothedAnimation { velocity: 200 } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect2.x; y: 150; color: "yellow"
- Behavior on x { SmoothedAnimation { velocity: 150; reversingMode: SmoothedAnimation.Immediate } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect2.x; y: 165; color: "green"
- Behavior on x { SmoothedAnimation { velocity: 100; reversingMode: SmoothedAnimation.Sync } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect2.x; y: 180; color: "purple"
- Behavior on x { SmoothedAnimation { velocity: 100; maximumEasingTime: 100 } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect2.x; y: 195; color: "blue"
- Behavior on x { SmoothedAnimation { velocity: -1; duration: 300 } }
- }
-
- //rect3 just jumps , but the rects following it should be smooth
- Rectangle {
- id: rect3
- width: 25; height: 10; x:25; y: 240; color: "black"
- function advance(){
- if(x == 25)
- x = 350;
- else
- x = 25;
- }
- }
- Timer{
- interval: 1000
- running: true
- repeat: true
- onTriggered: rect3.advance();
- }
-
- Rectangle {
- width: 25; height: 10; x: rect3.x; y: 255; color: "red"
- Behavior on x { SmoothedAnimation { velocity: 200 } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect3.x; y: 270; color: "yellow"
- Behavior on x { SmoothedAnimation { velocity: 150; reversingMode: SmoothedAnimation.Immediate } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect3.x; y: 285; color: "green"
- Behavior on x { SmoothedAnimation { velocity: 100; reversingMode: SmoothedAnimation.Sync } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect3.x; y: 300; color: "purple"
- Behavior on x { SmoothedAnimation { velocity: 100; maximumEasingTime: 100 } }
- }
-
- Rectangle {
- width: 25; height: 10; x: rect3.x; y: 315; color: "blue"
- Behavior on x { SmoothedAnimation { velocity: -1; duration: 300 } }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/clock.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/clock.qml
deleted file mode 100644
index 0e4e6429c2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/clock.qml
+++ /dev/null
@@ -1,64 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- id: clock
- color: "gray"
- width: 200; height: 200
-
- property variant hours: 10
- property variant minutes: 28
- property variant seconds: 0
-
- Timer {
- interval: 1000; running: true; repeat: true; triggeredOnStart: true
- onTriggered: seconds++
- }
-
- Image { id: background; source: "content/clock.png" }
-
- Image {
- x: 92.5; y: 27
- source: "content/hour.png"
- transform: Rotation {
- id: hourRotation
- origin.x: 7.5; origin.y: 73
- angle: (clock.hours * 30) + (clock.minutes * 0.5)
-
- Behavior on angle {
- SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
- }
- }
- }
-
- Image {
- x: 93.5; y: 17
- source: "content/minute.png"
- transform: Rotation {
- id: minuteRotation
- origin.x: 6.5; origin.y: 83
- angle: clock.minutes * 6
-
- Behavior on angle {
- SpringAnimation { spring: 2; damping: 0.2; modulus: 360 }
- }
- }
- }
-
- Image {
- x: 97.5; y: 20
- source: "content/second.png"
- transform: Rotation {
- id: secondRotation
- origin.x: 2.5; origin.y: 80
- angle: clock.seconds * 6
-
- Behavior on angle {
- SpringAnimation { spring: 5; damping: 0.25; modulus: 360 }
- }
- }
- }
-
- Image {
- anchors.centerIn: background; source: "content/center.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/background.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/background.png
deleted file mode 100644
index a885950862..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/background.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/center.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/center.png
deleted file mode 100755
index 7fbd802a44..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/center.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/clock.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/clock.png
deleted file mode 100755
index 462edacc0e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/clock.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/hour.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/hour.png
deleted file mode 100755
index f8061a1235..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/hour.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/minute.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/minute.png
deleted file mode 100755
index 1297ec7c2b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/minute.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/second.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/second.png
deleted file mode 100755
index 4aa9fb5e8e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/content/second.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.0.png
deleted file mode 100644
index 8714f580f5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.1.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.1.png
deleted file mode 100644
index 05e4a98561..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.2.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.2.png
deleted file mode 100644
index 29df073c2b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.3.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.3.png
deleted file mode 100644
index b38486ee11..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.4.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.4.png
deleted file mode 100644
index 4de915b78d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.5.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.5.png
deleted file mode 100644
index 61a4684fa8..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.6.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.6.png
deleted file mode 100644
index 4ce5e3047d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.7.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.7.png
deleted file mode 100644
index 2376b13971..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.qml
deleted file mode 100644
index 893355b656..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-MAC/follow.qml
+++ /dev/null
@@ -1,1763 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "follow.0.png"
- }
- Frame {
- msec: 32
- hash: "e94ba580322887dbbbf9cb6309e39c23"
- }
- Frame {
- msec: 48
- hash: "787a59cda2c0b27d8959026e6d1b9427"
- }
- Frame {
- msec: 64
- hash: "9ca724d4b31aa16015b5cbb50eea0c3a"
- }
- Frame {
- msec: 80
- hash: "8a2c62a0190da1b7c1bade243baea6b8"
- }
- Frame {
- msec: 96
- hash: "e129bebca7ad348c3134569d8eee4efc"
- }
- Frame {
- msec: 112
- hash: "fd6387415e1c02fe6d17d9c3aa1d1ed8"
- }
- Frame {
- msec: 128
- hash: "a82a4042fdca7c30facd2c4740c455f7"
- }
- Frame {
- msec: 144
- hash: "62195722eb3acbfbad137ec71fd50bfe"
- }
- Frame {
- msec: 160
- hash: "449819cdc880d59650732b5447ec6237"
- }
- Frame {
- msec: 176
- hash: "552a838ebcacc0e08fa93b64a2433831"
- }
- Frame {
- msec: 192
- hash: "3984992606d54f05eb31dd0974af2183"
- }
- Frame {
- msec: 208
- hash: "3fd7225bbb0215ca8b6397580f2352a5"
- }
- Frame {
- msec: 224
- hash: "0fd8f26f40a9049de1cf2a9493d579d1"
- }
- Frame {
- msec: 240
- hash: "d08f0c57f071dc42e79fc5e0e3c32eeb"
- }
- Frame {
- msec: 256
- hash: "084c2db330ee82cd032df248ecc9629d"
- }
- Frame {
- msec: 272
- hash: "98da0d7f280d7fc4579c970c9a173b51"
- }
- Frame {
- msec: 288
- hash: "4c819c54ced1b6ef0574417a7e11f2e7"
- }
- Frame {
- msec: 304
- hash: "3dc5f7b412cb176c3b23d37cda3ef87c"
- }
- Frame {
- msec: 320
- hash: "c368a01b43d94205c03f9c750c37f330"
- }
- Frame {
- msec: 336
- hash: "8842bd0c8b17cac4fc9df84835999174"
- }
- Frame {
- msec: 352
- hash: "26829e9c7ca44dfcb0c03852f4158a18"
- }
- Frame {
- msec: 368
- hash: "ecffdb0888f1721e27b163e1f29a1950"
- }
- Frame {
- msec: 384
- hash: "eaead96f2683c464a12df8aadba20691"
- }
- Frame {
- msec: 400
- hash: "1e931963925bd208dce1ec9011372a3b"
- }
- Frame {
- msec: 416
- hash: "1c3fd049001c1e883f21d0d1e0e32cba"
- }
- Frame {
- msec: 432
- hash: "e8c3422ca637750ac52565594737d092"
- }
- Frame {
- msec: 448
- hash: "b1c36322cf89e15a80af7c43f2aebca1"
- }
- Frame {
- msec: 464
- hash: "f676c3171495f7bb2cb1812cfebaa17a"
- }
- Frame {
- msec: 480
- hash: "255119e2efa99c8e31fee611aaaa5137"
- }
- Frame {
- msec: 496
- hash: "e0bd32e3d44cfc2351db105f4595f18a"
- }
- Frame {
- msec: 512
- hash: "b7f23b8f3769f929b42491efda7ebe19"
- }
- Frame {
- msec: 528
- hash: "718cee11d869a8a8c5191cc0c09f2d30"
- }
- Frame {
- msec: 544
- hash: "fbdbf92f8c5f507605ff50abc594682b"
- }
- Frame {
- msec: 560
- hash: "c07fdc69c72b40d3c8dd1cc499008888"
- }
- Frame {
- msec: 576
- hash: "38e17ecd537dc0f51211ad672a2ebb21"
- }
- Frame {
- msec: 592
- hash: "2cbdc8728ef779c62f9938672986658a"
- }
- Frame {
- msec: 608
- hash: "7fb66509d5d1df34861e9c70f9a579f0"
- }
- Frame {
- msec: 624
- hash: "410b89392e859058718a08b79ec3d8fa"
- }
- Frame {
- msec: 640
- hash: "9bd90f80700217d08dafed93b81ee9cf"
- }
- Frame {
- msec: 656
- hash: "6d83671504a4274887b4e0d9bd2b24e7"
- }
- Frame {
- msec: 672
- hash: "51ff7bd3fd4a776af33fce7b935b145c"
- }
- Frame {
- msec: 688
- hash: "20f27392368b63b248bcd455cf3c9106"
- }
- Frame {
- msec: 704
- hash: "1a5ab296bd55aa215c9b04a7ff6c73a1"
- }
- Frame {
- msec: 720
- hash: "020fd7b14e8662fc006b0c39adca7c6a"
- }
- Frame {
- msec: 736
- hash: "2619120bdb25a153963bdf05c4a16d44"
- }
- Frame {
- msec: 752
- hash: "fd321314031efeb9ce71146764289d9f"
- }
- Frame {
- msec: 768
- hash: "378a71f09445dfff284db919787cbf87"
- }
- Frame {
- msec: 784
- hash: "d59eefe82ab8a00c903141dd9ea767ef"
- }
- Frame {
- msec: 800
- hash: "0a65004d69a4567f2a5c7e84dab3a905"
- }
- Frame {
- msec: 816
- hash: "92a4631716a51ff484ca14d9cfe05b2e"
- }
- Frame {
- msec: 832
- hash: "87203f627cf410cad56d6ba38a140efa"
- }
- Frame {
- msec: 848
- hash: "054cc085998cc059a6b7b4a7300dd36b"
- }
- Frame {
- msec: 864
- hash: "af3fefeb908a0485c723d36f61eff0a4"
- }
- Frame {
- msec: 880
- hash: "3f905d1e1ea79858b5a9bbfeab4eb255"
- }
- Frame {
- msec: 896
- hash: "f935f1fc5f26a201098d894fca9a4d1f"
- }
- Frame {
- msec: 912
- hash: "42b003dbb531da514716b9c32bdd3614"
- }
- Frame {
- msec: 928
- hash: "a82fed83ee4efee7896b639c7691b13a"
- }
- Frame {
- msec: 944
- hash: "31ad8cbf875233ea495330b0d3d4d2dd"
- }
- Frame {
- msec: 960
- hash: "00586f2f1d49fa81f90f7b06614311b4"
- }
- Frame {
- msec: 976
- image: "follow.1.png"
- }
- Frame {
- msec: 992
- hash: "5d71ff48b865ad4266eb8292f981b04e"
- }
- Frame {
- msec: 1008
- hash: "df599d934d131c92b209284277009efb"
- }
- Frame {
- msec: 1024
- hash: "5aaf33d11eb70ffdfe89246c637caed7"
- }
- Frame {
- msec: 1040
- hash: "9648cf623a66ded145c4fd23a42917b3"
- }
- Frame {
- msec: 1056
- hash: "9d33c2cc44ceac5a527ddcf809a51df6"
- }
- Frame {
- msec: 1072
- hash: "6d0ad2e0d012e53a03e246e6d5e49e13"
- }
- Frame {
- msec: 1088
- hash: "d33fa68796e38b19f44571d11c1bcd33"
- }
- Frame {
- msec: 1104
- hash: "636680f49bbf30b0fac31a6c581f18dd"
- }
- Frame {
- msec: 1120
- hash: "66801dbc39301e6b46b244fe502e0340"
- }
- Frame {
- msec: 1136
- hash: "f8fa6a033483279e78636f26493b10ac"
- }
- Frame {
- msec: 1152
- hash: "11b46611550173df42986dee4339d907"
- }
- Frame {
- msec: 1168
- hash: "5c9afdb519006079ee8d28b2b60d0b76"
- }
- Frame {
- msec: 1184
- hash: "9a55c38b2cd8abf25fbe448c7ef80971"
- }
- Frame {
- msec: 1200
- hash: "27ebdf1424e892b35c93ec009d942407"
- }
- Frame {
- msec: 1216
- hash: "2d9e3f0ae56f7337012b51c4dd173108"
- }
- Frame {
- msec: 1232
- hash: "e6f89ca892131d68ff1f4ca95c95d807"
- }
- Frame {
- msec: 1248
- hash: "f75791f1b12a217d37acb09bdb114cc5"
- }
- Frame {
- msec: 1264
- hash: "94c5ab1460fb1b0f957a9718b45bca36"
- }
- Frame {
- msec: 1280
- hash: "e246c8a0ec3d01ea20258b24a5673fe1"
- }
- Frame {
- msec: 1296
- hash: "529de7735e73409dff266d8c1275215c"
- }
- Frame {
- msec: 1312
- hash: "330400763a670580570cb62241ebec62"
- }
- Frame {
- msec: 1328
- hash: "ae444d1de9c509fc6f74136ca90f927a"
- }
- Frame {
- msec: 1344
- hash: "c43631ca8ee90ea5dc7664be5bc45429"
- }
- Frame {
- msec: 1360
- hash: "b366ac4a5b66c331a7667e9df0fc4eda"
- }
- Frame {
- msec: 1376
- hash: "1c7f4c47a9c57a34787cc9703e99bff1"
- }
- Frame {
- msec: 1392
- hash: "5555535609d512e8d34549b6624f74b8"
- }
- Frame {
- msec: 1408
- hash: "be59df714541923494b59f31f57e310e"
- }
- Frame {
- msec: 1424
- hash: "63e434f053032e54298f6e61c8d4da7d"
- }
- Frame {
- msec: 1440
- hash: "b0bb838637eceb6f8993ebc5b887afed"
- }
- Frame {
- msec: 1456
- hash: "fc39f33add4ebcaf578558ecd4aea281"
- }
- Frame {
- msec: 1472
- hash: "3f36faa7cc1e5898d4d5890c47633ff3"
- }
- Frame {
- msec: 1488
- hash: "4b328002b4461869b1f7de48e7291902"
- }
- Frame {
- msec: 1504
- hash: "26252c63924d2abcaebea2c7caf1d7aa"
- }
- Frame {
- msec: 1520
- hash: "a9a6023484ae439be86b2c2ff59dc40b"
- }
- Frame {
- msec: 1536
- hash: "620dab11bd4aab84cc0d949c48dd9a5d"
- }
- Frame {
- msec: 1552
- hash: "3b45ef80ee3e6fbbd3533bfa0d666e2f"
- }
- Frame {
- msec: 1568
- hash: "b33306abcb6a8402e491b7216495c778"
- }
- Frame {
- msec: 1584
- hash: "3cc52e8649a02e87785f1dc63f5c1efd"
- }
- Frame {
- msec: 1600
- hash: "fe21141f48da685213ed9d7641b2e7a0"
- }
- Frame {
- msec: 1616
- hash: "205aac4e822e20bd32f637256250f3c8"
- }
- Frame {
- msec: 1632
- hash: "124df0948f36aaf6151556d301f4b930"
- }
- Frame {
- msec: 1648
- hash: "c1701edd5eaf143fd1dbdc4a5324b48a"
- }
- Frame {
- msec: 1664
- hash: "117402df55367c918a3835958f4ab1d6"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 195; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1680
- hash: "73e3b86a1da28490cae4b03fdceefe19"
- }
- Frame {
- msec: 1696
- hash: "172e329fb47d6db0180242990a84fe3b"
- }
- Frame {
- msec: 1712
- hash: "82cf704cdfd406bab22689bc888ddc8d"
- }
- Frame {
- msec: 1728
- hash: "4c288f198a06d1b2815d34c3c8f97051"
- }
- Frame {
- msec: 1744
- hash: "6404d81456bb95a6b1c1ae55a181e40e"
- }
- Frame {
- msec: 1760
- hash: "6c11b9f079936ea08d11aa1172bfd954"
- }
- Frame {
- msec: 1776
- hash: "95388037c1f79a9dab951031f1d7c307"
- }
- Frame {
- msec: 1792
- hash: "c4ee57d9bffbb5f0ff173db48eadf2e3"
- }
- Frame {
- msec: 1808
- hash: "703ac9672a9c55cf08e6381ef76ac13c"
- }
- Frame {
- msec: 1824
- hash: "ea7726d2a2923290398262c8f70d511e"
- }
- Frame {
- msec: 1840
- hash: "9897c12603326a30c62381015c9adae3"
- }
- Frame {
- msec: 1856
- hash: "a52aa37b10a05382f1b136896b7e00e8"
- }
- Frame {
- msec: 1872
- hash: "a5acc1a45c95a67725e5e15084b7be18"
- }
- Frame {
- msec: 1888
- hash: "c9fac8b5a4110493958d49b073ea96ed"
- }
- Frame {
- msec: 1904
- hash: "6fca3a5c6d1cfbf1b905aca25b7785c5"
- }
- Frame {
- msec: 1920
- hash: "a40e5e2744d1d84c8b9a45525801a745"
- }
- Frame {
- msec: 1936
- image: "follow.2.png"
- }
- Frame {
- msec: 1952
- hash: "b2f980ab19d44ee98ab3e82a19adfe2d"
- }
- Frame {
- msec: 1968
- hash: "e01732623930aebefd76ab62c81dc722"
- }
- Frame {
- msec: 1984
- hash: "3a59c6851bc89eb31100092b1ceddbd9"
- }
- Frame {
- msec: 2000
- hash: "2949de19eacb9f35816aa7ba69614f2c"
- }
- Frame {
- msec: 2016
- hash: "f2c4c1f4429cbb6bd10f2318b2cb6904"
- }
- Frame {
- msec: 2032
- hash: "2c48af64162e7e028cd536dba03eab71"
- }
- Frame {
- msec: 2048
- hash: "7fe13b8f9253f720b6591b396cfba2d1"
- }
- Frame {
- msec: 2064
- hash: "559947a03e650575a764801366cc504b"
- }
- Frame {
- msec: 2080
- hash: "a8d09f6c862fd5ec2dcf34f06d1ef744"
- }
- Frame {
- msec: 2096
- hash: "e3bb4b62209631ff84134f2243bfdb42"
- }
- Frame {
- msec: 2112
- hash: "a1956a9d1939bc154ea0c88d596948cc"
- }
- Frame {
- msec: 2128
- hash: "c98a375727860da1e827d4dd74af8f63"
- }
- Frame {
- msec: 2144
- hash: "df4edcbb2ef5348341ff55c808609b6c"
- }
- Frame {
- msec: 2160
- hash: "6287564be85b7cbadc6bb6f0232bc837"
- }
- Frame {
- msec: 2176
- hash: "9826fdb48f7ea770fa5f198ec49d7cb7"
- }
- Frame {
- msec: 2192
- hash: "56f82641a5591df9bb929cc0d32eb95d"
- }
- Frame {
- msec: 2208
- hash: "526c55e555fb2e58796561efa3568c50"
- }
- Frame {
- msec: 2224
- hash: "6b4b74613421c1841a17c369cb316754"
- }
- Frame {
- msec: 2240
- hash: "37f785c30947d5eec113dcf6af649abf"
- }
- Frame {
- msec: 2256
- hash: "5ff2c975dd9e261c764537c836627c4d"
- }
- Frame {
- msec: 2272
- hash: "efe554981583749c3d09988bce7fed02"
- }
- Frame {
- msec: 2288
- hash: "0f7204b4afb0ea5d58e49650e8027c0c"
- }
- Frame {
- msec: 2304
- hash: "817291f91f4b309710ad3aed53a7d47a"
- }
- Frame {
- msec: 2320
- hash: "c15c9cd03089090cf8a777c1f0d88de7"
- }
- Frame {
- msec: 2336
- hash: "05f45cb8d0856dcc81091351615e35d6"
- }
- Frame {
- msec: 2352
- hash: "99785a16fed6d6409b4b47ec55afb56b"
- }
- Frame {
- msec: 2368
- hash: "39032cb4432ee9536af500673fccf526"
- }
- Frame {
- msec: 2384
- hash: "9057653e3cd6042831037d3590e7595b"
- }
- Frame {
- msec: 2400
- hash: "76c772eb2ab8f117c260c9c96bc99e1d"
- }
- Frame {
- msec: 2416
- hash: "b6474665b8f8bcdd76d1a38efecad889"
- }
- Frame {
- msec: 2432
- hash: "106c2d2efafad0181e3ded3a6805f2c6"
- }
- Frame {
- msec: 2448
- hash: "5275fa4ffef6c1909f9d03bb1e7b9cae"
- }
- Frame {
- msec: 2464
- hash: "0c1043c0087d60000dc7259d4ac03618"
- }
- Frame {
- msec: 2480
- hash: "645748569b4f5cb9b206b0808bb7d23d"
- }
- Frame {
- msec: 2496
- hash: "dd95dfa80e1b3ff511e7c75efd0d87ce"
- }
- Frame {
- msec: 2512
- hash: "86b3dd03b04d7610837cdc67cad07e0a"
- }
- Frame {
- msec: 2528
- hash: "8264f67ac92e4ebcfe4cc8e954f8c5d2"
- }
- Frame {
- msec: 2544
- hash: "6bf52377d822b09eb28a1ec36d3a36a9"
- }
- Frame {
- msec: 2560
- hash: "7ae1d65cdaf7fa71eb4ec318b37bb0aa"
- }
- Frame {
- msec: 2576
- hash: "860f5ce9844c90cf9e6a6d383ff0972f"
- }
- Frame {
- msec: 2592
- hash: "5502229c038dfc59d966f69ae6ed8957"
- }
- Frame {
- msec: 2608
- hash: "21843c027bc1434ae60b3bb0fced2c54"
- }
- Frame {
- msec: 2624
- hash: "962df45680949c3eb6c968f98cd76b20"
- }
- Frame {
- msec: 2640
- hash: "f313c26fa76a0edce61244bdf92528e4"
- }
- Frame {
- msec: 2656
- hash: "b7bbde239e98cbd66b1e51b54b747f51"
- }
- Frame {
- msec: 2672
- hash: "62340707fbc832fcb805c8f80ab353d1"
- }
- Frame {
- msec: 2688
- hash: "d008a3f7af1810ff70b68b38a4cd0f0d"
- }
- Frame {
- msec: 2704
- hash: "e651dd628af24faf34d716beb392b052"
- }
- Frame {
- msec: 2720
- hash: "a97733963c7a7616b25741545b07ffba"
- }
- Frame {
- msec: 2736
- hash: "3e017cc1db720cf16521bd17308e4f44"
- }
- Frame {
- msec: 2752
- hash: "13652ebaa610cca71486517e2eed21a5"
- }
- Frame {
- msec: 2768
- hash: "09f0f500c6f7d11be39c31f9e589b38a"
- }
- Frame {
- msec: 2784
- hash: "b87968cbc60ddc6a5f5699e830410eab"
- }
- Frame {
- msec: 2800
- hash: "50e65b043d1f07a321a08ee4c25204f6"
- }
- Frame {
- msec: 2816
- hash: "122d1ffa1510468e8c4067e0f511588f"
- }
- Frame {
- msec: 2832
- hash: "585f6c25caaafb99a22a23d8a998d202"
- }
- Frame {
- msec: 2848
- hash: "9b245a00ad576666c10f509d8a80a61e"
- }
- Frame {
- msec: 2864
- hash: "9b245a00ad576666c10f509d8a80a61e"
- }
- Frame {
- msec: 2880
- hash: "3c5d3d10bacc093afc6a9c0b5aa4cddc"
- }
- Frame {
- msec: 2896
- image: "follow.3.png"
- }
- Frame {
- msec: 2912
- hash: "31926d69c2309fdf13fbd7f0e9868c3d"
- }
- Frame {
- msec: 2928
- hash: "eb3acacce5dd31b0e94b59b9e546ccae"
- }
- Frame {
- msec: 2944
- hash: "9a51cff3276d75803a0a6e480f7ecb70"
- }
- Frame {
- msec: 2960
- hash: "fbbd8b9d519993a699815d935bcd2b9f"
- }
- Frame {
- msec: 2976
- hash: "0314190c6de73f9f374a4eaed0709645"
- }
- Frame {
- msec: 2992
- hash: "8ca1a203bdb5446094eb948aeb0a333e"
- }
- Frame {
- msec: 3008
- hash: "301e1b86ce38e11ad9d0d7aba0909985"
- }
- Frame {
- msec: 3024
- hash: "922095867d0a91b73ab7a63df2041279"
- }
- Frame {
- msec: 3040
- hash: "ba8275f3ba4633bf64a1f81f630c90f1"
- }
- Frame {
- msec: 3056
- hash: "efe39545279a7bd015d2de75d2b9d8b1"
- }
- Frame {
- msec: 3072
- hash: "78926c3c0c6fcf89b9291f9902710964"
- }
- Frame {
- msec: 3088
- hash: "ea63dcb7f00d3ddede0d8be59ad9d6bc"
- }
- Frame {
- msec: 3104
- hash: "286ad493301b713a49e378f123482a53"
- }
- Frame {
- msec: 3120
- hash: "a4bbbb8bb88188d3e99996502e3eebd1"
- }
- Frame {
- msec: 3136
- hash: "a6100e79f3dc5af594e86ab6cd8dfb76"
- }
- Frame {
- msec: 3152
- hash: "d9e3f777dc89bcf1b7f712206db768e2"
- }
- Frame {
- msec: 3168
- hash: "768045c600c0aa0b1e9e6f012733c600"
- }
- Frame {
- msec: 3184
- hash: "d8b4caa641ddee786f7898359efe9d07"
- }
- Frame {
- msec: 3200
- hash: "f7c3b76d5bb7c263ac9447eaad685158"
- }
- Frame {
- msec: 3216
- hash: "f7f97db815d653ec29fa31b87f72af2a"
- }
- Frame {
- msec: 3232
- hash: "18524623762487b60943312cd8bd4388"
- }
- Frame {
- msec: 3248
- hash: "5823dee5dd56e9f7515601f9629ccbae"
- }
- Frame {
- msec: 3264
- hash: "5823dee5dd56e9f7515601f9629ccbae"
- }
- Frame {
- msec: 3280
- hash: "5823dee5dd56e9f7515601f9629ccbae"
- }
- Frame {
- msec: 3296
- hash: "5823dee5dd56e9f7515601f9629ccbae"
- }
- Frame {
- msec: 3312
- hash: "18524623762487b60943312cd8bd4388"
- }
- Frame {
- msec: 3328
- hash: "430995770b655054aaeda383df8e27f7"
- }
- Frame {
- msec: 3344
- hash: "16a3a00f2b89aed676f80d63c4933ec3"
- }
- Frame {
- msec: 3360
- hash: "6c55aa62079ec546522edbf69c37b270"
- }
- Frame {
- msec: 3376
- hash: "0d68ca3ccecdd831013950cc7405e46e"
- }
- Frame {
- msec: 3392
- hash: "9da2511bc8b434218695fa74ed543439"
- }
- Frame {
- msec: 3408
- hash: "05afdd0b99dab81a500cdc2b2f0786fe"
- }
- Frame {
- msec: 3424
- hash: "e6f8882d146ae60bcc6ea47ff41a637b"
- }
- Frame {
- msec: 3440
- hash: "154542ed0e88321294f382501819aefc"
- }
- Frame {
- msec: 3456
- hash: "8f47b6980c387c5020145bf04645fd2d"
- }
- Frame {
- msec: 3472
- hash: "b34b055c7602f1f4e1cde875b258120c"
- }
- Frame {
- msec: 3488
- hash: "5a697f675575f05e297d4877604b9a47"
- }
- Frame {
- msec: 3504
- hash: "729dff1d1b357d19fc81804ec8940d0e"
- }
- Frame {
- msec: 3520
- hash: "c6f3fee46baa94a6139d2ee40254b160"
- }
- Frame {
- msec: 3536
- hash: "af0e700bb8ae34834510830f8b44afdb"
- }
- Frame {
- msec: 3552
- hash: "9c87bb54c2dfe58c2da9194dae6f7502"
- }
- Frame {
- msec: 3568
- hash: "2132356a92c75d725f9feafb8201b142"
- }
- Frame {
- msec: 3584
- hash: "50d855d2595eeae2bfd6aaa8c2fa0454"
- }
- Frame {
- msec: 3600
- hash: "5fde3c62d6e53a9056e3586f9dcda59e"
- }
- Frame {
- msec: 3616
- hash: "8f04460254a1e9fb949d5165894cd92a"
- }
- Frame {
- msec: 3632
- hash: "2b514c5e3b20d30f9c7e71092c69f081"
- }
- Frame {
- msec: 3648
- hash: "2c1ba6224037790e15f5c0f2864ace4d"
- }
- Frame {
- msec: 3664
- hash: "0d5b8e7bd5f560888aacaf2b3c6827a8"
- }
- Frame {
- msec: 3680
- hash: "ae25004530e7df134414018e4a34780e"
- }
- Frame {
- msec: 3696
- hash: "1a8fd9eaf9a91f1b42924f8986fbed9a"
- }
- Frame {
- msec: 3712
- hash: "2ea6de2025d40ed5beeff12a5b70ccc9"
- }
- Frame {
- msec: 3728
- hash: "624e417718d3cac1e4b7e4ce258ce6ea"
- }
- Frame {
- msec: 3744
- hash: "8b56d29391257c7be8966af6be26ea9f"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 195; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "5c0d977d8b446d9191bde57335cf1062"
- }
- Frame {
- msec: 3776
- hash: "100be2b21d069e3a5dbb694a90da4d4f"
- }
- Frame {
- msec: 3792
- hash: "caab03f6c81080dd8fdbedb4e94ae4a5"
- }
- Frame {
- msec: 3808
- hash: "3328a4d06f2f80a7e9ccf2ff21522fca"
- }
- Frame {
- msec: 3824
- hash: "a534e6cc28daf3eff6a9cf8379bd6375"
- }
- Frame {
- msec: 3840
- hash: "6686f9c1a814c6a6b785b70f94937b68"
- }
- Frame {
- msec: 3856
- image: "follow.4.png"
- }
- Frame {
- msec: 3872
- hash: "d3f1c3593375ca5c022a1361a7ec70bd"
- }
- Frame {
- msec: 3888
- hash: "67843e6192e2ecaa3820c37dc2f93106"
- }
- Frame {
- msec: 3904
- hash: "19a022f678e5b8f4ebdff936162323dc"
- }
- Frame {
- msec: 3920
- hash: "34e55ae70c9e156db339ae15642359c3"
- }
- Frame {
- msec: 3936
- hash: "3784778c817f9d9bb73d990cfe12685a"
- }
- Frame {
- msec: 3952
- hash: "0403fdf79e3ba339c7e3786db0c9c0f0"
- }
- Frame {
- msec: 3968
- hash: "93e4a0d5645d1cfc916f1e8422655555"
- }
- Frame {
- msec: 3984
- hash: "29080bfabb87160b7c51385fb36b474b"
- }
- Frame {
- msec: 4000
- hash: "9da2d83edc9d35f00fb8a159e79de4d9"
- }
- Frame {
- msec: 4016
- hash: "5505a42d4788f00cfc7499fbfda851ce"
- }
- Frame {
- msec: 4032
- hash: "bdd3040ab16fa9ffdd2fbc66b06699f8"
- }
- Frame {
- msec: 4048
- hash: "2a347e30a20c693a9440caa60ade0a0f"
- }
- Frame {
- msec: 4064
- hash: "0307f1857c091a639d47f112ce1a2f5a"
- }
- Frame {
- msec: 4080
- hash: "778d18e539bbd562ebe39283a6315df1"
- }
- Frame {
- msec: 4096
- hash: "0369cf6c3d1f5db2e92ee1f7c5d3b8ed"
- }
- Frame {
- msec: 4112
- hash: "9f7413587ab50f1abf776bf180ec2d6f"
- }
- Frame {
- msec: 4128
- hash: "7d04a27236485808e571e8a39f23ea17"
- }
- Frame {
- msec: 4144
- hash: "a1dff63b723473d5a4c9c59975a2fb81"
- }
- Frame {
- msec: 4160
- hash: "9795ea70a3b9d3b7805221a58c19e5da"
- }
- Frame {
- msec: 4176
- hash: "f1392c489e21107136eb8e0d1e8b427e"
- }
- Frame {
- msec: 4192
- hash: "95c225ef07171a96335e99078195b06a"
- }
- Frame {
- msec: 4208
- hash: "d46ef3e7f9cec06e8c18afc0d07be4f3"
- }
- Frame {
- msec: 4224
- hash: "b017f5b51d423bb0fca0d6df3aaded8b"
- }
- Frame {
- msec: 4240
- hash: "60584d085b0cd6fbc436773be678597e"
- }
- Frame {
- msec: 4256
- hash: "117951465dfd5c386826b295560d2dec"
- }
- Frame {
- msec: 4272
- hash: "1b70137da5f4e024593999e93121fe8b"
- }
- Frame {
- msec: 4288
- hash: "bd50dffd41941fef127f39b55c4748e0"
- }
- Frame {
- msec: 4304
- hash: "8eec34d8e1d2e22d11b85a671cd4d3aa"
- }
- Frame {
- msec: 4320
- hash: "9e3c97cfad5002ef5f3fcc365aeb7bd0"
- }
- Frame {
- msec: 4336
- hash: "28e1cf1ee033915ea2ee39c9ab00a73d"
- }
- Frame {
- msec: 4352
- hash: "99101a156a553f441f00221f6facbf1f"
- }
- Frame {
- msec: 4368
- hash: "419023e5d59d16c26b35bee7d3cea559"
- }
- Frame {
- msec: 4384
- hash: "485d23519293975b04031fe4baa5c276"
- }
- Frame {
- msec: 4400
- hash: "c8bc60735e0ede26dbaf228294853f9a"
- }
- Frame {
- msec: 4416
- hash: "ada3680b807d59843e3adf6640704066"
- }
- Frame {
- msec: 4432
- hash: "3e28f3adf9241512cd0d6918d81ffffb"
- }
- Frame {
- msec: 4448
- hash: "8f339acc33cbc89ae1c62391ce021bb3"
- }
- Frame {
- msec: 4464
- hash: "d303960c0853a90557d64a04b8283c94"
- }
- Frame {
- msec: 4480
- hash: "f907dbdacf2cfa9fdf8f9c8dead5b4c4"
- }
- Frame {
- msec: 4496
- hash: "30c6e6f283f4a3f538cdda9c2e92de8c"
- }
- Frame {
- msec: 4512
- hash: "04d2ac55774b43107a43a7d33764199b"
- }
- Frame {
- msec: 4528
- hash: "cddf3e111cbc59e721725daa1d8a0c31"
- }
- Frame {
- msec: 4544
- hash: "15b1b63cd1695207ebf9f04387be0739"
- }
- Frame {
- msec: 4560
- hash: "690769b9bbe86a3c5b1fbdee39615fbd"
- }
- Frame {
- msec: 4576
- hash: "2bd640d8ddbf878d808f22656fef1ed9"
- }
- Frame {
- msec: 4592
- hash: "a654f1e4519bf883d554276ebbe96323"
- }
- Frame {
- msec: 4608
- hash: "68f0313cfc3f51a0bb9b47c5407c19b6"
- }
- Frame {
- msec: 4624
- hash: "77f29806b084de4cabf7ab9bf1a93d5e"
- }
- Frame {
- msec: 4640
- hash: "f9991189e3282d107b98fb0ae5f5ef00"
- }
- Frame {
- msec: 4656
- hash: "0cd1f2f6e347d48feea1b26a4968dec7"
- }
- Frame {
- msec: 4672
- hash: "e75a6f6a088e2289042572a161ffb0e9"
- }
- Frame {
- msec: 4688
- hash: "5a541081444c0a71128223a4c4c3144c"
- }
- Frame {
- msec: 4704
- hash: "6813d442cc610f346a5441ed0cd723e5"
- }
- Frame {
- msec: 4720
- hash: "24ec539bc57899819915f833f26deacd"
- }
- Frame {
- msec: 4736
- hash: "3a7ed1b4b533b817674aa141c420cd61"
- }
- Frame {
- msec: 4752
- hash: "d0a643fae97bb152e97ca60e96299003"
- }
- Frame {
- msec: 4768
- hash: "c84093931520f4661eff6645091a294b"
- }
- Frame {
- msec: 4784
- hash: "81e7ceaece82505a4a16ead195a66162"
- }
- Frame {
- msec: 4800
- hash: "315764d20b647f6ab1ba30239a69bf72"
- }
- Frame {
- msec: 4816
- image: "follow.5.png"
- }
- Frame {
- msec: 4832
- hash: "d1824ced8af34ad9edb36a58ae9aa7f5"
- }
- Frame {
- msec: 4848
- hash: "167b9a49fbb94908e09e7e9c9147cd8b"
- }
- Frame {
- msec: 4864
- hash: "442d5f0906840de526d59a80ada322c0"
- }
- Frame {
- msec: 4880
- hash: "78206c4d4d23c7c1ba888b9062b09432"
- }
- Frame {
- msec: 4896
- hash: "e898202cfebbff1952efc6e01254d855"
- }
- Frame {
- msec: 4912
- hash: "ab31dc7bbad2b0552359866bb8d92f0c"
- }
- Frame {
- msec: 4928
- hash: "f093304e88964376baf9721d53d4fb49"
- }
- Frame {
- msec: 4944
- hash: "3ef76f3e1c44d13c3a469bd192ff7b5d"
- }
- Frame {
- msec: 4960
- hash: "5d3b6d0d91f8cc5b89e39407bc3b5a15"
- }
- Frame {
- msec: 4976
- hash: "3c73573f12f49b34e1d990a55ad913fa"
- }
- Frame {
- msec: 4992
- hash: "d1bac071b01a1c6fddab90cdc435fad4"
- }
- Frame {
- msec: 5008
- hash: "36a219aadec910f1dbef616c641e1d2b"
- }
- Frame {
- msec: 5024
- hash: "5871fc67d361cc988551592ee21dfb23"
- }
- Frame {
- msec: 5040
- hash: "6e65ee6c814b9a9da205c36925e663bf"
- }
- Frame {
- msec: 5056
- hash: "290b20fa8e91d34000d7c2d81745f6d2"
- }
- Frame {
- msec: 5072
- hash: "19e7405a9083a8143f7bb040f8837b29"
- }
- Frame {
- msec: 5088
- hash: "c0a0fa2b4c1ceb6c70594994a1ac8713"
- }
- Frame {
- msec: 5104
- hash: "c236224c16743fb606deb78bcb8afc8d"
- }
- Frame {
- msec: 5120
- hash: "7d44db15eb300b4338ffc26e9bcfce20"
- }
- Frame {
- msec: 5136
- hash: "067a79148a194c45c6f32d85316a1e11"
- }
- Frame {
- msec: 5152
- hash: "9075c379044476994a87f0fdcce8e332"
- }
- Frame {
- msec: 5168
- hash: "b2316988fbd51096a4f512e71fe7d0a2"
- }
- Frame {
- msec: 5184
- hash: "280f70877d93af5f84e178aad6a102d8"
- }
- Frame {
- msec: 5200
- hash: "3eef4ae7e43a8cf1cd9dd562237296f8"
- }
- Frame {
- msec: 5216
- hash: "e3184f77ce3a47ca4dca6386f42d7fec"
- }
- Frame {
- msec: 5232
- hash: "a2a5df66fe4808ea8d466cac84ba910c"
- }
- Frame {
- msec: 5248
- hash: "9f8a0e54788112d6c30482e840504f35"
- }
- Frame {
- msec: 5264
- hash: "ae69cf84798844f9f360c86790feaecd"
- }
- Frame {
- msec: 5280
- hash: "0244526572acb6266db5b7eb9d29c6fc"
- }
- Frame {
- msec: 5296
- hash: "8fb53d60b95ddb5aef27442934ea9983"
- }
- Frame {
- msec: 5312
- hash: "930fcfde491b4f5681e3861764003895"
- }
- Frame {
- msec: 5328
- hash: "bcdcd0a637112d113ebe11dc18823237"
- }
- Frame {
- msec: 5344
- hash: "65a564d5a5afbc14c0cdad4d52753507"
- }
- Frame {
- msec: 5360
- hash: "0c5056d438d2d54938f31ef5f996673a"
- }
- Frame {
- msec: 5376
- hash: "11c157ad2236fc390ffbdf339366cbc1"
- }
- Frame {
- msec: 5392
- hash: "6cb341b1f281a97a35c2e41bfd4c4d9d"
- }
- Frame {
- msec: 5408
- hash: "553a945f7f19f70ddae4ebe88e52a79b"
- }
- Frame {
- msec: 5424
- hash: "d10b42b4095a2474e66a5a322f72e936"
- }
- Frame {
- msec: 5440
- hash: "0f943d61e8072d70eddee8aa1ba0de5a"
- }
- Frame {
- msec: 5456
- hash: "3df18e237b666e78d57857739b759e6d"
- }
- Frame {
- msec: 5472
- hash: "1ddc0bfdb2ca7b6dee63f1024e62f26e"
- }
- Frame {
- msec: 5488
- hash: "aaa397714528f41238059e3a88833abc"
- }
- Frame {
- msec: 5504
- hash: "c94bd69f925c782656afc5f9618180a6"
- }
- Frame {
- msec: 5520
- hash: "824ff8c0e1ab43e3c0eaa79b7cc19b9c"
- }
- Frame {
- msec: 5536
- hash: "6c440a0b2293811335bdbf2c4f25f47d"
- }
- Frame {
- msec: 5552
- hash: "bfc7936cdf833d5b720ec9baca740112"
- }
- Frame {
- msec: 5568
- hash: "375fa305dbae2872dc9b20e59381cc0c"
- }
- Frame {
- msec: 5584
- hash: "fffd6173aa49e74164dc17a238bcd830"
- }
- Frame {
- msec: 5600
- hash: "44d9007e00fab161fd393b653255d7f4"
- }
- Frame {
- msec: 5616
- hash: "f669ee25c58b4fa20a01705d334f0065"
- }
- Frame {
- msec: 5632
- hash: "2dbb7d57711b67d5d9e1b81f70e22d34"
- }
- Frame {
- msec: 5648
- hash: "19351b91448265cb95c1670ee283c611"
- }
- Frame {
- msec: 5664
- hash: "19351b91448265cb95c1670ee283c611"
- }
- Frame {
- msec: 5680
- hash: "3a24b99d048348a21f4e4bd69393de89"
- }
- Frame {
- msec: 5696
- hash: "35a6fe955a52950bbfa954a453e4008e"
- }
- Frame {
- msec: 5712
- hash: "896f4ec28c976237b34fb2725a44460e"
- }
- Frame {
- msec: 5728
- hash: "ed3008ea950ec84c57518e573ea36d15"
- }
- Frame {
- msec: 5744
- hash: "3447c7be992759f772c1db2033eead99"
- }
- Frame {
- msec: 5760
- hash: "b7133225daa03563d3f5b1dac5f56a23"
- }
- Frame {
- msec: 5776
- image: "follow.6.png"
- }
- Frame {
- msec: 5792
- hash: "adc55f2fcf312a90b025a75fa80aa079"
- }
- Frame {
- msec: 5808
- hash: "3ac85cad400d2b8e4f33798f4f6b7b42"
- }
- Frame {
- msec: 5824
- hash: "1c115efd84ccbe489d24c3c521c4a61c"
- }
- Frame {
- msec: 5840
- hash: "39518f1bbc0c4aba6ff517bc3dc7c279"
- }
- Frame {
- msec: 5856
- hash: "7bd28d32996f4de61c415d3217da16d0"
- }
- Frame {
- msec: 5872
- hash: "f5d06e25d775bf8db07e95625a712733"
- }
- Frame {
- msec: 5888
- hash: "4820ea6ea3be88af2f86111c547a19d7"
- }
- Frame {
- msec: 5904
- hash: "fa6e681c368118b7f135a47ae8fc12ff"
- }
- Frame {
- msec: 5920
- hash: "f6b30e618aeeb837d2b3eca270b0a060"
- }
- Frame {
- msec: 5936
- hash: "ac8504bde8d3063a8bf02b9d4b69d755"
- }
- Frame {
- msec: 5952
- hash: "9670537bb77caa8e23fda7bbfa96ca60"
- }
- Frame {
- msec: 5968
- hash: "8cd292865ce5c1d240e9ddc93881a0ed"
- }
- Frame {
- msec: 5984
- hash: "de112013e526203d151c46e6cfba9f92"
- }
- Frame {
- msec: 6000
- hash: "cd61066e697de8c055aaa168791c2d8c"
- }
- Frame {
- msec: 6016
- hash: "cd61066e697de8c055aaa168791c2d8c"
- }
- Frame {
- msec: 6032
- hash: "e68b27ff14aac03c827fd43ac488d23e"
- }
- Frame {
- msec: 6048
- hash: "e68b27ff14aac03c827fd43ac488d23e"
- }
- Frame {
- msec: 6064
- hash: "1f61d857a8c26587fbda5895c603441a"
- }
- Frame {
- msec: 6080
- hash: "1e0dffdd02e05ade1ae444427d4aa345"
- }
- Frame {
- msec: 6096
- hash: "9a416ee7a1de9ac45ab2d609233c9520"
- }
- Frame {
- msec: 6112
- hash: "dfa35bf1cd908011c3214a506bcbdcb8"
- }
- Frame {
- msec: 6128
- hash: "bd502dc72dce4af3036f7af9ed7cf9e9"
- }
- Frame {
- msec: 6144
- hash: "c77280527612408daa3037aab45da59d"
- }
- Frame {
- msec: 6160
- hash: "a38ed1532a40210ad7da4c0d4d1a7195"
- }
- Frame {
- msec: 6176
- hash: "8ac8a8df937da526bbffb9a3590d89ac"
- }
- Frame {
- msec: 6192
- hash: "07527cb9a4494e11f4c9f99eb72598b9"
- }
- Frame {
- msec: 6208
- hash: "655b0327ef0f8711810714ba50f2f8cc"
- }
- Frame {
- msec: 6224
- hash: "549fd25292012a2be1f78118998ca892"
- }
- Frame {
- msec: 6240
- hash: "7a382ae4e6a48826eaa2c83ee7a73fb2"
- }
- Frame {
- msec: 6256
- hash: "5acd5f250c5b32d9006ed68dfecbfa1c"
- }
- Frame {
- msec: 6272
- hash: "3189e5a89d7b2ba1e6a06f6e3070e8c1"
- }
- Frame {
- msec: 6288
- hash: "3189e5a89d7b2ba1e6a06f6e3070e8c1"
- }
- Frame {
- msec: 6304
- hash: "07e5f1277558bfe7638b00cf9d967baf"
- }
- Frame {
- msec: 6320
- hash: "07e5f1277558bfe7638b00cf9d967baf"
- }
- Frame {
- msec: 6336
- hash: "07e5f1277558bfe7638b00cf9d967baf"
- }
- Frame {
- msec: 6352
- hash: "07e5f1277558bfe7638b00cf9d967baf"
- }
- Frame {
- msec: 6368
- hash: "07e5f1277558bfe7638b00cf9d967baf"
- }
- Frame {
- msec: 6384
- hash: "877aca1c64e588845329ca8a38222604"
- }
- Frame {
- msec: 6400
- hash: "877aca1c64e588845329ca8a38222604"
- }
- Frame {
- msec: 6416
- hash: "877aca1c64e588845329ca8a38222604"
- }
- Frame {
- msec: 6432
- hash: "877aca1c64e588845329ca8a38222604"
- }
- Frame {
- msec: 6448
- hash: "877aca1c64e588845329ca8a38222604"
- }
- Frame {
- msec: 6464
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6480
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6496
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6512
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6528
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6544
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6560
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6576
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6592
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6608
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6624
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6640
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6656
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6672
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6688
- hash: "b0f28e923f93dcdcea8460ca9d8cd674"
- }
- Frame {
- msec: 6704
- hash: "228920e994ebf71d542c71ce8263614e"
- }
- Frame {
- msec: 6720
- hash: "228920e994ebf71d542c71ce8263614e"
- }
- Frame {
- msec: 6736
- image: "follow.7.png"
- }
- Frame {
- msec: 6752
- hash: "228920e994ebf71d542c71ce8263614e"
- }
- Frame {
- msec: 6768
- hash: "228920e994ebf71d542c71ce8263614e"
- }
- Frame {
- msec: 6784
- hash: "228920e994ebf71d542c71ce8263614e"
- }
- Frame {
- msec: 6800
- hash: "228920e994ebf71d542c71ce8263614e"
- }
- Frame {
- msec: 6816
- hash: "228920e994ebf71d542c71ce8263614e"
- }
- Frame {
- msec: 6832
- hash: "07e5f1277558bfe7638b00cf9d967baf"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6848
- hash: "3189e5a89d7b2ba1e6a06f6e3070e8c1"
- }
- Frame {
- msec: 6864
- hash: "3189e5a89d7b2ba1e6a06f6e3070e8c1"
- }
- Frame {
- msec: 6880
- hash: "3189e5a89d7b2ba1e6a06f6e3070e8c1"
- }
- Frame {
- msec: 6896
- hash: "3189e5a89d7b2ba1e6a06f6e3070e8c1"
- }
- Frame {
- msec: 6912
- hash: "3189e5a89d7b2ba1e6a06f6e3070e8c1"
- }
- Frame {
- msec: 6928
- hash: "3189e5a89d7b2ba1e6a06f6e3070e8c1"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.0.png
deleted file mode 100644
index 6525dbb867..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.1.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.1.png
deleted file mode 100644
index 5b8d209f8e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.2.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.2.png
deleted file mode 100644
index cf012baff4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.3.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.3.png
deleted file mode 100644
index 57e77a41ea..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.4.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.4.png
deleted file mode 100644
index 24d26bdeff..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.5.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.5.png
deleted file mode 100644
index a540734804..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.6.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.6.png
deleted file mode 100644
index 17da64369c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.7.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.7.png
deleted file mode 100644
index e03cfe4be9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.qml
deleted file mode 100644
index 98cd12c28b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data-X11/follow.qml
+++ /dev/null
@@ -1,1763 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "follow.0.png"
- }
- Frame {
- msec: 32
- hash: "2ddcb50f5d285eb80a8136f0cf4cf85a"
- }
- Frame {
- msec: 48
- hash: "519d93a844e05f8215139d91c9aef58b"
- }
- Frame {
- msec: 64
- hash: "9f075a5547e4dc67cbe2ace2766395bb"
- }
- Frame {
- msec: 80
- hash: "8fc48f74a51d45b4ea1fb7bd1d48002f"
- }
- Frame {
- msec: 96
- hash: "a28fc4be5a5bb9ff36f796d9b071f02c"
- }
- Frame {
- msec: 112
- hash: "ebc14c2905f3596ec451dd96409e6001"
- }
- Frame {
- msec: 128
- hash: "4f270bdcff44006a56055edb1cda522a"
- }
- Frame {
- msec: 144
- hash: "571f347e764bf38985768c85c2a13ba1"
- }
- Frame {
- msec: 160
- hash: "b1aa23268167b7e2a1190288926f52c0"
- }
- Frame {
- msec: 176
- hash: "06d548aef9a678edbf3ab4d3ce62a647"
- }
- Frame {
- msec: 192
- hash: "daf6af0ae78f39566913c656450a66e5"
- }
- Frame {
- msec: 208
- hash: "f101cd0c026ee0ed6ccef7a4aed302a0"
- }
- Frame {
- msec: 224
- hash: "b3caa673f072c53d31d71109c9b33357"
- }
- Frame {
- msec: 240
- hash: "8596f1d305d6b8f97b9feda9e69bdefe"
- }
- Frame {
- msec: 256
- hash: "23c23df2c130aafb2092fe47a958a4cd"
- }
- Frame {
- msec: 272
- hash: "66a4f2d8213264437a5f4d6cf10cd442"
- }
- Frame {
- msec: 288
- hash: "6392490111813bad0a9467cc0c1746ed"
- }
- Frame {
- msec: 304
- hash: "c115a47e0ecab63b881e2ec492d24e68"
- }
- Frame {
- msec: 320
- hash: "c2a2b57e6f9ea2975c0846124d2dbc66"
- }
- Frame {
- msec: 336
- hash: "8286c315dfda4241607b2de1154f869d"
- }
- Frame {
- msec: 352
- hash: "3f0f7cae80357176892ff7628ec3153a"
- }
- Frame {
- msec: 368
- hash: "d13bde4a5b5ed8202f92ae33913166c9"
- }
- Frame {
- msec: 384
- hash: "b70cc32134b1b0d31a5e7f145af09495"
- }
- Frame {
- msec: 400
- hash: "03ebc2ff317ac840f4508e8701d66955"
- }
- Frame {
- msec: 416
- hash: "8dff08e72365e8e2fee8088c386dedca"
- }
- Frame {
- msec: 432
- hash: "720f3bbaf3fa3e3a064747d5689e47a0"
- }
- Frame {
- msec: 448
- hash: "350e3ebfcfef96969ef5b8d5944f7e62"
- }
- Frame {
- msec: 464
- hash: "1e4e6e68b3a8eac0c5cd039164eec166"
- }
- Frame {
- msec: 480
- hash: "62a10c4250ad025139a3f9e72109e8e1"
- }
- Frame {
- msec: 496
- hash: "23cfd643adfc98f6a06c7e7b15dac954"
- }
- Frame {
- msec: 512
- hash: "3a78930d5b86b886723fad85e77dd075"
- }
- Frame {
- msec: 528
- hash: "64dc878e2f527e80403c766e61fe14a6"
- }
- Frame {
- msec: 544
- hash: "d79160989d2584044042271e79a88e69"
- }
- Frame {
- msec: 560
- hash: "22cbaea4affc88433834c7d0dc1f1644"
- }
- Frame {
- msec: 576
- hash: "77cb616902257e1f239a0e6bfaabb33c"
- }
- Frame {
- msec: 592
- hash: "a2fe73dced03b23c4acb9aae9b774b41"
- }
- Frame {
- msec: 608
- hash: "230e21d3a9ed0e185593677233af1275"
- }
- Frame {
- msec: 624
- hash: "4e10ecffac4e06d624855d3f8917f76c"
- }
- Frame {
- msec: 640
- hash: "84f49d56baace4a02e50d3eafaea04ec"
- }
- Frame {
- msec: 656
- hash: "e3cd0b334551a9f91723eb2c876d335a"
- }
- Frame {
- msec: 672
- hash: "259330f3ec390c9926d9c2ddc2d77319"
- }
- Frame {
- msec: 688
- hash: "cc659623bfa385d282d608684d7cdc2b"
- }
- Frame {
- msec: 704
- hash: "47ed75d077143a6bfa0e10158550c542"
- }
- Frame {
- msec: 720
- hash: "0de93bbd9f9ee63e97968089321003e1"
- }
- Frame {
- msec: 736
- hash: "b33d867d4399879256a01344ce0b81f2"
- }
- Frame {
- msec: 752
- hash: "97c31fce937d11f62bebc6169b464a42"
- }
- Frame {
- msec: 768
- hash: "ea4166b8a4001bca3f27af30f251267f"
- }
- Frame {
- msec: 784
- hash: "b56d270b7893565f8d7ed2a0bfe10d60"
- }
- Frame {
- msec: 800
- hash: "88a42559fe22b45cff379258dd40ced9"
- }
- Frame {
- msec: 816
- hash: "4ee1a711cb8d26087e1b75a3166ca5f0"
- }
- Frame {
- msec: 832
- hash: "9b88a00d041092e79b4a08bccbaca0e1"
- }
- Frame {
- msec: 848
- hash: "afea397b3d740dc42f0313624fc10efd"
- }
- Frame {
- msec: 864
- hash: "39fd8e4cefbd9fed283d62a7aecded22"
- }
- Frame {
- msec: 880
- hash: "916b783d2379ac054c749e7b6eae7ddf"
- }
- Frame {
- msec: 896
- hash: "fccd44740ff7ffb0f2adccf00a7588bd"
- }
- Frame {
- msec: 912
- hash: "c064f20703a13543e8273d251fd645fe"
- }
- Frame {
- msec: 928
- hash: "1b9b0755101841e3d1cbe208d81575d5"
- }
- Frame {
- msec: 944
- hash: "1eb5e4a301b565012bc8f6af8e879eb9"
- }
- Frame {
- msec: 960
- hash: "032db65eb5c405e433f88df3975c322b"
- }
- Frame {
- msec: 976
- image: "follow.1.png"
- }
- Frame {
- msec: 992
- hash: "fdb67e11d7cc767b2389a8bbef752c7e"
- }
- Frame {
- msec: 1008
- hash: "ed89cb161336c61b13e3514fdf816023"
- }
- Frame {
- msec: 1024
- hash: "331b873c5367e0aaa62af85cb54a6a96"
- }
- Frame {
- msec: 1040
- hash: "cde4503f02f0c3732e310a7d0418cd1e"
- }
- Frame {
- msec: 1056
- hash: "f8c028c591fc1495d5bec8763da6f011"
- }
- Frame {
- msec: 1072
- hash: "9dc68483218335afe41aa3cd052a98b5"
- }
- Frame {
- msec: 1088
- hash: "31105c455418a3284700cf9c88571507"
- }
- Frame {
- msec: 1104
- hash: "72724947167a1ac600aaa1d7f331f7ec"
- }
- Frame {
- msec: 1120
- hash: "a4a1243326de6b9e93948fcb22fecac4"
- }
- Frame {
- msec: 1136
- hash: "c3e26e62f12dd658f21a0330fefb0533"
- }
- Frame {
- msec: 1152
- hash: "15d85b4a9ad761a911bbaa3e0c4b2b61"
- }
- Frame {
- msec: 1168
- hash: "bce1400b437cc43b8ff57b1a5fbc9551"
- }
- Frame {
- msec: 1184
- hash: "5d05848afcd8f697c1b3762f00a759f6"
- }
- Frame {
- msec: 1200
- hash: "6c83f68ea72cd54793149f4c9e759d44"
- }
- Frame {
- msec: 1216
- hash: "5206b93666e51cee3e25a7a85e27b5b8"
- }
- Frame {
- msec: 1232
- hash: "a3ef5c76efece4455e5ad12bcc8bd8f5"
- }
- Frame {
- msec: 1248
- hash: "c36c6ee7b6c8074f5dc1af7446fad1ad"
- }
- Frame {
- msec: 1264
- hash: "bb0887f1f10548bb53f0dc1ffeec25ee"
- }
- Frame {
- msec: 1280
- hash: "ebffe547a7c3528e5deddc590510506d"
- }
- Frame {
- msec: 1296
- hash: "18962faef1a1a1207a3c6783116154a2"
- }
- Frame {
- msec: 1312
- hash: "8aaa876e4a6c4de04e557f35ddd4fb61"
- }
- Frame {
- msec: 1328
- hash: "c66123bb4e01ce267629f5b50d147db1"
- }
- Frame {
- msec: 1344
- hash: "334e5acf84d90e70ca3085b9d5e057a7"
- }
- Frame {
- msec: 1360
- hash: "9bb49ddcc775307c3c1159908323e010"
- }
- Frame {
- msec: 1376
- hash: "1b3cfb8b6b6c39a34ea86a66ea1cc6b1"
- }
- Frame {
- msec: 1392
- hash: "d2a68c6eb2b05390ab1049137f96f227"
- }
- Frame {
- msec: 1408
- hash: "91e254fd2376ba35a283b18b947ca1a8"
- }
- Frame {
- msec: 1424
- hash: "fe94e2e8b4978390e9e8cbfe77dfc241"
- }
- Frame {
- msec: 1440
- hash: "e3d32b73c5c50e7aa59f4e4725de170e"
- }
- Frame {
- msec: 1456
- hash: "a73b90254d7da5557cc3941db0017a65"
- }
- Frame {
- msec: 1472
- hash: "9aa49cce5d63f8dd6409995ac6d91d63"
- }
- Frame {
- msec: 1488
- hash: "0ba674df46accec28a3c1b81e656adc7"
- }
- Frame {
- msec: 1504
- hash: "025a45417b8c75d47b5dac6c5ef913e9"
- }
- Frame {
- msec: 1520
- hash: "742527b97c7f580b0b7ff9d6aa105d31"
- }
- Frame {
- msec: 1536
- hash: "965ec8315d45894e704fcc5a3efc8c55"
- }
- Frame {
- msec: 1552
- hash: "6abdd59e6bd2c31124eab254418a5322"
- }
- Frame {
- msec: 1568
- hash: "9f6d06b176c55fa292e7f0ef4b5cd1cb"
- }
- Frame {
- msec: 1584
- hash: "05eba8c6e02c0d4af49e59b3346c9e68"
- }
- Frame {
- msec: 1600
- hash: "3c4215f6253aba836516cd51368bc471"
- }
- Frame {
- msec: 1616
- hash: "c6339a290007c0106cb18ecef5b7392b"
- }
- Frame {
- msec: 1632
- hash: "39a4bcd2ce84035f9db70f196ca00971"
- }
- Frame {
- msec: 1648
- hash: "b75a4be472583c3b893fc894ebe7d4d8"
- }
- Frame {
- msec: 1664
- hash: "d1efebbe748c43b3c1241753612e100d"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 195; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1680
- hash: "f6f3ad64fb71ffb68a5ea0375cc94bae"
- }
- Frame {
- msec: 1696
- hash: "778ecbafb5d235edde1683cabe3c3cfe"
- }
- Frame {
- msec: 1712
- hash: "5a41b9196fe4a97e6ba2400806299bd8"
- }
- Frame {
- msec: 1728
- hash: "1c8ddbc5910e35be389a1cb34fab9dec"
- }
- Frame {
- msec: 1744
- hash: "5e8b236c00087a067d366afde67184f3"
- }
- Frame {
- msec: 1760
- hash: "b7308837c5d7950dc81abec1340b4582"
- }
- Frame {
- msec: 1776
- hash: "bbe9f0b030efa716f34a05f0af929c66"
- }
- Frame {
- msec: 1792
- hash: "cd393fc19a30d896bfe62aa0000308f8"
- }
- Frame {
- msec: 1808
- hash: "c390f5b1bcff54de203490d8f2616fcd"
- }
- Frame {
- msec: 1824
- hash: "b5da2ea467c334dd13c75b811b94efb1"
- }
- Frame {
- msec: 1840
- hash: "49887c9312c3a4dfc2d9719f47c83a15"
- }
- Frame {
- msec: 1856
- hash: "7f077703e49f154d01c12a44f53469c5"
- }
- Frame {
- msec: 1872
- hash: "7be4130ed767f0e0bf41c3bebf050cac"
- }
- Frame {
- msec: 1888
- hash: "cc1590486c172000557b76c6eadb51e0"
- }
- Frame {
- msec: 1904
- hash: "7ccd05236d9c1f8af0e9645404326122"
- }
- Frame {
- msec: 1920
- hash: "2da165bf7e868b53b85bb630649ddc3e"
- }
- Frame {
- msec: 1936
- image: "follow.2.png"
- }
- Frame {
- msec: 1952
- hash: "2b6a24b6ceeaa956527c872af70fb5f9"
- }
- Frame {
- msec: 1968
- hash: "8c882de21f4ed0fb68433c19b114c3f8"
- }
- Frame {
- msec: 1984
- hash: "f75226c58726a687079d0d24e865ee6f"
- }
- Frame {
- msec: 2000
- hash: "2fa9b69fe85b4e1361ba260545c10e06"
- }
- Frame {
- msec: 2016
- hash: "6d513bc03f2798fbce1a0790969da6b5"
- }
- Frame {
- msec: 2032
- hash: "7e359e605483493e9a865f6eb912c394"
- }
- Frame {
- msec: 2048
- hash: "497c7c82c24408dcaff5ec981d3d4f35"
- }
- Frame {
- msec: 2064
- hash: "8738b024cf75ef970ffe20166e85141c"
- }
- Frame {
- msec: 2080
- hash: "014b805eb1ecf2ea1cd61727bfd1ca08"
- }
- Frame {
- msec: 2096
- hash: "a81cde60979300f397054ea017382114"
- }
- Frame {
- msec: 2112
- hash: "c46183b5224e762335eea98d9da65465"
- }
- Frame {
- msec: 2128
- hash: "11afbb88994f298a1fed6575fae3d7fd"
- }
- Frame {
- msec: 2144
- hash: "0195fa503143561d9ae3ffe68739ca3f"
- }
- Frame {
- msec: 2160
- hash: "6d298df37d2116eb9a62b58853cb3344"
- }
- Frame {
- msec: 2176
- hash: "1660865f00ea9adf94c8e56c7a8a73b2"
- }
- Frame {
- msec: 2192
- hash: "9835b5527b84e8e8a8fea2bdf9653a99"
- }
- Frame {
- msec: 2208
- hash: "ec1158b83daa9e98437abc9ce90b70f0"
- }
- Frame {
- msec: 2224
- hash: "11ce5e37747e05ff5f5071b13324ce9e"
- }
- Frame {
- msec: 2240
- hash: "6d7d427d5a15a31fd395f26c94ea455e"
- }
- Frame {
- msec: 2256
- hash: "828949e0fbdb7c79719fb533febb5b35"
- }
- Frame {
- msec: 2272
- hash: "7ef7f73ef6a59c9210cfa37df3894cb1"
- }
- Frame {
- msec: 2288
- hash: "e74bec397b32ba2934ffdde23a3d60c6"
- }
- Frame {
- msec: 2304
- hash: "09c2ca9c22e9b77bc166b4567b29bca7"
- }
- Frame {
- msec: 2320
- hash: "44d87983f33c4e03f4be70b406bb9bd9"
- }
- Frame {
- msec: 2336
- hash: "92844b36c2f30e618f04bfbc5cfbcad6"
- }
- Frame {
- msec: 2352
- hash: "0245f39a8966c4addb3f8dbcee93cd3f"
- }
- Frame {
- msec: 2368
- hash: "eb1e81cfa29295d4b1522c69d4501f51"
- }
- Frame {
- msec: 2384
- hash: "2af9c3bea11b25c0f6c2b780d533a968"
- }
- Frame {
- msec: 2400
- hash: "5062e9ab29c4a7a9657a4d29249ca822"
- }
- Frame {
- msec: 2416
- hash: "d7652ddc85d3be3bb3a2fc268ae9bc29"
- }
- Frame {
- msec: 2432
- hash: "7c924bf2ad6167db439723679b373a3a"
- }
- Frame {
- msec: 2448
- hash: "a93b61dd26a2ca72100b747ac3ed81b6"
- }
- Frame {
- msec: 2464
- hash: "5fedc849d3d21e0acf0ab4a4815a1285"
- }
- Frame {
- msec: 2480
- hash: "4313d2458f4bede8d3b02ac60135e728"
- }
- Frame {
- msec: 2496
- hash: "0f09e81d89262b569c56a9c876f3898d"
- }
- Frame {
- msec: 2512
- hash: "ea932789ded14fc5c8bae565b67d004c"
- }
- Frame {
- msec: 2528
- hash: "fd1f7b9b51f1284fee4d777ef83bba3f"
- }
- Frame {
- msec: 2544
- hash: "e98b884a1ec8ce4b4dc20749b85b571e"
- }
- Frame {
- msec: 2560
- hash: "d144072bb87bb88750b9df9cd92f7a4b"
- }
- Frame {
- msec: 2576
- hash: "9d8ad80d3367292d7e89d67cf49862b8"
- }
- Frame {
- msec: 2592
- hash: "c09b89e71e862da15d2b9edb0e00aa7b"
- }
- Frame {
- msec: 2608
- hash: "551277add3f8f09951d9c8f55ccd40f7"
- }
- Frame {
- msec: 2624
- hash: "1d0be0e7108516869374a9b985fd7543"
- }
- Frame {
- msec: 2640
- hash: "12e7cfb6c4a26af54c4b35182294a7b7"
- }
- Frame {
- msec: 2656
- hash: "a666a5a59d5854973668798eb8d508ba"
- }
- Frame {
- msec: 2672
- hash: "420d2e21461dc45f134b7dfa11d04d25"
- }
- Frame {
- msec: 2688
- hash: "95f848874899fb58a81c62b5921cf857"
- }
- Frame {
- msec: 2704
- hash: "fa3ea7a0f90ca549cc9a857f0647b061"
- }
- Frame {
- msec: 2720
- hash: "cbc5338de6157cd5dad511b246f5093b"
- }
- Frame {
- msec: 2736
- hash: "e26b43c83197abab3746830bbfacc0f4"
- }
- Frame {
- msec: 2752
- hash: "5225e854ff2763e562dee2810331d560"
- }
- Frame {
- msec: 2768
- hash: "a1d114ea67233ac4c6351e18e3afa64e"
- }
- Frame {
- msec: 2784
- hash: "bc9f12af2d0816bb84fd5040ed29bdad"
- }
- Frame {
- msec: 2800
- hash: "d9337da38caa4ad3385249602a830df3"
- }
- Frame {
- msec: 2816
- hash: "6ce20e0c89181b0f11e609b248da71d7"
- }
- Frame {
- msec: 2832
- hash: "bbc8337950a78c7bfa48aab2635120a8"
- }
- Frame {
- msec: 2848
- hash: "0e28ade7f52f3c27e1dbdd6e98be8c7d"
- }
- Frame {
- msec: 2864
- hash: "0e28ade7f52f3c27e1dbdd6e98be8c7d"
- }
- Frame {
- msec: 2880
- hash: "b496af17513d60d4028bd7402fbfba93"
- }
- Frame {
- msec: 2896
- image: "follow.3.png"
- }
- Frame {
- msec: 2912
- hash: "29aa7ce0fb1aa350753d3ec6da05bdf9"
- }
- Frame {
- msec: 2928
- hash: "fde474797d8105d9d004a7020e010fa4"
- }
- Frame {
- msec: 2944
- hash: "5a553d9a4bd2ef5d86f5eb37a863d28f"
- }
- Frame {
- msec: 2960
- hash: "2dcbf6c84abd49529f0b5d85bfb74808"
- }
- Frame {
- msec: 2976
- hash: "e96ec3b7d37bbf4c9ca297ad5afde31c"
- }
- Frame {
- msec: 2992
- hash: "9d824068affe32c143226b0b530206fc"
- }
- Frame {
- msec: 3008
- hash: "3e85f0ace68cffed47f4c9b00145f0f0"
- }
- Frame {
- msec: 3024
- hash: "540b8e1e2bee7d2ba5e29fd3b1086cd1"
- }
- Frame {
- msec: 3040
- hash: "0786585d11934c5e4a7e965eaac9a152"
- }
- Frame {
- msec: 3056
- hash: "8271705df2ca697f4343007a7810d4ac"
- }
- Frame {
- msec: 3072
- hash: "b98e1cd20ab2e4239f35d04df5e5175a"
- }
- Frame {
- msec: 3088
- hash: "ab1a7eaa5c5d919ee76cba405d0dd4cd"
- }
- Frame {
- msec: 3104
- hash: "52682386448379a395dc6c541224b7d4"
- }
- Frame {
- msec: 3120
- hash: "31dffcb9da94dfc085ab8c561404c248"
- }
- Frame {
- msec: 3136
- hash: "f3703eed8ebf9ece776ebe51e4c60ae6"
- }
- Frame {
- msec: 3152
- hash: "1126b90345bb42691cd17f37ecec6bdb"
- }
- Frame {
- msec: 3168
- hash: "7a63ab96d1c8d4992c03a6f59bba4e7e"
- }
- Frame {
- msec: 3184
- hash: "91f4a00c9a7ea6164b334aa4b90da862"
- }
- Frame {
- msec: 3200
- hash: "485471140f6a5336837377612e7a85bf"
- }
- Frame {
- msec: 3216
- hash: "96881b4021aff05020e0a9342fbae75d"
- }
- Frame {
- msec: 3232
- hash: "9891326646c3da4ff250aab69c862f96"
- }
- Frame {
- msec: 3248
- hash: "f00f36bbb5a828824c596ee6f85bec2f"
- }
- Frame {
- msec: 3264
- hash: "f00f36bbb5a828824c596ee6f85bec2f"
- }
- Frame {
- msec: 3280
- hash: "f00f36bbb5a828824c596ee6f85bec2f"
- }
- Frame {
- msec: 3296
- hash: "f00f36bbb5a828824c596ee6f85bec2f"
- }
- Frame {
- msec: 3312
- hash: "9891326646c3da4ff250aab69c862f96"
- }
- Frame {
- msec: 3328
- hash: "c766238db55f4704c2f29a6be6ee6907"
- }
- Frame {
- msec: 3344
- hash: "0254665427dcbd1c155bc954cc7aa7cd"
- }
- Frame {
- msec: 3360
- hash: "33ae1012816b997ef5c61c03ccfcc590"
- }
- Frame {
- msec: 3376
- hash: "4c7857bbbcb9aa812fc2503af2b395cf"
- }
- Frame {
- msec: 3392
- hash: "3a570e4af992d35e55923cea23c3c11b"
- }
- Frame {
- msec: 3408
- hash: "533ef554538005512ce37c73c6def722"
- }
- Frame {
- msec: 3424
- hash: "f863fa215d0642708bfa82780c766dc4"
- }
- Frame {
- msec: 3440
- hash: "fcca3ec34521c4b9087a102ba1e47293"
- }
- Frame {
- msec: 3456
- hash: "47d67cd74cb96b12801842b288a8b9ff"
- }
- Frame {
- msec: 3472
- hash: "34c5ea76f297ec68cba70521caa468e4"
- }
- Frame {
- msec: 3488
- hash: "7be247cc7a4032ff0478fca1a2aace8a"
- }
- Frame {
- msec: 3504
- hash: "3ade2a1a48edef15f522b9fc016e137e"
- }
- Frame {
- msec: 3520
- hash: "8b37b9d123504931d82bb06f6981bade"
- }
- Frame {
- msec: 3536
- hash: "5eb39825003f405f353f629e236b3395"
- }
- Frame {
- msec: 3552
- hash: "c4550722260c4a30ab1176c7e5cb62bf"
- }
- Frame {
- msec: 3568
- hash: "bd33e3ecd4b59cd659588c0298b61095"
- }
- Frame {
- msec: 3584
- hash: "4b3a62bff0019df7412aa2e1c07c0a23"
- }
- Frame {
- msec: 3600
- hash: "a9b98adcc3350febbb89dbf725b81436"
- }
- Frame {
- msec: 3616
- hash: "66eb8c84e75141d1575caf7d3cbc1ceb"
- }
- Frame {
- msec: 3632
- hash: "238f2b1dc5bf5b65e827c860f9ee76b5"
- }
- Frame {
- msec: 3648
- hash: "6d1fed0697370b2a2163c369fe559739"
- }
- Frame {
- msec: 3664
- hash: "04ea478c785586d900bbe3472371bbc7"
- }
- Frame {
- msec: 3680
- hash: "ba429e711c9363eebfb20e641fa44c84"
- }
- Frame {
- msec: 3696
- hash: "0129dfba166ffcbaa15087467c864068"
- }
- Frame {
- msec: 3712
- hash: "3fb340c874eee94e8baa1453b37c3fb5"
- }
- Frame {
- msec: 3728
- hash: "068c51d99c458f3edefe3371f46de260"
- }
- Frame {
- msec: 3744
- hash: "dd1e04ed3d610c2712158d73ee2c5b9d"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 195; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "840154afb9e7e0c859c66667bb6944b6"
- }
- Frame {
- msec: 3776
- hash: "239c2e33800e386b468a95341d0e23f4"
- }
- Frame {
- msec: 3792
- hash: "0a00515f2d297362862c1a5cf6519845"
- }
- Frame {
- msec: 3808
- hash: "f855df3495e44291aed8f085163c804b"
- }
- Frame {
- msec: 3824
- hash: "b4eb31e48c65550bb78d175b48e0e9fb"
- }
- Frame {
- msec: 3840
- hash: "70243664f9db83614e5972fc18ee81a1"
- }
- Frame {
- msec: 3856
- image: "follow.4.png"
- }
- Frame {
- msec: 3872
- hash: "c48ce2a4cf28ab706b9c097bddc74c27"
- }
- Frame {
- msec: 3888
- hash: "754a957e0df02839dd2fe33fefb7a721"
- }
- Frame {
- msec: 3904
- hash: "ec3ebe7b941af9bf2163634d7f15e8aa"
- }
- Frame {
- msec: 3920
- hash: "a76423ff2184cd9dac47abf7ae52ce5a"
- }
- Frame {
- msec: 3936
- hash: "559bec54f51c36c6e90004ca5e77c23c"
- }
- Frame {
- msec: 3952
- hash: "dc6fdd6a867a675afcb58f7052605614"
- }
- Frame {
- msec: 3968
- hash: "b2fb0dbbec01490243f37fe5f80ab6c7"
- }
- Frame {
- msec: 3984
- hash: "2bc1df7a913b1948ee7bb77eeaa55aa2"
- }
- Frame {
- msec: 4000
- hash: "82c6430d85c6a94c4b55a9529d2bc78f"
- }
- Frame {
- msec: 4016
- hash: "463e70dc9a9bdabdc158199bdcd7d2fa"
- }
- Frame {
- msec: 4032
- hash: "c1e9553327f060b70caa713bf3015342"
- }
- Frame {
- msec: 4048
- hash: "42f7f505d4e5ef316240e4f287a039bf"
- }
- Frame {
- msec: 4064
- hash: "200500f600ffe43c5ad4d057bcfc0831"
- }
- Frame {
- msec: 4080
- hash: "22e78edb813f7830776b2603b0aaae5c"
- }
- Frame {
- msec: 4096
- hash: "32ebf3490832fd0693b1b922b4501251"
- }
- Frame {
- msec: 4112
- hash: "1be622caa5ef94f87e2ec8297b6e1caa"
- }
- Frame {
- msec: 4128
- hash: "d1480529e0cb94c51c412109663e5fab"
- }
- Frame {
- msec: 4144
- hash: "e55e627d6d13b647f35233f18f0cbe89"
- }
- Frame {
- msec: 4160
- hash: "87d7b349cd2898de7686e5f1a14f6338"
- }
- Frame {
- msec: 4176
- hash: "2ac974836ee5e6092b55fcda20d7c35d"
- }
- Frame {
- msec: 4192
- hash: "53867256c1dac4de2f02af1ae000b49f"
- }
- Frame {
- msec: 4208
- hash: "08623509e9e5089fdaa1af2bf9a77eb1"
- }
- Frame {
- msec: 4224
- hash: "e4692f42c12593ee865048aef00cbeb2"
- }
- Frame {
- msec: 4240
- hash: "981ad6459e3e7483bb323ab4bc514630"
- }
- Frame {
- msec: 4256
- hash: "79e8adfcdc9d6dae0d2b6a69e8e322fa"
- }
- Frame {
- msec: 4272
- hash: "58f967a607972faa9daa13402eeb9912"
- }
- Frame {
- msec: 4288
- hash: "1fd5b002b049132565b6a963fb7b3bb6"
- }
- Frame {
- msec: 4304
- hash: "a16c96598f47404ec5f4ef55e87a1e70"
- }
- Frame {
- msec: 4320
- hash: "3c632899804812c93c7edd3e3f3d2bac"
- }
- Frame {
- msec: 4336
- hash: "af0eb810e0273f9bacb082d9f90612df"
- }
- Frame {
- msec: 4352
- hash: "728d7ac4a5410482c7d86d03c2d8a996"
- }
- Frame {
- msec: 4368
- hash: "416e76064f2be71a03eddddf61a33cb0"
- }
- Frame {
- msec: 4384
- hash: "c41f20b4ac9a7b34eefd066f77ea351a"
- }
- Frame {
- msec: 4400
- hash: "821d51db415a210b09ebdf8d861aadf2"
- }
- Frame {
- msec: 4416
- hash: "9394266815a52f1779858bb088d557dc"
- }
- Frame {
- msec: 4432
- hash: "cc475d1589665414e5aef051ec237ef4"
- }
- Frame {
- msec: 4448
- hash: "a95f3b8128faa7820f36391fa9bd579f"
- }
- Frame {
- msec: 4464
- hash: "d52687293a11891c364de52525039203"
- }
- Frame {
- msec: 4480
- hash: "5333dc4f65b2f1e066edcd23f7621bd7"
- }
- Frame {
- msec: 4496
- hash: "797bb5e27b2fe2b733a54402433901b4"
- }
- Frame {
- msec: 4512
- hash: "84c610cdff7f8b04a34977216e37847d"
- }
- Frame {
- msec: 4528
- hash: "0317f0406a566b2851c8bda62900e40c"
- }
- Frame {
- msec: 4544
- hash: "6538ecd7abd35234c5cc5c2a17249fc1"
- }
- Frame {
- msec: 4560
- hash: "f9019150a132eb5f5cfafcd5337aff7a"
- }
- Frame {
- msec: 4576
- hash: "0f0136fffbc65c02cee249ece4c8c0ef"
- }
- Frame {
- msec: 4592
- hash: "0027e0d236b8b33a451a0cc35e81b4ce"
- }
- Frame {
- msec: 4608
- hash: "ac2f86b2d4f29f223fb78440d67ccd31"
- }
- Frame {
- msec: 4624
- hash: "a6eb112a10c849e337f816ee408f22a6"
- }
- Frame {
- msec: 4640
- hash: "dafbb01f2615a2513310478ebe484a05"
- }
- Frame {
- msec: 4656
- hash: "17c400c4c29652dc278980ab578b75b3"
- }
- Frame {
- msec: 4672
- hash: "48696c02a2a4839b893a4c0b431b78a3"
- }
- Frame {
- msec: 4688
- hash: "04e05c7e722e53299d24cd0f1b7d17ee"
- }
- Frame {
- msec: 4704
- hash: "55d158f13ffc7ccde5ee368656d2830b"
- }
- Frame {
- msec: 4720
- hash: "fa478e1575acedae023322a520171a5b"
- }
- Frame {
- msec: 4736
- hash: "e2147ddd6e19fde80bb76da24011400c"
- }
- Frame {
- msec: 4752
- hash: "44ee0144db4c55aa90d2a931d83a895e"
- }
- Frame {
- msec: 4768
- hash: "552e87bbce4ad48006c899052a2c8cad"
- }
- Frame {
- msec: 4784
- hash: "3b6efe225303566f751c3f884ac8c069"
- }
- Frame {
- msec: 4800
- hash: "3a7175916d1dc103506061607b910550"
- }
- Frame {
- msec: 4816
- image: "follow.5.png"
- }
- Frame {
- msec: 4832
- hash: "b2e5d5c14b02a13bca62673f87e85627"
- }
- Frame {
- msec: 4848
- hash: "bd89a911d6fb13e4e841f8ee5b8b42af"
- }
- Frame {
- msec: 4864
- hash: "89795784185e83d0299e656f2eec73c8"
- }
- Frame {
- msec: 4880
- hash: "5b6d6fe78f341bdf0eb4bedfe3d975d0"
- }
- Frame {
- msec: 4896
- hash: "e246bc451ee48e16ef6dee20d6256e9c"
- }
- Frame {
- msec: 4912
- hash: "8c1bc37b1b268743aa314247ea949ef5"
- }
- Frame {
- msec: 4928
- hash: "04f34203c34dc87efc708bfb232663df"
- }
- Frame {
- msec: 4944
- hash: "d37a48545e81970d16951e3388f0ff8c"
- }
- Frame {
- msec: 4960
- hash: "9411e846c9f59cc915288efb59d4c9de"
- }
- Frame {
- msec: 4976
- hash: "6ee179741ac74837708afb55943f15bd"
- }
- Frame {
- msec: 4992
- hash: "f626fc3166bd5b01171271ae9bfa9b22"
- }
- Frame {
- msec: 5008
- hash: "e22898b2c0c566bbf531223234f98327"
- }
- Frame {
- msec: 5024
- hash: "1343d90c5eae70713cd49110fe61237b"
- }
- Frame {
- msec: 5040
- hash: "493d9322da6d01979a3f1a120c265f8c"
- }
- Frame {
- msec: 5056
- hash: "defccc76caf3a7c7c67e8abf5ccc2def"
- }
- Frame {
- msec: 5072
- hash: "fe3cad9227fcfa7ba2238465078f2ac7"
- }
- Frame {
- msec: 5088
- hash: "66ebfeee3a63323c7d8b949db9aafd7e"
- }
- Frame {
- msec: 5104
- hash: "805820b382d005894f9a615004b97b0d"
- }
- Frame {
- msec: 5120
- hash: "eee1620f47bb071de8a9c788d1fd258e"
- }
- Frame {
- msec: 5136
- hash: "f5a7d9a81fcfc8cfb9e7cc8ead0f1ff8"
- }
- Frame {
- msec: 5152
- hash: "249903ee123090b27019350f120c8b79"
- }
- Frame {
- msec: 5168
- hash: "019793a363c905809af32bf34ef52ec0"
- }
- Frame {
- msec: 5184
- hash: "4f5ad5a3ebb6eca73dd7567199d07b08"
- }
- Frame {
- msec: 5200
- hash: "fdc1b42d50c7a5c45458498788ff0abd"
- }
- Frame {
- msec: 5216
- hash: "cc091469598cad28d0a00690f1acb412"
- }
- Frame {
- msec: 5232
- hash: "5c8757e1f8f34a31d8b3717b64b84c07"
- }
- Frame {
- msec: 5248
- hash: "5da75559f60eac1b9f518ed55a174e5b"
- }
- Frame {
- msec: 5264
- hash: "1214c08daec4dcfb27690fdc18f2ac28"
- }
- Frame {
- msec: 5280
- hash: "87d92c1ba694d0cf187d8616b0f622f0"
- }
- Frame {
- msec: 5296
- hash: "d4af63638fe69b6c4f087a935351057e"
- }
- Frame {
- msec: 5312
- hash: "0573c41f34c2c117cada987e4ee813a5"
- }
- Frame {
- msec: 5328
- hash: "f179ef4b7bf0f915e25ffd8168a9126f"
- }
- Frame {
- msec: 5344
- hash: "1618bf7c94e7898392eb5ffbf44b8aff"
- }
- Frame {
- msec: 5360
- hash: "5af24b902e3729d544f70c77e189b8a7"
- }
- Frame {
- msec: 5376
- hash: "4e5789404e58113cc2d8aa737a03ab58"
- }
- Frame {
- msec: 5392
- hash: "e4bf91a249e47597e959bbaf25f0724d"
- }
- Frame {
- msec: 5408
- hash: "39a3e3d6269522ed57a0e37319ab94d5"
- }
- Frame {
- msec: 5424
- hash: "f2e2e47922e7e058e14537a0455cd77f"
- }
- Frame {
- msec: 5440
- hash: "64abb3f2c9e05fd1dd7490d11c74f06a"
- }
- Frame {
- msec: 5456
- hash: "a9bf45c29536ca34c42aa916747b485b"
- }
- Frame {
- msec: 5472
- hash: "da21839b6635e5c4e0a589d163e62752"
- }
- Frame {
- msec: 5488
- hash: "f31e49258bcbb2a144daa320e4567df1"
- }
- Frame {
- msec: 5504
- hash: "f96c5b39f94bf2ac1e3f4de96767d720"
- }
- Frame {
- msec: 5520
- hash: "281b90d1056803093cc37f30465f0e73"
- }
- Frame {
- msec: 5536
- hash: "d63a2424e1947328957ad8f5f0bec043"
- }
- Frame {
- msec: 5552
- hash: "bd510a0de7df02b1b5741824b6f90944"
- }
- Frame {
- msec: 5568
- hash: "47dc4e5ff91cb84c89dd0fc0459f75f2"
- }
- Frame {
- msec: 5584
- hash: "4bc46b5e116dd30e1db4d4bb650ed6ed"
- }
- Frame {
- msec: 5600
- hash: "c6964b89f1962f120028057d1c588694"
- }
- Frame {
- msec: 5616
- hash: "39a77544a1c88b68cb63da9a8910a35e"
- }
- Frame {
- msec: 5632
- hash: "bd8ac21d7a507a8e195437ccac254ecc"
- }
- Frame {
- msec: 5648
- hash: "7b39b2667a8f8efae20ec8696e35dbc4"
- }
- Frame {
- msec: 5664
- hash: "7b39b2667a8f8efae20ec8696e35dbc4"
- }
- Frame {
- msec: 5680
- hash: "8628f4f24670d17965fec40a02e0196f"
- }
- Frame {
- msec: 5696
- hash: "515903d9896a853cb18cc7b7c45c1cce"
- }
- Frame {
- msec: 5712
- hash: "b7a3f70bedcb3f90a2e294b447e05f70"
- }
- Frame {
- msec: 5728
- hash: "8e8b104ef82b1e219021aa38276f8b45"
- }
- Frame {
- msec: 5744
- hash: "70abe79da860bebd2d17a8c7abb20b4e"
- }
- Frame {
- msec: 5760
- hash: "d99af176fb6cf9d9cbcf7cf4286a165c"
- }
- Frame {
- msec: 5776
- image: "follow.6.png"
- }
- Frame {
- msec: 5792
- hash: "67809c7daad6716d0a664c52de9906ce"
- }
- Frame {
- msec: 5808
- hash: "29a27fd59b7316ce305803482686ea58"
- }
- Frame {
- msec: 5824
- hash: "25b9ca40d1d6208d026e5c965923f8fb"
- }
- Frame {
- msec: 5840
- hash: "126b1542415aea11dbb35492be4f66aa"
- }
- Frame {
- msec: 5856
- hash: "26ca7034536e0e690236797df740f19a"
- }
- Frame {
- msec: 5872
- hash: "fec9db60af63a4712b0da037cf1d89cd"
- }
- Frame {
- msec: 5888
- hash: "d9b7e2729c75ca0c0f33b542525c4880"
- }
- Frame {
- msec: 5904
- hash: "89149d16b893ea432b6d0fb05ead48cb"
- }
- Frame {
- msec: 5920
- hash: "8e389d2ca706277ce06e1da557e2e6c1"
- }
- Frame {
- msec: 5936
- hash: "fc5c74473410da1ddd451c5901572172"
- }
- Frame {
- msec: 5952
- hash: "54514970eadff9362d31499a737e4c95"
- }
- Frame {
- msec: 5968
- hash: "d5953bc29532ec49c20ee552c8756ba1"
- }
- Frame {
- msec: 5984
- hash: "5f03be3ed5824e6a6f8f371ce6a47997"
- }
- Frame {
- msec: 6000
- hash: "0431e2ec4765167d0099c59df400f3fd"
- }
- Frame {
- msec: 6016
- hash: "0431e2ec4765167d0099c59df400f3fd"
- }
- Frame {
- msec: 6032
- hash: "403e1f235770f2b7c8b1b2e86aea69a5"
- }
- Frame {
- msec: 6048
- hash: "403e1f235770f2b7c8b1b2e86aea69a5"
- }
- Frame {
- msec: 6064
- hash: "32ff9f959598972f5a264418587dca1f"
- }
- Frame {
- msec: 6080
- hash: "b4c7c07e52a684f7ce21e47a4d66356a"
- }
- Frame {
- msec: 6096
- hash: "e0f214bed2c3a31f473952929b8f3ea9"
- }
- Frame {
- msec: 6112
- hash: "15328b8a205965f3f29fc63a6a8ac8ed"
- }
- Frame {
- msec: 6128
- hash: "72c46ed63633e6879373f4783df25d8b"
- }
- Frame {
- msec: 6144
- hash: "3f2570289df823446f85bbd8d620db4d"
- }
- Frame {
- msec: 6160
- hash: "df9451c6634d72e6f794e962b3591086"
- }
- Frame {
- msec: 6176
- hash: "773e10bbd133e64457e7ddbc73a10fc2"
- }
- Frame {
- msec: 6192
- hash: "c79abb97eb86761b69053d77156dffd4"
- }
- Frame {
- msec: 6208
- hash: "d927934b19ffd55ea7cea1916983351a"
- }
- Frame {
- msec: 6224
- hash: "ae5058d935c1e44d103be66921b19e77"
- }
- Frame {
- msec: 6240
- hash: "b6a1446b6be054d5785ba52ac23f8aa8"
- }
- Frame {
- msec: 6256
- hash: "3dffbffded44249fdbe58aecd24ab97f"
- }
- Frame {
- msec: 6272
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6288
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6304
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Frame {
- msec: 6320
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Frame {
- msec: 6336
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Frame {
- msec: 6352
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Frame {
- msec: 6368
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Frame {
- msec: 6384
- hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e"
- }
- Frame {
- msec: 6400
- hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e"
- }
- Frame {
- msec: 6416
- hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e"
- }
- Frame {
- msec: 6432
- hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e"
- }
- Frame {
- msec: 6448
- hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e"
- }
- Frame {
- msec: 6464
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6480
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6496
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6512
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6528
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6544
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6560
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6576
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6592
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6608
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6624
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6640
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6656
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6672
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6688
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6704
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6720
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6736
- image: "follow.7.png"
- }
- Frame {
- msec: 6752
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6768
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6784
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6800
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6816
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6832
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6848
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6864
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6880
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6896
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6912
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6928
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.0.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.0.png
deleted file mode 100644
index a3bb3ac1bf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.1.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.1.png
deleted file mode 100644
index f159b6b2a3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.2.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.2.png
deleted file mode 100644
index d24af1aab2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.qml
deleted file mode 100644
index 2e8337ec99..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/clock.qml
+++ /dev/null
@@ -1,615 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "clock.0.png"
- }
- Frame {
- msec: 32
- hash: "cb33c89e5108c85e43b53489d1255862"
- }
- Frame {
- msec: 48
- hash: "fcf631cb42237d2ce9e57ef5fef85f93"
- }
- Frame {
- msec: 64
- hash: "a9f1e24d60588ff9b565b15847669438"
- }
- Frame {
- msec: 80
- hash: "c5a07045cd24b835fdd0653db5b34f9f"
- }
- Frame {
- msec: 96
- hash: "bce3e9bfa92f81f0c8746a4777ce1b3e"
- }
- Frame {
- msec: 112
- hash: "6da93132be1be8b42aaf007306ce5990"
- }
- Frame {
- msec: 128
- hash: "8695e73f009bd20f3f3aae4a6b8f0098"
- }
- Frame {
- msec: 144
- hash: "172ece19e661999ce48053007a92f107"
- }
- Frame {
- msec: 160
- hash: "6e02e658d8873dd678dc9cc7cc8035a0"
- }
- Frame {
- msec: 176
- hash: "d8e9bad91fd91bce0310a24233ecb906"
- }
- Frame {
- msec: 192
- hash: "9c23533f0a4d47ec192bed2e48f11c60"
- }
- Frame {
- msec: 208
- hash: "9c23533f0a4d47ec192bed2e48f11c60"
- }
- Frame {
- msec: 224
- hash: "be0ee20e9eb94b80171f66fa6f1c2441"
- }
- Frame {
- msec: 240
- hash: "83b841f7ea7a5e92a21ec0d0130b4281"
- }
- Frame {
- msec: 256
- hash: "3bbf822e403f4198fbfaa6973726947d"
- }
- Frame {
- msec: 272
- hash: "172ece19e661999ce48053007a92f107"
- }
- Frame {
- msec: 288
- hash: "602ca5ac2fc928b831d8e10de01f5bf7"
- }
- Frame {
- msec: 304
- hash: "9f07659e63a5b3412ede3c8400678cc6"
- }
- Frame {
- msec: 320
- hash: "6104f86706bd11cee6b5aeef495eacfa"
- }
- Frame {
- msec: 336
- hash: "b564cfe8c73b3d51e07bbcf5320868f8"
- }
- Frame {
- msec: 352
- hash: "b2136411eee23d64718a63269071499f"
- }
- Frame {
- msec: 368
- hash: "7f610f3b80c2cf002c6565ac4b7a8325"
- }
- Frame {
- msec: 384
- hash: "5480e79cc96fdaffecb2d9dec254c8d4"
- }
- Frame {
- msec: 400
- hash: "50eea6c6f135c21ecf05fc83ad1ae9a8"
- }
- Frame {
- msec: 416
- hash: "2d3634d621782194674da127abe66039"
- }
- Frame {
- msec: 432
- hash: "285180aa632c9247c3b7aa26f5544da6"
- }
- Frame {
- msec: 448
- hash: "8695e73f009bd20f3f3aae4a6b8f0098"
- }
- Frame {
- msec: 464
- hash: "914dc6254f29a6cffc80e90a23b61130"
- }
- Frame {
- msec: 480
- hash: "a564dc3a53b607ca7e9fc6920b65abc3"
- }
- Frame {
- msec: 496
- hash: "6104f86706bd11cee6b5aeef495eacfa"
- }
- Frame {
- msec: 512
- hash: "6f34176630c5d9d421a1a31cb3b97a28"
- }
- Frame {
- msec: 528
- hash: "62199c5663263fee08ba5ce560c7429d"
- }
- Frame {
- msec: 544
- hash: "1110cb0281044eb0679e9dc373a7d063"
- }
- Frame {
- msec: 560
- hash: "0ec354101faf6603c9ca56fe82dc8ac3"
- }
- Frame {
- msec: 576
- hash: "0ec354101faf6603c9ca56fe82dc8ac3"
- }
- Frame {
- msec: 592
- hash: "1110cb0281044eb0679e9dc373a7d063"
- }
- Frame {
- msec: 608
- hash: "1110cb0281044eb0679e9dc373a7d063"
- }
- Frame {
- msec: 624
- hash: "62199c5663263fee08ba5ce560c7429d"
- }
- Frame {
- msec: 640
- hash: "1716d50c65b4319845fdc7ea1ceafe4d"
- }
- Frame {
- msec: 656
- hash: "d087befa8f95f70e33604748230d5dd5"
- }
- Frame {
- msec: 672
- hash: "7ae892fbab85d76e713ab70ca13d3f1f"
- }
- Frame {
- msec: 688
- hash: "fb069bfb88b35f9f15273e04a62a9534"
- }
- Frame {
- msec: 704
- hash: "41c69834e756bafc051ff65e149f8994"
- }
- Frame {
- msec: 720
- hash: "f0c13b542b9ee9b0c9f4ef800900db16"
- }
- Frame {
- msec: 736
- hash: "f0c13b542b9ee9b0c9f4ef800900db16"
- }
- Frame {
- msec: 752
- hash: "f0c13b542b9ee9b0c9f4ef800900db16"
- }
- Frame {
- msec: 768
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 784
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 800
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 816
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 832
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 848
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 864
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 880
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 896
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 912
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 928
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 944
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 960
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 976
- image: "clock.1.png"
- }
- Frame {
- msec: 992
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 1008
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 1024
- hash: "2ff4e8f394a62892adb348271435205c"
- }
- Frame {
- msec: 1040
- hash: "0ec9e1163fe8284ab27aa55f94bf3b14"
- }
- Frame {
- msec: 1056
- hash: "9b6efbb358b1c7928e005620a60ab4a9"
- }
- Frame {
- msec: 1072
- hash: "5be6fe791a3bb6f72a6c6a3d1e2fa86e"
- }
- Frame {
- msec: 1088
- hash: "41fefdc45bd52600f7f108d4163d484b"
- }
- Frame {
- msec: 1104
- hash: "45828a5bef6c4ad4d274c0ea46f72e44"
- }
- Frame {
- msec: 1120
- hash: "17f0925ae38ee4c523713592d6b9f541"
- }
- Frame {
- msec: 1136
- hash: "ed3acc723c29321751702903b57a557a"
- }
- Frame {
- msec: 1152
- hash: "ded71422852eec4464f54e9c1b01b28a"
- }
- Frame {
- msec: 1168
- hash: "0318d105aa5f7d3bebb0d24a85065f90"
- }
- Frame {
- msec: 1184
- hash: "9abe4cb4e8ff6ffafd993b10ac55aad9"
- }
- Frame {
- msec: 1200
- hash: "b92dba35b477ce11822277ba64582232"
- }
- Frame {
- msec: 1216
- hash: "3a9a6106e1f12ffbc81ae9d4b30376fe"
- }
- Frame {
- msec: 1232
- hash: "4647b6e6c95e3339094c7e2641458137"
- }
- Frame {
- msec: 1248
- hash: "0977f3ed3ab6426423f7a7bfb0bd1726"
- }
- Frame {
- msec: 1264
- hash: "930002bcd6986af36678d23c3dc17330"
- }
- Frame {
- msec: 1280
- hash: "ded71422852eec4464f54e9c1b01b28a"
- }
- Frame {
- msec: 1296
- hash: "16164138479aed4db7fd9a1c785556cb"
- }
- Frame {
- msec: 1312
- hash: "0b884e6a8a1c93d62fcee037f9ad8745"
- }
- Frame {
- msec: 1328
- hash: "dd1323c721a0ede74910c16df4b47074"
- }
- Frame {
- msec: 1344
- hash: "ed3acc723c29321751702903b57a557a"
- }
- Frame {
- msec: 1360
- hash: "e8c528178425f7c6089ed6d094e734fb"
- }
- Frame {
- msec: 1376
- hash: "f2954641b11004bc4d29a217791e3833"
- }
- Frame {
- msec: 1392
- hash: "5d4d4086c4aebf04eb5b0045cf9a36a8"
- }
- Frame {
- msec: 1408
- hash: "f2954641b11004bc4d29a217791e3833"
- }
- Frame {
- msec: 1424
- hash: "c2e47da0e709c9ddeee01ae29d3ad059"
- }
- Frame {
- msec: 1440
- hash: "e539f0142b3f6c2f7de084ddedbe979e"
- }
- Frame {
- msec: 1456
- hash: "ed3acc723c29321751702903b57a557a"
- }
- Frame {
- msec: 1472
- hash: "ae191ede94be250b60744d81179c5054"
- }
- Frame {
- msec: 1488
- hash: "f985b1ab4feae3bd7066e15bdd026c1a"
- }
- Frame {
- msec: 1504
- hash: "dd1323c721a0ede74910c16df4b47074"
- }
- Frame {
- msec: 1520
- hash: "c99c541e424ebe82f1cceea204f3ffdc"
- }
- Frame {
- msec: 1536
- hash: "dcdeb76d6e4c676e736ec9fcf68f993b"
- }
- Frame {
- msec: 1552
- hash: "599bfdb42d46a31bf8639e7b1c89526b"
- }
- Frame {
- msec: 1568
- hash: "bef384984df19143de0c290a6621146d"
- }
- Frame {
- msec: 1584
- hash: "bef384984df19143de0c290a6621146d"
- }
- Frame {
- msec: 1600
- hash: "04192a5408bc1aff5431b4ea0be94b27"
- }
- Frame {
- msec: 1616
- hash: "8da64659fb7f532eac43a67accd319ee"
- }
- Frame {
- msec: 1632
- hash: "dcdeb76d6e4c676e736ec9fcf68f993b"
- }
- Frame {
- msec: 1648
- hash: "fba3a7729e46d8e78d203188ef29d829"
- }
- Frame {
- msec: 1664
- hash: "c99c541e424ebe82f1cceea204f3ffdc"
- }
- Frame {
- msec: 1680
- hash: "c99c541e424ebe82f1cceea204f3ffdc"
- }
- Frame {
- msec: 1696
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1712
- hash: "7f62ba22b5567d4ea96725a6215ff98a"
- }
- Frame {
- msec: 1728
- hash: "a21cc4fa347929fd816ad36f4b33efab"
- }
- Frame {
- msec: 1744
- hash: "a21cc4fa347929fd816ad36f4b33efab"
- }
- Frame {
- msec: 1760
- hash: "a21cc4fa347929fd816ad36f4b33efab"
- }
- Frame {
- msec: 1776
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1792
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1808
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1824
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1840
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1856
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1872
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1888
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1904
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1920
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1936
- image: "clock.2.png"
- }
- Frame {
- msec: 1952
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1968
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 1984
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 2000
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 2016
- hash: "a3e6173e6d82d2cb52149588b32851e4"
- }
- Frame {
- msec: 2032
- hash: "dba66886121f802a4a49ee1e220279db"
- }
- Frame {
- msec: 2048
- hash: "b43648a05b6900bd0402bb56c98692df"
- }
- Frame {
- msec: 2064
- hash: "8213e39455c952a589a90eea0040edfe"
- }
- Frame {
- msec: 2080
- hash: "0d72dcbb2de67c84c0cf802e1de2b32b"
- }
- Frame {
- msec: 2096
- hash: "db5b4994b46f3e0de86149af8b99abb6"
- }
- Frame {
- msec: 2112
- hash: "440f7414e3db5339f2180bf1fcdc1c55"
- }
- Frame {
- msec: 2128
- hash: "f757740304369ac45bb88657f79f304e"
- }
- Frame {
- msec: 2144
- hash: "4521da9bcf198f78f7270cca959adfe4"
- }
- Frame {
- msec: 2160
- hash: "92d602d139aedf31180f12349a1edcad"
- }
- Frame {
- msec: 2176
- hash: "4092500cb913f0c9ae49d61e53553371"
- }
- Frame {
- msec: 2192
- hash: "dee122e2c46b398c48a7ef1619683a6f"
- }
- Frame {
- msec: 2208
- hash: "1817fa481e8648dd092e29403b0f887e"
- }
- Frame {
- msec: 2224
- hash: "93a69d88553709c0f164b11d8d765805"
- }
- Frame {
- msec: 2240
- hash: "92d602d139aedf31180f12349a1edcad"
- }
- Frame {
- msec: 2256
- hash: "4ff6679a9615ca8bd5dd63c296cca3d5"
- }
- Frame {
- msec: 2272
- hash: "4521da9bcf198f78f7270cca959adfe4"
- }
- Frame {
- msec: 2288
- hash: "127b93b536f6266965941af5888a63dd"
- }
- Frame {
- msec: 2304
- hash: "1a3e36e44069a8bf29b73acfd8340044"
- }
- Frame {
- msec: 2320
- hash: "1065e18d2b41af8b0b5c4f5ae2a30d4d"
- }
- Frame {
- msec: 2336
- hash: "37144e92ba8c7edd2ef87ecb6525ed5f"
- }
- Frame {
- msec: 2352
- hash: "d6445d8270ddbf5fcd196b3d71393da4"
- }
- Frame {
- msec: 2368
- hash: "b55cc8bdf97531912fa1df1f379e623c"
- }
- Frame {
- msec: 2384
- hash: "fdb86be92fa17fd4e773e5fd65f249a3"
- }
- Frame {
- msec: 2400
- hash: "b55cc8bdf97531912fa1df1f379e623c"
- }
- Frame {
- msec: 2416
- hash: "eb0de8259f7a6be756102f79b5220f56"
- }
- Frame {
- msec: 2432
- hash: "5afbb87fe77112b86282252a2ffe3821"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.png
deleted file mode 100644
index ae89849bf3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.1.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.1.png
deleted file mode 100644
index 7b7db05640..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.2.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.2.png
deleted file mode 100644
index 7c1442f40e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.3.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.3.png
deleted file mode 100644
index c01c980450..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.4.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.4.png
deleted file mode 100644
index 8806e4c749..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.5.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.5.png
deleted file mode 100644
index b331119bd8..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.6.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.6.png
deleted file mode 100644
index 76e3c6f4d8..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.7.png b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.7.png
deleted file mode 100644
index 141753cd91..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.qml
deleted file mode 100644
index 2cbd27817f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/data/follow.qml
+++ /dev/null
@@ -1,1763 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "follow.0.png"
- }
- Frame {
- msec: 32
- hash: "2ddcb50f5d285eb80a8136f0cf4cf85a"
- }
- Frame {
- msec: 48
- hash: "519d93a844e05f8215139d91c9aef58b"
- }
- Frame {
- msec: 64
- hash: "9f075a5547e4dc67cbe2ace2766395bb"
- }
- Frame {
- msec: 80
- hash: "8fc48f74a51d45b4ea1fb7bd1d48002f"
- }
- Frame {
- msec: 96
- hash: "a28fc4be5a5bb9ff36f796d9b071f02c"
- }
- Frame {
- msec: 112
- hash: "ebc14c2905f3596ec451dd96409e6001"
- }
- Frame {
- msec: 128
- hash: "4f270bdcff44006a56055edb1cda522a"
- }
- Frame {
- msec: 144
- hash: "571f347e764bf38985768c85c2a13ba1"
- }
- Frame {
- msec: 160
- hash: "b1aa23268167b7e2a1190288926f52c0"
- }
- Frame {
- msec: 176
- hash: "06d548aef9a678edbf3ab4d3ce62a647"
- }
- Frame {
- msec: 192
- hash: "daf6af0ae78f39566913c656450a66e5"
- }
- Frame {
- msec: 208
- hash: "f101cd0c026ee0ed6ccef7a4aed302a0"
- }
- Frame {
- msec: 224
- hash: "b3caa673f072c53d31d71109c9b33357"
- }
- Frame {
- msec: 240
- hash: "8596f1d305d6b8f97b9feda9e69bdefe"
- }
- Frame {
- msec: 256
- hash: "23c23df2c130aafb2092fe47a958a4cd"
- }
- Frame {
- msec: 272
- hash: "66a4f2d8213264437a5f4d6cf10cd442"
- }
- Frame {
- msec: 288
- hash: "6392490111813bad0a9467cc0c1746ed"
- }
- Frame {
- msec: 304
- hash: "c115a47e0ecab63b881e2ec492d24e68"
- }
- Frame {
- msec: 320
- hash: "c2a2b57e6f9ea2975c0846124d2dbc66"
- }
- Frame {
- msec: 336
- hash: "8286c315dfda4241607b2de1154f869d"
- }
- Frame {
- msec: 352
- hash: "3f0f7cae80357176892ff7628ec3153a"
- }
- Frame {
- msec: 368
- hash: "d13bde4a5b5ed8202f92ae33913166c9"
- }
- Frame {
- msec: 384
- hash: "b70cc32134b1b0d31a5e7f145af09495"
- }
- Frame {
- msec: 400
- hash: "03ebc2ff317ac840f4508e8701d66955"
- }
- Frame {
- msec: 416
- hash: "8dff08e72365e8e2fee8088c386dedca"
- }
- Frame {
- msec: 432
- hash: "720f3bbaf3fa3e3a064747d5689e47a0"
- }
- Frame {
- msec: 448
- hash: "350e3ebfcfef96969ef5b8d5944f7e62"
- }
- Frame {
- msec: 464
- hash: "1e4e6e68b3a8eac0c5cd039164eec166"
- }
- Frame {
- msec: 480
- hash: "62a10c4250ad025139a3f9e72109e8e1"
- }
- Frame {
- msec: 496
- hash: "23cfd643adfc98f6a06c7e7b15dac954"
- }
- Frame {
- msec: 512
- hash: "3a78930d5b86b886723fad85e77dd075"
- }
- Frame {
- msec: 528
- hash: "64dc878e2f527e80403c766e61fe14a6"
- }
- Frame {
- msec: 544
- hash: "d79160989d2584044042271e79a88e69"
- }
- Frame {
- msec: 560
- hash: "22cbaea4affc88433834c7d0dc1f1644"
- }
- Frame {
- msec: 576
- hash: "77cb616902257e1f239a0e6bfaabb33c"
- }
- Frame {
- msec: 592
- hash: "a2fe73dced03b23c4acb9aae9b774b41"
- }
- Frame {
- msec: 608
- hash: "230e21d3a9ed0e185593677233af1275"
- }
- Frame {
- msec: 624
- hash: "4e10ecffac4e06d624855d3f8917f76c"
- }
- Frame {
- msec: 640
- hash: "84f49d56baace4a02e50d3eafaea04ec"
- }
- Frame {
- msec: 656
- hash: "e3cd0b334551a9f91723eb2c876d335a"
- }
- Frame {
- msec: 672
- hash: "259330f3ec390c9926d9c2ddc2d77319"
- }
- Frame {
- msec: 688
- hash: "cc659623bfa385d282d608684d7cdc2b"
- }
- Frame {
- msec: 704
- hash: "47ed75d077143a6bfa0e10158550c542"
- }
- Frame {
- msec: 720
- hash: "0de93bbd9f9ee63e97968089321003e1"
- }
- Frame {
- msec: 736
- hash: "b33d867d4399879256a01344ce0b81f2"
- }
- Frame {
- msec: 752
- hash: "97c31fce937d11f62bebc6169b464a42"
- }
- Frame {
- msec: 768
- hash: "ea4166b8a4001bca3f27af30f251267f"
- }
- Frame {
- msec: 784
- hash: "b56d270b7893565f8d7ed2a0bfe10d60"
- }
- Frame {
- msec: 800
- hash: "88a42559fe22b45cff379258dd40ced9"
- }
- Frame {
- msec: 816
- hash: "4ee1a711cb8d26087e1b75a3166ca5f0"
- }
- Frame {
- msec: 832
- hash: "9b88a00d041092e79b4a08bccbaca0e1"
- }
- Frame {
- msec: 848
- hash: "afea397b3d740dc42f0313624fc10efd"
- }
- Frame {
- msec: 864
- hash: "39fd8e4cefbd9fed283d62a7aecded22"
- }
- Frame {
- msec: 880
- hash: "916b783d2379ac054c749e7b6eae7ddf"
- }
- Frame {
- msec: 896
- hash: "fccd44740ff7ffb0f2adccf00a7588bd"
- }
- Frame {
- msec: 912
- hash: "c064f20703a13543e8273d251fd645fe"
- }
- Frame {
- msec: 928
- hash: "1b9b0755101841e3d1cbe208d81575d5"
- }
- Frame {
- msec: 944
- hash: "1eb5e4a301b565012bc8f6af8e879eb9"
- }
- Frame {
- msec: 960
- hash: "032db65eb5c405e433f88df3975c322b"
- }
- Frame {
- msec: 976
- image: "follow.1.png"
- }
- Frame {
- msec: 992
- hash: "fdb67e11d7cc767b2389a8bbef752c7e"
- }
- Frame {
- msec: 1008
- hash: "ed89cb161336c61b13e3514fdf816023"
- }
- Frame {
- msec: 1024
- hash: "331b873c5367e0aaa62af85cb54a6a96"
- }
- Frame {
- msec: 1040
- hash: "cde4503f02f0c3732e310a7d0418cd1e"
- }
- Frame {
- msec: 1056
- hash: "f8c028c591fc1495d5bec8763da6f011"
- }
- Frame {
- msec: 1072
- hash: "9dc68483218335afe41aa3cd052a98b5"
- }
- Frame {
- msec: 1088
- hash: "31105c455418a3284700cf9c88571507"
- }
- Frame {
- msec: 1104
- hash: "72724947167a1ac600aaa1d7f331f7ec"
- }
- Frame {
- msec: 1120
- hash: "a4a1243326de6b9e93948fcb22fecac4"
- }
- Frame {
- msec: 1136
- hash: "c3e26e62f12dd658f21a0330fefb0533"
- }
- Frame {
- msec: 1152
- hash: "15d85b4a9ad761a911bbaa3e0c4b2b61"
- }
- Frame {
- msec: 1168
- hash: "bce1400b437cc43b8ff57b1a5fbc9551"
- }
- Frame {
- msec: 1184
- hash: "5d05848afcd8f697c1b3762f00a759f6"
- }
- Frame {
- msec: 1200
- hash: "6c83f68ea72cd54793149f4c9e759d44"
- }
- Frame {
- msec: 1216
- hash: "5206b93666e51cee3e25a7a85e27b5b8"
- }
- Frame {
- msec: 1232
- hash: "a3ef5c76efece4455e5ad12bcc8bd8f5"
- }
- Frame {
- msec: 1248
- hash: "c36c6ee7b6c8074f5dc1af7446fad1ad"
- }
- Frame {
- msec: 1264
- hash: "bb0887f1f10548bb53f0dc1ffeec25ee"
- }
- Frame {
- msec: 1280
- hash: "ebffe547a7c3528e5deddc590510506d"
- }
- Frame {
- msec: 1296
- hash: "18962faef1a1a1207a3c6783116154a2"
- }
- Frame {
- msec: 1312
- hash: "8aaa876e4a6c4de04e557f35ddd4fb61"
- }
- Frame {
- msec: 1328
- hash: "c66123bb4e01ce267629f5b50d147db1"
- }
- Frame {
- msec: 1344
- hash: "334e5acf84d90e70ca3085b9d5e057a7"
- }
- Frame {
- msec: 1360
- hash: "9bb49ddcc775307c3c1159908323e010"
- }
- Frame {
- msec: 1376
- hash: "1b3cfb8b6b6c39a34ea86a66ea1cc6b1"
- }
- Frame {
- msec: 1392
- hash: "d2a68c6eb2b05390ab1049137f96f227"
- }
- Frame {
- msec: 1408
- hash: "91e254fd2376ba35a283b18b947ca1a8"
- }
- Frame {
- msec: 1424
- hash: "fe94e2e8b4978390e9e8cbfe77dfc241"
- }
- Frame {
- msec: 1440
- hash: "e3d32b73c5c50e7aa59f4e4725de170e"
- }
- Frame {
- msec: 1456
- hash: "a73b90254d7da5557cc3941db0017a65"
- }
- Frame {
- msec: 1472
- hash: "9aa49cce5d63f8dd6409995ac6d91d63"
- }
- Frame {
- msec: 1488
- hash: "0ba674df46accec28a3c1b81e656adc7"
- }
- Frame {
- msec: 1504
- hash: "025a45417b8c75d47b5dac6c5ef913e9"
- }
- Frame {
- msec: 1520
- hash: "742527b97c7f580b0b7ff9d6aa105d31"
- }
- Frame {
- msec: 1536
- hash: "965ec8315d45894e704fcc5a3efc8c55"
- }
- Frame {
- msec: 1552
- hash: "6abdd59e6bd2c31124eab254418a5322"
- }
- Frame {
- msec: 1568
- hash: "9f6d06b176c55fa292e7f0ef4b5cd1cb"
- }
- Frame {
- msec: 1584
- hash: "05eba8c6e02c0d4af49e59b3346c9e68"
- }
- Frame {
- msec: 1600
- hash: "3c4215f6253aba836516cd51368bc471"
- }
- Frame {
- msec: 1616
- hash: "c6339a290007c0106cb18ecef5b7392b"
- }
- Frame {
- msec: 1632
- hash: "39a4bcd2ce84035f9db70f196ca00971"
- }
- Frame {
- msec: 1648
- hash: "b75a4be472583c3b893fc894ebe7d4d8"
- }
- Frame {
- msec: 1664
- hash: "d1efebbe748c43b3c1241753612e100d"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 195; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1680
- hash: "f6f3ad64fb71ffb68a5ea0375cc94bae"
- }
- Frame {
- msec: 1696
- hash: "778ecbafb5d235edde1683cabe3c3cfe"
- }
- Frame {
- msec: 1712
- hash: "5a41b9196fe4a97e6ba2400806299bd8"
- }
- Frame {
- msec: 1728
- hash: "1c8ddbc5910e35be389a1cb34fab9dec"
- }
- Frame {
- msec: 1744
- hash: "5e8b236c00087a067d366afde67184f3"
- }
- Frame {
- msec: 1760
- hash: "72fe42361833054cd9388bb98ac9b150"
- }
- Frame {
- msec: 1776
- hash: "bbe9f0b030efa716f34a05f0af929c66"
- }
- Frame {
- msec: 1792
- hash: "cd393fc19a30d896bfe62aa0000308f8"
- }
- Frame {
- msec: 1808
- hash: "c390f5b1bcff54de203490d8f2616fcd"
- }
- Frame {
- msec: 1824
- hash: "b5da2ea467c334dd13c75b811b94efb1"
- }
- Frame {
- msec: 1840
- hash: "49887c9312c3a4dfc2d9719f47c83a15"
- }
- Frame {
- msec: 1856
- hash: "7f077703e49f154d01c12a44f53469c5"
- }
- Frame {
- msec: 1872
- hash: "7be4130ed767f0e0bf41c3bebf050cac"
- }
- Frame {
- msec: 1888
- hash: "cc1590486c172000557b76c6eadb51e0"
- }
- Frame {
- msec: 1904
- hash: "7ccd05236d9c1f8af0e9645404326122"
- }
- Frame {
- msec: 1920
- hash: "2da165bf7e868b53b85bb630649ddc3e"
- }
- Frame {
- msec: 1936
- image: "follow.2.png"
- }
- Frame {
- msec: 1952
- hash: "2b6a24b6ceeaa956527c872af70fb5f9"
- }
- Frame {
- msec: 1968
- hash: "8c882de21f4ed0fb68433c19b114c3f8"
- }
- Frame {
- msec: 1984
- hash: "f75226c58726a687079d0d24e865ee6f"
- }
- Frame {
- msec: 2000
- hash: "2fa9b69fe85b4e1361ba260545c10e06"
- }
- Frame {
- msec: 2016
- hash: "6d513bc03f2798fbce1a0790969da6b5"
- }
- Frame {
- msec: 2032
- hash: "7e359e605483493e9a865f6eb912c394"
- }
- Frame {
- msec: 2048
- hash: "497c7c82c24408dcaff5ec981d3d4f35"
- }
- Frame {
- msec: 2064
- hash: "8738b024cf75ef970ffe20166e85141c"
- }
- Frame {
- msec: 2080
- hash: "014b805eb1ecf2ea1cd61727bfd1ca08"
- }
- Frame {
- msec: 2096
- hash: "a81cde60979300f397054ea017382114"
- }
- Frame {
- msec: 2112
- hash: "c46183b5224e762335eea98d9da65465"
- }
- Frame {
- msec: 2128
- hash: "11afbb88994f298a1fed6575fae3d7fd"
- }
- Frame {
- msec: 2144
- hash: "0195fa503143561d9ae3ffe68739ca3f"
- }
- Frame {
- msec: 2160
- hash: "6d298df37d2116eb9a62b58853cb3344"
- }
- Frame {
- msec: 2176
- hash: "1660865f00ea9adf94c8e56c7a8a73b2"
- }
- Frame {
- msec: 2192
- hash: "9835b5527b84e8e8a8fea2bdf9653a99"
- }
- Frame {
- msec: 2208
- hash: "ec1158b83daa9e98437abc9ce90b70f0"
- }
- Frame {
- msec: 2224
- hash: "11ce5e37747e05ff5f5071b13324ce9e"
- }
- Frame {
- msec: 2240
- hash: "6d7d427d5a15a31fd395f26c94ea455e"
- }
- Frame {
- msec: 2256
- hash: "828949e0fbdb7c79719fb533febb5b35"
- }
- Frame {
- msec: 2272
- hash: "7ef7f73ef6a59c9210cfa37df3894cb1"
- }
- Frame {
- msec: 2288
- hash: "e74bec397b32ba2934ffdde23a3d60c6"
- }
- Frame {
- msec: 2304
- hash: "09c2ca9c22e9b77bc166b4567b29bca7"
- }
- Frame {
- msec: 2320
- hash: "44d87983f33c4e03f4be70b406bb9bd9"
- }
- Frame {
- msec: 2336
- hash: "92844b36c2f30e618f04bfbc5cfbcad6"
- }
- Frame {
- msec: 2352
- hash: "0245f39a8966c4addb3f8dbcee93cd3f"
- }
- Frame {
- msec: 2368
- hash: "eb1e81cfa29295d4b1522c69d4501f51"
- }
- Frame {
- msec: 2384
- hash: "2af9c3bea11b25c0f6c2b780d533a968"
- }
- Frame {
- msec: 2400
- hash: "5062e9ab29c4a7a9657a4d29249ca822"
- }
- Frame {
- msec: 2416
- hash: "d7652ddc85d3be3bb3a2fc268ae9bc29"
- }
- Frame {
- msec: 2432
- hash: "7c924bf2ad6167db439723679b373a3a"
- }
- Frame {
- msec: 2448
- hash: "a93b61dd26a2ca72100b747ac3ed81b6"
- }
- Frame {
- msec: 2464
- hash: "5fedc849d3d21e0acf0ab4a4815a1285"
- }
- Frame {
- msec: 2480
- hash: "4313d2458f4bede8d3b02ac60135e728"
- }
- Frame {
- msec: 2496
- hash: "0f09e81d89262b569c56a9c876f3898d"
- }
- Frame {
- msec: 2512
- hash: "ea932789ded14fc5c8bae565b67d004c"
- }
- Frame {
- msec: 2528
- hash: "fd1f7b9b51f1284fee4d777ef83bba3f"
- }
- Frame {
- msec: 2544
- hash: "e98b884a1ec8ce4b4dc20749b85b571e"
- }
- Frame {
- msec: 2560
- hash: "d144072bb87bb88750b9df9cd92f7a4b"
- }
- Frame {
- msec: 2576
- hash: "9d8ad80d3367292d7e89d67cf49862b8"
- }
- Frame {
- msec: 2592
- hash: "c09b89e71e862da15d2b9edb0e00aa7b"
- }
- Frame {
- msec: 2608
- hash: "551277add3f8f09951d9c8f55ccd40f7"
- }
- Frame {
- msec: 2624
- hash: "1d0be0e7108516869374a9b985fd7543"
- }
- Frame {
- msec: 2640
- hash: "12e7cfb6c4a26af54c4b35182294a7b7"
- }
- Frame {
- msec: 2656
- hash: "a666a5a59d5854973668798eb8d508ba"
- }
- Frame {
- msec: 2672
- hash: "420d2e21461dc45f134b7dfa11d04d25"
- }
- Frame {
- msec: 2688
- hash: "95f848874899fb58a81c62b5921cf857"
- }
- Frame {
- msec: 2704
- hash: "fa3ea7a0f90ca549cc9a857f0647b061"
- }
- Frame {
- msec: 2720
- hash: "cbc5338de6157cd5dad511b246f5093b"
- }
- Frame {
- msec: 2736
- hash: "e26b43c83197abab3746830bbfacc0f4"
- }
- Frame {
- msec: 2752
- hash: "5225e854ff2763e562dee2810331d560"
- }
- Frame {
- msec: 2768
- hash: "a1d114ea67233ac4c6351e18e3afa64e"
- }
- Frame {
- msec: 2784
- hash: "bc9f12af2d0816bb84fd5040ed29bdad"
- }
- Frame {
- msec: 2800
- hash: "d9337da38caa4ad3385249602a830df3"
- }
- Frame {
- msec: 2816
- hash: "6ce20e0c89181b0f11e609b248da71d7"
- }
- Frame {
- msec: 2832
- hash: "bbc8337950a78c7bfa48aab2635120a8"
- }
- Frame {
- msec: 2848
- hash: "0e28ade7f52f3c27e1dbdd6e98be8c7d"
- }
- Frame {
- msec: 2864
- hash: "0e28ade7f52f3c27e1dbdd6e98be8c7d"
- }
- Frame {
- msec: 2880
- hash: "b496af17513d60d4028bd7402fbfba93"
- }
- Frame {
- msec: 2896
- image: "follow.3.png"
- }
- Frame {
- msec: 2912
- hash: "29aa7ce0fb1aa350753d3ec6da05bdf9"
- }
- Frame {
- msec: 2928
- hash: "fde474797d8105d9d004a7020e010fa4"
- }
- Frame {
- msec: 2944
- hash: "5a553d9a4bd2ef5d86f5eb37a863d28f"
- }
- Frame {
- msec: 2960
- hash: "2dcbf6c84abd49529f0b5d85bfb74808"
- }
- Frame {
- msec: 2976
- hash: "e96ec3b7d37bbf4c9ca297ad5afde31c"
- }
- Frame {
- msec: 2992
- hash: "9d824068affe32c143226b0b530206fc"
- }
- Frame {
- msec: 3008
- hash: "3e85f0ace68cffed47f4c9b00145f0f0"
- }
- Frame {
- msec: 3024
- hash: "540b8e1e2bee7d2ba5e29fd3b1086cd1"
- }
- Frame {
- msec: 3040
- hash: "0786585d11934c5e4a7e965eaac9a152"
- }
- Frame {
- msec: 3056
- hash: "8271705df2ca697f4343007a7810d4ac"
- }
- Frame {
- msec: 3072
- hash: "b98e1cd20ab2e4239f35d04df5e5175a"
- }
- Frame {
- msec: 3088
- hash: "ab1a7eaa5c5d919ee76cba405d0dd4cd"
- }
- Frame {
- msec: 3104
- hash: "52682386448379a395dc6c541224b7d4"
- }
- Frame {
- msec: 3120
- hash: "31dffcb9da94dfc085ab8c561404c248"
- }
- Frame {
- msec: 3136
- hash: "f3703eed8ebf9ece776ebe51e4c60ae6"
- }
- Frame {
- msec: 3152
- hash: "1126b90345bb42691cd17f37ecec6bdb"
- }
- Frame {
- msec: 3168
- hash: "7a63ab96d1c8d4992c03a6f59bba4e7e"
- }
- Frame {
- msec: 3184
- hash: "91f4a00c9a7ea6164b334aa4b90da862"
- }
- Frame {
- msec: 3200
- hash: "485471140f6a5336837377612e7a85bf"
- }
- Frame {
- msec: 3216
- hash: "96881b4021aff05020e0a9342fbae75d"
- }
- Frame {
- msec: 3232
- hash: "9891326646c3da4ff250aab69c862f96"
- }
- Frame {
- msec: 3248
- hash: "f00f36bbb5a828824c596ee6f85bec2f"
- }
- Frame {
- msec: 3264
- hash: "f00f36bbb5a828824c596ee6f85bec2f"
- }
- Frame {
- msec: 3280
- hash: "f00f36bbb5a828824c596ee6f85bec2f"
- }
- Frame {
- msec: 3296
- hash: "f00f36bbb5a828824c596ee6f85bec2f"
- }
- Frame {
- msec: 3312
- hash: "9891326646c3da4ff250aab69c862f96"
- }
- Frame {
- msec: 3328
- hash: "c766238db55f4704c2f29a6be6ee6907"
- }
- Frame {
- msec: 3344
- hash: "0254665427dcbd1c155bc954cc7aa7cd"
- }
- Frame {
- msec: 3360
- hash: "33ae1012816b997ef5c61c03ccfcc590"
- }
- Frame {
- msec: 3376
- hash: "4c7857bbbcb9aa812fc2503af2b395cf"
- }
- Frame {
- msec: 3392
- hash: "3a570e4af992d35e55923cea23c3c11b"
- }
- Frame {
- msec: 3408
- hash: "533ef554538005512ce37c73c6def722"
- }
- Frame {
- msec: 3424
- hash: "f863fa215d0642708bfa82780c766dc4"
- }
- Frame {
- msec: 3440
- hash: "fcca3ec34521c4b9087a102ba1e47293"
- }
- Frame {
- msec: 3456
- hash: "47d67cd74cb96b12801842b288a8b9ff"
- }
- Frame {
- msec: 3472
- hash: "34c5ea76f297ec68cba70521caa468e4"
- }
- Frame {
- msec: 3488
- hash: "7be247cc7a4032ff0478fca1a2aace8a"
- }
- Frame {
- msec: 3504
- hash: "3ade2a1a48edef15f522b9fc016e137e"
- }
- Frame {
- msec: 3520
- hash: "8b37b9d123504931d82bb06f6981bade"
- }
- Frame {
- msec: 3536
- hash: "5eb39825003f405f353f629e236b3395"
- }
- Frame {
- msec: 3552
- hash: "c4550722260c4a30ab1176c7e5cb62bf"
- }
- Frame {
- msec: 3568
- hash: "bd33e3ecd4b59cd659588c0298b61095"
- }
- Frame {
- msec: 3584
- hash: "4b3a62bff0019df7412aa2e1c07c0a23"
- }
- Frame {
- msec: 3600
- hash: "a9b98adcc3350febbb89dbf725b81436"
- }
- Frame {
- msec: 3616
- hash: "66eb8c84e75141d1575caf7d3cbc1ceb"
- }
- Frame {
- msec: 3632
- hash: "238f2b1dc5bf5b65e827c860f9ee76b5"
- }
- Frame {
- msec: 3648
- hash: "6d1fed0697370b2a2163c369fe559739"
- }
- Frame {
- msec: 3664
- hash: "04ea478c785586d900bbe3472371bbc7"
- }
- Frame {
- msec: 3680
- hash: "ba429e711c9363eebfb20e641fa44c84"
- }
- Frame {
- msec: 3696
- hash: "0129dfba166ffcbaa15087467c864068"
- }
- Frame {
- msec: 3712
- hash: "3fb340c874eee94e8baa1453b37c3fb5"
- }
- Frame {
- msec: 3728
- hash: "068c51d99c458f3edefe3371f46de260"
- }
- Frame {
- msec: 3744
- hash: "dd1e04ed3d610c2712158d73ee2c5b9d"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 195; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "840154afb9e7e0c859c66667bb6944b6"
- }
- Frame {
- msec: 3776
- hash: "239c2e33800e386b468a95341d0e23f4"
- }
- Frame {
- msec: 3792
- hash: "0a00515f2d297362862c1a5cf6519845"
- }
- Frame {
- msec: 3808
- hash: "f855df3495e44291aed8f085163c804b"
- }
- Frame {
- msec: 3824
- hash: "b4eb31e48c65550bb78d175b48e0e9fb"
- }
- Frame {
- msec: 3840
- hash: "70243664f9db83614e5972fc18ee81a1"
- }
- Frame {
- msec: 3856
- image: "follow.4.png"
- }
- Frame {
- msec: 3872
- hash: "c48ce2a4cf28ab706b9c097bddc74c27"
- }
- Frame {
- msec: 3888
- hash: "754a957e0df02839dd2fe33fefb7a721"
- }
- Frame {
- msec: 3904
- hash: "ec3ebe7b941af9bf2163634d7f15e8aa"
- }
- Frame {
- msec: 3920
- hash: "a76423ff2184cd9dac47abf7ae52ce5a"
- }
- Frame {
- msec: 3936
- hash: "559bec54f51c36c6e90004ca5e77c23c"
- }
- Frame {
- msec: 3952
- hash: "dc6fdd6a867a675afcb58f7052605614"
- }
- Frame {
- msec: 3968
- hash: "b2fb0dbbec01490243f37fe5f80ab6c7"
- }
- Frame {
- msec: 3984
- hash: "2bc1df7a913b1948ee7bb77eeaa55aa2"
- }
- Frame {
- msec: 4000
- hash: "82c6430d85c6a94c4b55a9529d2bc78f"
- }
- Frame {
- msec: 4016
- hash: "463e70dc9a9bdabdc158199bdcd7d2fa"
- }
- Frame {
- msec: 4032
- hash: "c1e9553327f060b70caa713bf3015342"
- }
- Frame {
- msec: 4048
- hash: "42f7f505d4e5ef316240e4f287a039bf"
- }
- Frame {
- msec: 4064
- hash: "200500f600ffe43c5ad4d057bcfc0831"
- }
- Frame {
- msec: 4080
- hash: "22e78edb813f7830776b2603b0aaae5c"
- }
- Frame {
- msec: 4096
- hash: "32ebf3490832fd0693b1b922b4501251"
- }
- Frame {
- msec: 4112
- hash: "1be622caa5ef94f87e2ec8297b6e1caa"
- }
- Frame {
- msec: 4128
- hash: "d1480529e0cb94c51c412109663e5fab"
- }
- Frame {
- msec: 4144
- hash: "e55e627d6d13b647f35233f18f0cbe89"
- }
- Frame {
- msec: 4160
- hash: "87d7b349cd2898de7686e5f1a14f6338"
- }
- Frame {
- msec: 4176
- hash: "2ac974836ee5e6092b55fcda20d7c35d"
- }
- Frame {
- msec: 4192
- hash: "53867256c1dac4de2f02af1ae000b49f"
- }
- Frame {
- msec: 4208
- hash: "08623509e9e5089fdaa1af2bf9a77eb1"
- }
- Frame {
- msec: 4224
- hash: "e4692f42c12593ee865048aef00cbeb2"
- }
- Frame {
- msec: 4240
- hash: "981ad6459e3e7483bb323ab4bc514630"
- }
- Frame {
- msec: 4256
- hash: "79e8adfcdc9d6dae0d2b6a69e8e322fa"
- }
- Frame {
- msec: 4272
- hash: "58f967a607972faa9daa13402eeb9912"
- }
- Frame {
- msec: 4288
- hash: "1fd5b002b049132565b6a963fb7b3bb6"
- }
- Frame {
- msec: 4304
- hash: "a16c96598f47404ec5f4ef55e87a1e70"
- }
- Frame {
- msec: 4320
- hash: "3c632899804812c93c7edd3e3f3d2bac"
- }
- Frame {
- msec: 4336
- hash: "af0eb810e0273f9bacb082d9f90612df"
- }
- Frame {
- msec: 4352
- hash: "728d7ac4a5410482c7d86d03c2d8a996"
- }
- Frame {
- msec: 4368
- hash: "416e76064f2be71a03eddddf61a33cb0"
- }
- Frame {
- msec: 4384
- hash: "c41f20b4ac9a7b34eefd066f77ea351a"
- }
- Frame {
- msec: 4400
- hash: "821d51db415a210b09ebdf8d861aadf2"
- }
- Frame {
- msec: 4416
- hash: "9394266815a52f1779858bb088d557dc"
- }
- Frame {
- msec: 4432
- hash: "cc475d1589665414e5aef051ec237ef4"
- }
- Frame {
- msec: 4448
- hash: "a95f3b8128faa7820f36391fa9bd579f"
- }
- Frame {
- msec: 4464
- hash: "d52687293a11891c364de52525039203"
- }
- Frame {
- msec: 4480
- hash: "5333dc4f65b2f1e066edcd23f7621bd7"
- }
- Frame {
- msec: 4496
- hash: "797bb5e27b2fe2b733a54402433901b4"
- }
- Frame {
- msec: 4512
- hash: "84c610cdff7f8b04a34977216e37847d"
- }
- Frame {
- msec: 4528
- hash: "0317f0406a566b2851c8bda62900e40c"
- }
- Frame {
- msec: 4544
- hash: "6538ecd7abd35234c5cc5c2a17249fc1"
- }
- Frame {
- msec: 4560
- hash: "f9019150a132eb5f5cfafcd5337aff7a"
- }
- Frame {
- msec: 4576
- hash: "0f0136fffbc65c02cee249ece4c8c0ef"
- }
- Frame {
- msec: 4592
- hash: "0027e0d236b8b33a451a0cc35e81b4ce"
- }
- Frame {
- msec: 4608
- hash: "ac2f86b2d4f29f223fb78440d67ccd31"
- }
- Frame {
- msec: 4624
- hash: "a6eb112a10c849e337f816ee408f22a6"
- }
- Frame {
- msec: 4640
- hash: "dafbb01f2615a2513310478ebe484a05"
- }
- Frame {
- msec: 4656
- hash: "17c400c4c29652dc278980ab578b75b3"
- }
- Frame {
- msec: 4672
- hash: "48696c02a2a4839b893a4c0b431b78a3"
- }
- Frame {
- msec: 4688
- hash: "04e05c7e722e53299d24cd0f1b7d17ee"
- }
- Frame {
- msec: 4704
- hash: "55d158f13ffc7ccde5ee368656d2830b"
- }
- Frame {
- msec: 4720
- hash: "fa478e1575acedae023322a520171a5b"
- }
- Frame {
- msec: 4736
- hash: "e2147ddd6e19fde80bb76da24011400c"
- }
- Frame {
- msec: 4752
- hash: "44ee0144db4c55aa90d2a931d83a895e"
- }
- Frame {
- msec: 4768
- hash: "552e87bbce4ad48006c899052a2c8cad"
- }
- Frame {
- msec: 4784
- hash: "3b6efe225303566f751c3f884ac8c069"
- }
- Frame {
- msec: 4800
- hash: "3a7175916d1dc103506061607b910550"
- }
- Frame {
- msec: 4816
- image: "follow.5.png"
- }
- Frame {
- msec: 4832
- hash: "b2e5d5c14b02a13bca62673f87e85627"
- }
- Frame {
- msec: 4848
- hash: "bd89a911d6fb13e4e841f8ee5b8b42af"
- }
- Frame {
- msec: 4864
- hash: "89795784185e83d0299e656f2eec73c8"
- }
- Frame {
- msec: 4880
- hash: "5b6d6fe78f341bdf0eb4bedfe3d975d0"
- }
- Frame {
- msec: 4896
- hash: "e246bc451ee48e16ef6dee20d6256e9c"
- }
- Frame {
- msec: 4912
- hash: "8c1bc37b1b268743aa314247ea949ef5"
- }
- Frame {
- msec: 4928
- hash: "04f34203c34dc87efc708bfb232663df"
- }
- Frame {
- msec: 4944
- hash: "d37a48545e81970d16951e3388f0ff8c"
- }
- Frame {
- msec: 4960
- hash: "9411e846c9f59cc915288efb59d4c9de"
- }
- Frame {
- msec: 4976
- hash: "6ee179741ac74837708afb55943f15bd"
- }
- Frame {
- msec: 4992
- hash: "f626fc3166bd5b01171271ae9bfa9b22"
- }
- Frame {
- msec: 5008
- hash: "e22898b2c0c566bbf531223234f98327"
- }
- Frame {
- msec: 5024
- hash: "1343d90c5eae70713cd49110fe61237b"
- }
- Frame {
- msec: 5040
- hash: "493d9322da6d01979a3f1a120c265f8c"
- }
- Frame {
- msec: 5056
- hash: "defccc76caf3a7c7c67e8abf5ccc2def"
- }
- Frame {
- msec: 5072
- hash: "fe3cad9227fcfa7ba2238465078f2ac7"
- }
- Frame {
- msec: 5088
- hash: "66ebfeee3a63323c7d8b949db9aafd7e"
- }
- Frame {
- msec: 5104
- hash: "805820b382d005894f9a615004b97b0d"
- }
- Frame {
- msec: 5120
- hash: "eee1620f47bb071de8a9c788d1fd258e"
- }
- Frame {
- msec: 5136
- hash: "f5a7d9a81fcfc8cfb9e7cc8ead0f1ff8"
- }
- Frame {
- msec: 5152
- hash: "249903ee123090b27019350f120c8b79"
- }
- Frame {
- msec: 5168
- hash: "019793a363c905809af32bf34ef52ec0"
- }
- Frame {
- msec: 5184
- hash: "4f5ad5a3ebb6eca73dd7567199d07b08"
- }
- Frame {
- msec: 5200
- hash: "fdc1b42d50c7a5c45458498788ff0abd"
- }
- Frame {
- msec: 5216
- hash: "cc091469598cad28d0a00690f1acb412"
- }
- Frame {
- msec: 5232
- hash: "5c8757e1f8f34a31d8b3717b64b84c07"
- }
- Frame {
- msec: 5248
- hash: "5da75559f60eac1b9f518ed55a174e5b"
- }
- Frame {
- msec: 5264
- hash: "1214c08daec4dcfb27690fdc18f2ac28"
- }
- Frame {
- msec: 5280
- hash: "87d92c1ba694d0cf187d8616b0f622f0"
- }
- Frame {
- msec: 5296
- hash: "d4af63638fe69b6c4f087a935351057e"
- }
- Frame {
- msec: 5312
- hash: "0573c41f34c2c117cada987e4ee813a5"
- }
- Frame {
- msec: 5328
- hash: "f179ef4b7bf0f915e25ffd8168a9126f"
- }
- Frame {
- msec: 5344
- hash: "1618bf7c94e7898392eb5ffbf44b8aff"
- }
- Frame {
- msec: 5360
- hash: "5af24b902e3729d544f70c77e189b8a7"
- }
- Frame {
- msec: 5376
- hash: "4e5789404e58113cc2d8aa737a03ab58"
- }
- Frame {
- msec: 5392
- hash: "e4bf91a249e47597e959bbaf25f0724d"
- }
- Frame {
- msec: 5408
- hash: "39a3e3d6269522ed57a0e37319ab94d5"
- }
- Frame {
- msec: 5424
- hash: "f2e2e47922e7e058e14537a0455cd77f"
- }
- Frame {
- msec: 5440
- hash: "64abb3f2c9e05fd1dd7490d11c74f06a"
- }
- Frame {
- msec: 5456
- hash: "a9bf45c29536ca34c42aa916747b485b"
- }
- Frame {
- msec: 5472
- hash: "da21839b6635e5c4e0a589d163e62752"
- }
- Frame {
- msec: 5488
- hash: "f31e49258bcbb2a144daa320e4567df1"
- }
- Frame {
- msec: 5504
- hash: "f96c5b39f94bf2ac1e3f4de96767d720"
- }
- Frame {
- msec: 5520
- hash: "281b90d1056803093cc37f30465f0e73"
- }
- Frame {
- msec: 5536
- hash: "d63a2424e1947328957ad8f5f0bec043"
- }
- Frame {
- msec: 5552
- hash: "bd510a0de7df02b1b5741824b6f90944"
- }
- Frame {
- msec: 5568
- hash: "47dc4e5ff91cb84c89dd0fc0459f75f2"
- }
- Frame {
- msec: 5584
- hash: "4bc46b5e116dd30e1db4d4bb650ed6ed"
- }
- Frame {
- msec: 5600
- hash: "c6964b89f1962f120028057d1c588694"
- }
- Frame {
- msec: 5616
- hash: "39a77544a1c88b68cb63da9a8910a35e"
- }
- Frame {
- msec: 5632
- hash: "bd8ac21d7a507a8e195437ccac254ecc"
- }
- Frame {
- msec: 5648
- hash: "7b39b2667a8f8efae20ec8696e35dbc4"
- }
- Frame {
- msec: 5664
- hash: "7b39b2667a8f8efae20ec8696e35dbc4"
- }
- Frame {
- msec: 5680
- hash: "8628f4f24670d17965fec40a02e0196f"
- }
- Frame {
- msec: 5696
- hash: "515903d9896a853cb18cc7b7c45c1cce"
- }
- Frame {
- msec: 5712
- hash: "b7a3f70bedcb3f90a2e294b447e05f70"
- }
- Frame {
- msec: 5728
- hash: "8e8b104ef82b1e219021aa38276f8b45"
- }
- Frame {
- msec: 5744
- hash: "70abe79da860bebd2d17a8c7abb20b4e"
- }
- Frame {
- msec: 5760
- hash: "d99af176fb6cf9d9cbcf7cf4286a165c"
- }
- Frame {
- msec: 5776
- image: "follow.6.png"
- }
- Frame {
- msec: 5792
- hash: "67809c7daad6716d0a664c52de9906ce"
- }
- Frame {
- msec: 5808
- hash: "29a27fd59b7316ce305803482686ea58"
- }
- Frame {
- msec: 5824
- hash: "25b9ca40d1d6208d026e5c965923f8fb"
- }
- Frame {
- msec: 5840
- hash: "126b1542415aea11dbb35492be4f66aa"
- }
- Frame {
- msec: 5856
- hash: "26ca7034536e0e690236797df740f19a"
- }
- Frame {
- msec: 5872
- hash: "fec9db60af63a4712b0da037cf1d89cd"
- }
- Frame {
- msec: 5888
- hash: "d9b7e2729c75ca0c0f33b542525c4880"
- }
- Frame {
- msec: 5904
- hash: "89149d16b893ea432b6d0fb05ead48cb"
- }
- Frame {
- msec: 5920
- hash: "8e389d2ca706277ce06e1da557e2e6c1"
- }
- Frame {
- msec: 5936
- hash: "fc5c74473410da1ddd451c5901572172"
- }
- Frame {
- msec: 5952
- hash: "54514970eadff9362d31499a737e4c95"
- }
- Frame {
- msec: 5968
- hash: "d5953bc29532ec49c20ee552c8756ba1"
- }
- Frame {
- msec: 5984
- hash: "5f03be3ed5824e6a6f8f371ce6a47997"
- }
- Frame {
- msec: 6000
- hash: "0431e2ec4765167d0099c59df400f3fd"
- }
- Frame {
- msec: 6016
- hash: "0431e2ec4765167d0099c59df400f3fd"
- }
- Frame {
- msec: 6032
- hash: "403e1f235770f2b7c8b1b2e86aea69a5"
- }
- Frame {
- msec: 6048
- hash: "403e1f235770f2b7c8b1b2e86aea69a5"
- }
- Frame {
- msec: 6064
- hash: "32ff9f959598972f5a264418587dca1f"
- }
- Frame {
- msec: 6080
- hash: "b4c7c07e52a684f7ce21e47a4d66356a"
- }
- Frame {
- msec: 6096
- hash: "e0f214bed2c3a31f473952929b8f3ea9"
- }
- Frame {
- msec: 6112
- hash: "15328b8a205965f3f29fc63a6a8ac8ed"
- }
- Frame {
- msec: 6128
- hash: "72c46ed63633e6879373f4783df25d8b"
- }
- Frame {
- msec: 6144
- hash: "ae73e0adbdaacc648c2e97840cef4194"
- }
- Frame {
- msec: 6160
- hash: "df9451c6634d72e6f794e962b3591086"
- }
- Frame {
- msec: 6176
- hash: "773e10bbd133e64457e7ddbc73a10fc2"
- }
- Frame {
- msec: 6192
- hash: "c79abb97eb86761b69053d77156dffd4"
- }
- Frame {
- msec: 6208
- hash: "d927934b19ffd55ea7cea1916983351a"
- }
- Frame {
- msec: 6224
- hash: "ae5058d935c1e44d103be66921b19e77"
- }
- Frame {
- msec: 6240
- hash: "b6a1446b6be054d5785ba52ac23f8aa8"
- }
- Frame {
- msec: 6256
- hash: "3dffbffded44249fdbe58aecd24ab97f"
- }
- Frame {
- msec: 6272
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6288
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6304
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Frame {
- msec: 6320
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Frame {
- msec: 6336
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Frame {
- msec: 6352
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Frame {
- msec: 6368
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Frame {
- msec: 6384
- hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e"
- }
- Frame {
- msec: 6400
- hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e"
- }
- Frame {
- msec: 6416
- hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e"
- }
- Frame {
- msec: 6432
- hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e"
- }
- Frame {
- msec: 6448
- hash: "cb2b0ddbc7b8485fbf32a537e5a98d0e"
- }
- Frame {
- msec: 6464
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6480
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6496
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6512
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6528
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6544
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6560
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6576
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6592
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6608
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6624
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6640
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6656
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6672
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6688
- hash: "fa87436d5e51122022a005d815f97c32"
- }
- Frame {
- msec: 6704
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6720
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6736
- image: "follow.7.png"
- }
- Frame {
- msec: 6752
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6768
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6784
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6800
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6816
- hash: "da52e87ccd157c0330c07e480b8b0c06"
- }
- Frame {
- msec: 6832
- hash: "257ce16f529b99f28beb2e57625f52ee"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6848
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6864
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6880
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6896
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6912
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
- Frame {
- msec: 6928
- hash: "56445ab8554a23a786b70e4fd9f40451"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/follow.qml b/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/follow.qml
deleted file mode 100644
index 0097449cab..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativespringanimation/follow.qml
+++ /dev/null
@@ -1,79 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "#ffffff"
- width: 320; height: 240
-
- Rectangle {
- id: rect
- color: "#00ff00"
- y: 200; width: 60; height: 20
- SequentialAnimation on y {
- loops: Animation.Infinite
- NumberAnimation {
- to: 20; duration: 500
- easing.type: "InOutQuad"
- }
- NumberAnimation {
- to: 200; duration: 2000
- easing.type: "OutBounce"
- }
- PauseAnimation { duration: 1000 }
- }
- }
-
- // Velocity
- Rectangle {
- color: "#ff0000"
- x: rect.width; width: rect.width; height: 20
- y: rect.y
- Behavior on y { SpringAnimation { velocity: 200 } }
- }
-
- // Spring
- Rectangle {
- color: "#ff0000"
- x: rect.width * 2; width: rect.width/2; height: 20
- y: rect.y
- Behavior on y { SpringAnimation { spring: 1.0; damping: 0.2 } }
- }
- Rectangle {
- color: "#880000"
- x: rect.width * 2.5; width: rect.width/2; height: 20
- y: rect.y
- Behavior on y { SpringAnimation { spring: 1.0; damping: 0.2; mass: 3.0 } } // "heavier" object
- }
-
- // Follow mouse
- MouseArea {
- id: mouseRegion
- anchors.fill: parent
- Rectangle {
- id: ball
- property int targetX: mouseRegion.mouseX - 10
- property int targetY: mouseRegion.mouseY - 10
-
- x: targetX
- y: targetY
- width: 20; height: 20
- radius: 10
- color: "#0000ff"
-
- Behavior on x { SpringAnimation { spring: 1.0; damping: 0.05; epsilon: 0.25 } }
- Behavior on y { SpringAnimation { spring: 1.0; damping: 0.05; epsilon: 0.25 } }
-
- states: [
- State {
- name: "following"
- when: ball.x != ball.targetX || ball.y != ball.targetY
- PropertyChanges { target: ball; color: "#ff0000" }
- }
- ]
- transitions: [
- Transition {
- ColorAnimation { duration: 200 }
- }
- ]
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/justify.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/justify.0.png
deleted file mode 100644
index 74c6934c9a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/justify.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/justify.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/justify.qml
deleted file mode 100644
index e4dbeb1bba..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/justify.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "justify.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.png
deleted file mode 100644
index 8b6329d95f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.qml
deleted file mode 100644
index 5485174eb1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-MAC/multilineAlign.qml
+++ /dev/null
@@ -1,247 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "multilineAlign.0.png"
- }
- Frame {
- msec: 32
- hash: "3fc7ab44f913d350f7aef342b958e56d"
- }
- Frame {
- msec: 48
- hash: "3fc7ab44f913d350f7aef342b958e56d"
- }
- Frame {
- msec: 64
- hash: "3fc7ab44f913d350f7aef342b958e56d"
- }
- Frame {
- msec: 80
- hash: "3fc7ab44f913d350f7aef342b958e56d"
- }
- Frame {
- msec: 96
- hash: "3fc7ab44f913d350f7aef342b958e56d"
- }
- Frame {
- msec: 112
- hash: "3fc7ab44f913d350f7aef342b958e56d"
- }
- Frame {
- msec: 128
- hash: "3fc7ab44f913d350f7aef342b958e56d"
- }
- Frame {
- msec: 144
- hash: "3fc7ab44f913d350f7aef342b958e56d"
- }
- Frame {
- msec: 160
- hash: "3fc7ab44f913d350f7aef342b958e56d"
- }
- Frame {
- msec: 176
- hash: "a495a8a95c8aa82ac437c2f2970bd42d"
- }
- Frame {
- msec: 192
- hash: "a495a8a95c8aa82ac437c2f2970bd42d"
- }
- Frame {
- msec: 208
- hash: "a495a8a95c8aa82ac437c2f2970bd42d"
- }
- Frame {
- msec: 224
- hash: "a495a8a95c8aa82ac437c2f2970bd42d"
- }
- Frame {
- msec: 240
- hash: "a495a8a95c8aa82ac437c2f2970bd42d"
- }
- Frame {
- msec: 256
- hash: "a495a8a95c8aa82ac437c2f2970bd42d"
- }
- Frame {
- msec: 272
- hash: "a495a8a95c8aa82ac437c2f2970bd42d"
- }
- Frame {
- msec: 288
- hash: "a495a8a95c8aa82ac437c2f2970bd42d"
- }
- Frame {
- msec: 304
- hash: "a495a8a95c8aa82ac437c2f2970bd42d"
- }
- Frame {
- msec: 320
- hash: "a495a8a95c8aa82ac437c2f2970bd42d"
- }
- Frame {
- msec: 336
- hash: "e2d2a6e60537b9a434d0029ef5ff26dc"
- }
- Frame {
- msec: 352
- hash: "e2d2a6e60537b9a434d0029ef5ff26dc"
- }
- Frame {
- msec: 368
- hash: "e2d2a6e60537b9a434d0029ef5ff26dc"
- }
- Frame {
- msec: 384
- hash: "e2d2a6e60537b9a434d0029ef5ff26dc"
- }
- Frame {
- msec: 400
- hash: "e2d2a6e60537b9a434d0029ef5ff26dc"
- }
- Frame {
- msec: 416
- hash: "e2d2a6e60537b9a434d0029ef5ff26dc"
- }
- Frame {
- msec: 432
- hash: "e2d2a6e60537b9a434d0029ef5ff26dc"
- }
- Frame {
- msec: 448
- hash: "e2d2a6e60537b9a434d0029ef5ff26dc"
- }
- Frame {
- msec: 464
- hash: "e2d2a6e60537b9a434d0029ef5ff26dc"
- }
- Frame {
- msec: 480
- hash: "e2d2a6e60537b9a434d0029ef5ff26dc"
- }
- Frame {
- msec: 496
- hash: "00cba961e67c2124ace75dddb657cd6c"
- }
- Frame {
- msec: 512
- hash: "00cba961e67c2124ace75dddb657cd6c"
- }
- Frame {
- msec: 528
- hash: "00cba961e67c2124ace75dddb657cd6c"
- }
- Frame {
- msec: 544
- hash: "00cba961e67c2124ace75dddb657cd6c"
- }
- Frame {
- msec: 560
- hash: "00cba961e67c2124ace75dddb657cd6c"
- }
- Frame {
- msec: 576
- hash: "00cba961e67c2124ace75dddb657cd6c"
- }
- Frame {
- msec: 592
- hash: "00cba961e67c2124ace75dddb657cd6c"
- }
- Frame {
- msec: 608
- hash: "00cba961e67c2124ace75dddb657cd6c"
- }
- Frame {
- msec: 624
- hash: "00cba961e67c2124ace75dddb657cd6c"
- }
- Frame {
- msec: 640
- hash: "00cba961e67c2124ace75dddb657cd6c"
- }
- Frame {
- msec: 656
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 672
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 688
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 704
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 720
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 736
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 752
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 768
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 784
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 800
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 816
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 832
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 848
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 864
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 880
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 896
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 912
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 928
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 944
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
- Frame {
- msec: 960
- hash: "31d518de83e195def2d957b7d86b98e5"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.png
deleted file mode 100644
index 38f205133e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.qml
deleted file mode 100644
index 75e68591c1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data-X11/multilineAlign.qml
+++ /dev/null
@@ -1,247 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "multilineAlign.0.png"
- }
- Frame {
- msec: 32
- hash: "377fd9e347a2e6e0930d1422ce744c5c"
- }
- Frame {
- msec: 48
- hash: "377fd9e347a2e6e0930d1422ce744c5c"
- }
- Frame {
- msec: 64
- hash: "377fd9e347a2e6e0930d1422ce744c5c"
- }
- Frame {
- msec: 80
- hash: "377fd9e347a2e6e0930d1422ce744c5c"
- }
- Frame {
- msec: 96
- hash: "377fd9e347a2e6e0930d1422ce744c5c"
- }
- Frame {
- msec: 112
- hash: "377fd9e347a2e6e0930d1422ce744c5c"
- }
- Frame {
- msec: 128
- hash: "377fd9e347a2e6e0930d1422ce744c5c"
- }
- Frame {
- msec: 144
- hash: "377fd9e347a2e6e0930d1422ce744c5c"
- }
- Frame {
- msec: 160
- hash: "377fd9e347a2e6e0930d1422ce744c5c"
- }
- Frame {
- msec: 176
- hash: "36106ba13106d262c02c67e82bba1443"
- }
- Frame {
- msec: 192
- hash: "36106ba13106d262c02c67e82bba1443"
- }
- Frame {
- msec: 208
- hash: "36106ba13106d262c02c67e82bba1443"
- }
- Frame {
- msec: 224
- hash: "36106ba13106d262c02c67e82bba1443"
- }
- Frame {
- msec: 240
- hash: "36106ba13106d262c02c67e82bba1443"
- }
- Frame {
- msec: 256
- hash: "36106ba13106d262c02c67e82bba1443"
- }
- Frame {
- msec: 272
- hash: "36106ba13106d262c02c67e82bba1443"
- }
- Frame {
- msec: 288
- hash: "36106ba13106d262c02c67e82bba1443"
- }
- Frame {
- msec: 304
- hash: "36106ba13106d262c02c67e82bba1443"
- }
- Frame {
- msec: 320
- hash: "36106ba13106d262c02c67e82bba1443"
- }
- Frame {
- msec: 336
- hash: "509d31a486ae2f83055b52ec12f33e76"
- }
- Frame {
- msec: 352
- hash: "509d31a486ae2f83055b52ec12f33e76"
- }
- Frame {
- msec: 368
- hash: "509d31a486ae2f83055b52ec12f33e76"
- }
- Frame {
- msec: 384
- hash: "509d31a486ae2f83055b52ec12f33e76"
- }
- Frame {
- msec: 400
- hash: "509d31a486ae2f83055b52ec12f33e76"
- }
- Frame {
- msec: 416
- hash: "509d31a486ae2f83055b52ec12f33e76"
- }
- Frame {
- msec: 432
- hash: "509d31a486ae2f83055b52ec12f33e76"
- }
- Frame {
- msec: 448
- hash: "509d31a486ae2f83055b52ec12f33e76"
- }
- Frame {
- msec: 464
- hash: "509d31a486ae2f83055b52ec12f33e76"
- }
- Frame {
- msec: 480
- hash: "509d31a486ae2f83055b52ec12f33e76"
- }
- Frame {
- msec: 496
- hash: "09b9249750ba637ef659cbc7b9a6055f"
- }
- Frame {
- msec: 512
- hash: "09b9249750ba637ef659cbc7b9a6055f"
- }
- Frame {
- msec: 528
- hash: "09b9249750ba637ef659cbc7b9a6055f"
- }
- Frame {
- msec: 544
- hash: "09b9249750ba637ef659cbc7b9a6055f"
- }
- Frame {
- msec: 560
- hash: "09b9249750ba637ef659cbc7b9a6055f"
- }
- Frame {
- msec: 576
- hash: "09b9249750ba637ef659cbc7b9a6055f"
- }
- Frame {
- msec: 592
- hash: "09b9249750ba637ef659cbc7b9a6055f"
- }
- Frame {
- msec: 608
- hash: "09b9249750ba637ef659cbc7b9a6055f"
- }
- Frame {
- msec: 624
- hash: "09b9249750ba637ef659cbc7b9a6055f"
- }
- Frame {
- msec: 640
- hash: "09b9249750ba637ef659cbc7b9a6055f"
- }
- Frame {
- msec: 656
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 672
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 688
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 704
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 720
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 736
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 752
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 768
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 784
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 800
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 816
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 832
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 848
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 864
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 880
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 896
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 912
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 928
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 944
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
- Frame {
- msec: 960
- hash: "1ac7017fcf7c9775b66ed1fb78930a45"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data/multilineAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data/multilineAlign.0.png
deleted file mode 100644
index e6b2b3cc01..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data/multilineAlign.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data/multilineAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data/multilineAlign.qml
deleted file mode 100644
index 1b43aa36cc..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/data/multilineAlign.qml
+++ /dev/null
@@ -1,247 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "1ec47db85ba34bf1900445a2ab87b5e3"
- }
- Frame {
- msec: 32
- hash: "1ec47db85ba34bf1900445a2ab87b5e3"
- }
- Frame {
- msec: 48
- hash: "1ec47db85ba34bf1900445a2ab87b5e3"
- }
- Frame {
- msec: 64
- hash: "1ec47db85ba34bf1900445a2ab87b5e3"
- }
- Frame {
- msec: 80
- hash: "1ec47db85ba34bf1900445a2ab87b5e3"
- }
- Frame {
- msec: 96
- hash: "1ec47db85ba34bf1900445a2ab87b5e3"
- }
- Frame {
- msec: 112
- hash: "1ec47db85ba34bf1900445a2ab87b5e3"
- }
- Frame {
- msec: 128
- hash: "1ec47db85ba34bf1900445a2ab87b5e3"
- }
- Frame {
- msec: 144
- hash: "1ec47db85ba34bf1900445a2ab87b5e3"
- }
- Frame {
- msec: 160
- hash: "1ec47db85ba34bf1900445a2ab87b5e3"
- }
- Frame {
- msec: 176
- hash: "1fc2a63fa95e277bed60abfdecc7c82f"
- }
- Frame {
- msec: 192
- hash: "1fc2a63fa95e277bed60abfdecc7c82f"
- }
- Frame {
- msec: 208
- hash: "1fc2a63fa95e277bed60abfdecc7c82f"
- }
- Frame {
- msec: 224
- hash: "1fc2a63fa95e277bed60abfdecc7c82f"
- }
- Frame {
- msec: 240
- hash: "1fc2a63fa95e277bed60abfdecc7c82f"
- }
- Frame {
- msec: 256
- hash: "1fc2a63fa95e277bed60abfdecc7c82f"
- }
- Frame {
- msec: 272
- hash: "1fc2a63fa95e277bed60abfdecc7c82f"
- }
- Frame {
- msec: 288
- hash: "1fc2a63fa95e277bed60abfdecc7c82f"
- }
- Frame {
- msec: 304
- hash: "1fc2a63fa95e277bed60abfdecc7c82f"
- }
- Frame {
- msec: 320
- hash: "1fc2a63fa95e277bed60abfdecc7c82f"
- }
- Frame {
- msec: 336
- hash: "3a4e863d83f5d475e0c8c5121905bd87"
- }
- Frame {
- msec: 352
- hash: "3a4e863d83f5d475e0c8c5121905bd87"
- }
- Frame {
- msec: 368
- hash: "3a4e863d83f5d475e0c8c5121905bd87"
- }
- Frame {
- msec: 384
- hash: "3a4e863d83f5d475e0c8c5121905bd87"
- }
- Frame {
- msec: 400
- hash: "3a4e863d83f5d475e0c8c5121905bd87"
- }
- Frame {
- msec: 416
- hash: "3a4e863d83f5d475e0c8c5121905bd87"
- }
- Frame {
- msec: 432
- hash: "3a4e863d83f5d475e0c8c5121905bd87"
- }
- Frame {
- msec: 448
- hash: "3a4e863d83f5d475e0c8c5121905bd87"
- }
- Frame {
- msec: 464
- hash: "3a4e863d83f5d475e0c8c5121905bd87"
- }
- Frame {
- msec: 480
- hash: "3a4e863d83f5d475e0c8c5121905bd87"
- }
- Frame {
- msec: 496
- hash: "8887c8f40667f65a814d74b6edcfb81c"
- }
- Frame {
- msec: 512
- hash: "8887c8f40667f65a814d74b6edcfb81c"
- }
- Frame {
- msec: 528
- hash: "8887c8f40667f65a814d74b6edcfb81c"
- }
- Frame {
- msec: 544
- hash: "8887c8f40667f65a814d74b6edcfb81c"
- }
- Frame {
- msec: 560
- hash: "8887c8f40667f65a814d74b6edcfb81c"
- }
- Frame {
- msec: 576
- hash: "8887c8f40667f65a814d74b6edcfb81c"
- }
- Frame {
- msec: 592
- hash: "8887c8f40667f65a814d74b6edcfb81c"
- }
- Frame {
- msec: 608
- hash: "8887c8f40667f65a814d74b6edcfb81c"
- }
- Frame {
- msec: 624
- hash: "8887c8f40667f65a814d74b6edcfb81c"
- }
- Frame {
- msec: 640
- hash: "8887c8f40667f65a814d74b6edcfb81c"
- }
- Frame {
- msec: 656
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 672
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 688
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 704
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 720
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 736
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 752
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 768
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 784
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 800
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 816
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 832
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 848
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 864
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 880
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 896
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 912
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 928
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 944
- hash: "436000b48f688120d96919227d9e67b4"
- }
- Frame {
- msec: 960
- image: "multilineAlign.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/justify.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/justify.qml
deleted file mode 100644
index c3a7aaaf3c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/justify.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- width: 450
- height: 250
-
- TestText {
- anchors.fill: parent
- anchors { leftMargin: 10; rightMargin: 10; topMargin:10; bottomMargin: 10 }
- wrapMode: Text.Wrap
- horizontalAlignment: Text.AlignJustify
-
- text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin a aliquet massa. Integer id velit a nibh imperdiet sagittis. Cras fringilla enim non nulla porta bibendum. Integer risus urna, hendrerit non interdum ut, dapibus id velit. Nullam fermentum viverra pellentesque. In molestie scelerisque lorem molestie ultrices. Curabitur dolor arcu, tristique in sodales in, varius sed diam. Quisque magna velit, tincidunt sed ullamcorper sit amet, ornare adipiscing ligula. In hac habitasse platea dictumst. Ut tincidunt urna vel mauris fermentum ornare quis a ligula. Suspendisse cursus volutpat sapien eget cursus."
-
- Rectangle {
- anchors.fill: parent
- color: "transparent"
- border.color: "red"
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/multilineAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/align/multilineAlign.qml
deleted file mode 100644
index a427719202..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/align/multilineAlign.qml
+++ /dev/null
@@ -1,25 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-/*Tests both the alignments of multiline text, and that
- it can deal with changing them properly
-*/
-Item{
- width: 100
- height: 80
- property int stage: 0
- onStageChanged: if(stage == 6) Qt.quit();
- TestText{
- text: "I am the very model of a modern major general."
- anchors.fill: parent;
- wrapMode: Text.WordWrap
- horizontalAlignment: (stage<1 ? Text.AlignRight : (stage<3 ? Text.AlignHCenter : Text.AlignLeft))
- verticalAlignment: (stage<2 ? Text.AlignBottom : (stage<4 ? Text.AlignVCenter : Text.AlignTop))
- }
- Timer{
- interval: 160
- running: true
- repeat: true
- onTriggered: stage += 1
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.0.png
deleted file mode 100644
index 1fd0213767..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.qml
deleted file mode 100644
index c5a5a7619a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-MAC/parentanchor.qml
+++ /dev/null
@@ -1,131 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "parentanchor.0.png"
- }
- Frame {
- msec: 32
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 48
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 64
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 80
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 96
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 112
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 128
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 144
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 160
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 176
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 192
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 208
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 224
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 240
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 256
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 272
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 288
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 304
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 320
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 336
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 352
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 368
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 384
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 400
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 416
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 432
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 448
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 464
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 480
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
- Frame {
- msec: 496
- hash: "f45eda9414f7db5ed1f97a8275459abd"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.png
deleted file mode 100644
index d85498b455..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml
deleted file mode 100644
index 4bf06970df..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data-X11/parentanchor.qml
+++ /dev/null
@@ -1,131 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "parentanchor.0.png"
- }
- Frame {
- msec: 32
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 48
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 64
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 80
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 96
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 112
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 128
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 144
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 160
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 176
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 192
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 208
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 224
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 240
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 256
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 272
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 288
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 304
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 320
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 336
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 352
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 368
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 384
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 400
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 416
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 432
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 448
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 464
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 480
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
- Frame {
- msec: 496
- hash: "7e082fa05e000cc20fcda7cb61d98edd"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data/parentanchor.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data/parentanchor.qml
deleted file mode 100644
index 880609b674..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/data/parentanchor.qml
+++ /dev/null
@@ -1,131 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 32
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 48
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 64
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 80
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 96
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 112
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 128
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 144
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 160
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 176
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 192
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 208
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 224
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 240
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 256
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 272
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 288
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 304
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 320
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 336
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 352
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 368
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 384
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 400
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 416
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 432
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 448
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 464
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 480
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
- Frame {
- msec: 496
- hash: "3e022a120a2dbe688d53657508de36cf"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/parentanchor.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/parentanchor.qml
deleted file mode 100644
index 618a65f063..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/baseline/parentanchor.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- id: s; width: 600; height: 100;
- property string text: "The quick brown fox jumps over the lazy dog."
- TestText {
- text: s.text
- anchors.verticalCenter: s.verticalCenter
- }
- TestText {
- text: s.text
- anchors.baseline: s.verticalCenter
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/QTBUG-14469.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/QTBUG-14469.qml
deleted file mode 100644
index aca7c2dd66..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/QTBUG-14469.qml
+++ /dev/null
@@ -1,23 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-/* The bug was that if text was set to "" or the size didn't increase, the text didn't repaint
- ended up only repainting for 1, 10, 11, 12.
- Test passes if it goes from "" to 13 back to "" with all numbers being painted (and the text disappearing at 0)
- */
-
-Item{
- width: 80
- height: 80
- property int val: 0
- Text{
- id: txt;
- text: val == 0 ? "" : val
- }
- Timer{
- interval: 100
- running: true
- repeat: true;
- onTriggered: {val = (val + 1) % 14;}
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.0.png
deleted file mode 100644
index 4d6bf55f73..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.1.png
deleted file mode 100644
index a75da16eeb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.qml
deleted file mode 100644
index 002e1c8d77..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-MAC/QTBUG-14469.qml
+++ /dev/null
@@ -1,475 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "QTBUG-14469.0.png"
- }
- Frame {
- msec: 32
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 48
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 64
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 80
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 96
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 112
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 128
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 144
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 160
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 176
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 192
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 208
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 224
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 240
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 256
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 272
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 288
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 304
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 320
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 336
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 352
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 368
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 384
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 400
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 416
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
- Frame {
- msec: 432
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
- Frame {
- msec: 448
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
- Frame {
- msec: 464
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
- Frame {
- msec: 480
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
- Frame {
- msec: 496
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
- Frame {
- msec: 512
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
- Frame {
- msec: 528
- hash: "067dfe70eca44e2157b723858897c90e"
- }
- Frame {
- msec: 544
- hash: "067dfe70eca44e2157b723858897c90e"
- }
- Frame {
- msec: 560
- hash: "067dfe70eca44e2157b723858897c90e"
- }
- Frame {
- msec: 576
- hash: "067dfe70eca44e2157b723858897c90e"
- }
- Frame {
- msec: 592
- hash: "067dfe70eca44e2157b723858897c90e"
- }
- Frame {
- msec: 608
- hash: "067dfe70eca44e2157b723858897c90e"
- }
- Frame {
- msec: 624
- hash: "b1ac0015f173bf5789daa5d45d04dadd"
- }
- Frame {
- msec: 640
- hash: "b1ac0015f173bf5789daa5d45d04dadd"
- }
- Frame {
- msec: 656
- hash: "b1ac0015f173bf5789daa5d45d04dadd"
- }
- Frame {
- msec: 672
- hash: "b1ac0015f173bf5789daa5d45d04dadd"
- }
- Frame {
- msec: 688
- hash: "b1ac0015f173bf5789daa5d45d04dadd"
- }
- Frame {
- msec: 704
- hash: "b1ac0015f173bf5789daa5d45d04dadd"
- }
- Frame {
- msec: 720
- hash: "431cb09ccdcfab7c3ff7d498aa1f0816"
- }
- Frame {
- msec: 736
- hash: "431cb09ccdcfab7c3ff7d498aa1f0816"
- }
- Frame {
- msec: 752
- hash: "431cb09ccdcfab7c3ff7d498aa1f0816"
- }
- Frame {
- msec: 768
- hash: "431cb09ccdcfab7c3ff7d498aa1f0816"
- }
- Frame {
- msec: 784
- hash: "431cb09ccdcfab7c3ff7d498aa1f0816"
- }
- Frame {
- msec: 800
- hash: "431cb09ccdcfab7c3ff7d498aa1f0816"
- }
- Frame {
- msec: 816
- hash: "533b23f29fe5f9dc85a6ca390c6dd023"
- }
- Frame {
- msec: 832
- hash: "533b23f29fe5f9dc85a6ca390c6dd023"
- }
- Frame {
- msec: 848
- hash: "533b23f29fe5f9dc85a6ca390c6dd023"
- }
- Frame {
- msec: 864
- hash: "533b23f29fe5f9dc85a6ca390c6dd023"
- }
- Frame {
- msec: 880
- hash: "533b23f29fe5f9dc85a6ca390c6dd023"
- }
- Frame {
- msec: 896
- hash: "533b23f29fe5f9dc85a6ca390c6dd023"
- }
- Frame {
- msec: 912
- hash: "533b23f29fe5f9dc85a6ca390c6dd023"
- }
- Frame {
- msec: 928
- hash: "cd397908009ddf16ec3101efb0d7468e"
- }
- Frame {
- msec: 944
- hash: "cd397908009ddf16ec3101efb0d7468e"
- }
- Frame {
- msec: 960
- hash: "cd397908009ddf16ec3101efb0d7468e"
- }
- Frame {
- msec: 976
- image: "QTBUG-14469.1.png"
- }
- Frame {
- msec: 992
- hash: "cd397908009ddf16ec3101efb0d7468e"
- }
- Frame {
- msec: 1008
- hash: "cd397908009ddf16ec3101efb0d7468e"
- }
- Frame {
- msec: 1024
- hash: "a1eebf1a97314851b5154802f05abe8d"
- }
- Frame {
- msec: 1040
- hash: "a1eebf1a97314851b5154802f05abe8d"
- }
- Frame {
- msec: 1056
- hash: "a1eebf1a97314851b5154802f05abe8d"
- }
- Frame {
- msec: 1072
- hash: "a1eebf1a97314851b5154802f05abe8d"
- }
- Frame {
- msec: 1088
- hash: "a1eebf1a97314851b5154802f05abe8d"
- }
- Frame {
- msec: 1104
- hash: "a1eebf1a97314851b5154802f05abe8d"
- }
- Frame {
- msec: 1120
- hash: "71d91d85b9c555eb9b39dac79b35dd46"
- }
- Frame {
- msec: 1136
- hash: "71d91d85b9c555eb9b39dac79b35dd46"
- }
- Frame {
- msec: 1152
- hash: "71d91d85b9c555eb9b39dac79b35dd46"
- }
- Frame {
- msec: 1168
- hash: "71d91d85b9c555eb9b39dac79b35dd46"
- }
- Frame {
- msec: 1184
- hash: "71d91d85b9c555eb9b39dac79b35dd46"
- }
- Frame {
- msec: 1200
- hash: "71d91d85b9c555eb9b39dac79b35dd46"
- }
- Frame {
- msec: 1216
- hash: "b1da2d1f4aad2a197a80788607bd867d"
- }
- Frame {
- msec: 1232
- hash: "b1da2d1f4aad2a197a80788607bd867d"
- }
- Frame {
- msec: 1248
- hash: "b1da2d1f4aad2a197a80788607bd867d"
- }
- Frame {
- msec: 1264
- hash: "b1da2d1f4aad2a197a80788607bd867d"
- }
- Frame {
- msec: 1280
- hash: "b1da2d1f4aad2a197a80788607bd867d"
- }
- Frame {
- msec: 1296
- hash: "b1da2d1f4aad2a197a80788607bd867d"
- }
- Frame {
- msec: 1312
- hash: "b1da2d1f4aad2a197a80788607bd867d"
- }
- Frame {
- msec: 1328
- hash: "df14e9cfeba3850bae7cad111fdbc8df"
- }
- Frame {
- msec: 1344
- hash: "df14e9cfeba3850bae7cad111fdbc8df"
- }
- Frame {
- msec: 1360
- hash: "df14e9cfeba3850bae7cad111fdbc8df"
- }
- Frame {
- msec: 1376
- hash: "df14e9cfeba3850bae7cad111fdbc8df"
- }
- Frame {
- msec: 1392
- hash: "df14e9cfeba3850bae7cad111fdbc8df"
- }
- Frame {
- msec: 1408
- hash: "df14e9cfeba3850bae7cad111fdbc8df"
- }
- Frame {
- msec: 1424
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1440
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1456
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1472
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1488
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1504
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1520
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 1536
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 1552
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 1568
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 1584
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 1600
- hash: "cf74324c2a0c8f45c728d42390aac1e0"
- }
- Frame {
- msec: 1616
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 1632
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 1648
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 1664
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 1680
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 1696
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 1712
- hash: "07c938ac9ff9f591e84fc553291c7c49"
- }
- Frame {
- msec: 1728
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 1744
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 1760
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 1776
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 1792
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 1808
- hash: "7b585eb6226e6ce2de355f9730dba377"
- }
- Frame {
- msec: 1824
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
- Frame {
- msec: 1840
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
- Frame {
- msec: 1856
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
- Frame {
- msec: 1872
- hash: "a7817a7d902ab2fe2875183feb6513dd"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.0.png
deleted file mode 100644
index ee3c7447c0..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.qml
deleted file mode 100644
index b770836301..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data-X11/QTBUG-14469.qml
+++ /dev/null
@@ -1,475 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "QTBUG-14469.0.png"
- }
- Frame {
- msec: 32
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 48
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 64
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 80
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 96
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 112
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 128
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 144
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 160
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 176
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 192
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 208
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 224
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 240
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 256
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 272
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 288
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 304
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 320
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 336
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 352
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 368
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 384
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 400
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 416
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
- Frame {
- msec: 432
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
- Frame {
- msec: 448
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
- Frame {
- msec: 464
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
- Frame {
- msec: 480
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
- Frame {
- msec: 496
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
- Frame {
- msec: 512
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
- Frame {
- msec: 528
- hash: "75f26b0bbb2663bcadcedce260ef848a"
- }
- Frame {
- msec: 544
- hash: "75f26b0bbb2663bcadcedce260ef848a"
- }
- Frame {
- msec: 560
- hash: "75f26b0bbb2663bcadcedce260ef848a"
- }
- Frame {
- msec: 576
- hash: "75f26b0bbb2663bcadcedce260ef848a"
- }
- Frame {
- msec: 592
- hash: "75f26b0bbb2663bcadcedce260ef848a"
- }
- Frame {
- msec: 608
- hash: "75f26b0bbb2663bcadcedce260ef848a"
- }
- Frame {
- msec: 624
- hash: "6a8c8c0b7727e5e3063d93de59c7f0a2"
- }
- Frame {
- msec: 640
- hash: "6a8c8c0b7727e5e3063d93de59c7f0a2"
- }
- Frame {
- msec: 656
- hash: "6a8c8c0b7727e5e3063d93de59c7f0a2"
- }
- Frame {
- msec: 672
- hash: "6a8c8c0b7727e5e3063d93de59c7f0a2"
- }
- Frame {
- msec: 688
- hash: "6a8c8c0b7727e5e3063d93de59c7f0a2"
- }
- Frame {
- msec: 704
- hash: "6a8c8c0b7727e5e3063d93de59c7f0a2"
- }
- Frame {
- msec: 720
- hash: "d5bb5dd464f38af1790e0109033eb8ad"
- }
- Frame {
- msec: 736
- hash: "d5bb5dd464f38af1790e0109033eb8ad"
- }
- Frame {
- msec: 752
- hash: "d5bb5dd464f38af1790e0109033eb8ad"
- }
- Frame {
- msec: 768
- hash: "d5bb5dd464f38af1790e0109033eb8ad"
- }
- Frame {
- msec: 784
- hash: "d5bb5dd464f38af1790e0109033eb8ad"
- }
- Frame {
- msec: 800
- hash: "d5bb5dd464f38af1790e0109033eb8ad"
- }
- Frame {
- msec: 816
- hash: "8535be394c177dbdcb0435e35680e776"
- }
- Frame {
- msec: 832
- hash: "8535be394c177dbdcb0435e35680e776"
- }
- Frame {
- msec: 848
- hash: "8535be394c177dbdcb0435e35680e776"
- }
- Frame {
- msec: 864
- hash: "8535be394c177dbdcb0435e35680e776"
- }
- Frame {
- msec: 880
- hash: "8535be394c177dbdcb0435e35680e776"
- }
- Frame {
- msec: 896
- hash: "8535be394c177dbdcb0435e35680e776"
- }
- Frame {
- msec: 912
- hash: "8535be394c177dbdcb0435e35680e776"
- }
- Frame {
- msec: 928
- hash: "0ec4eba50495b474faf3feca4be64f7b"
- }
- Frame {
- msec: 944
- hash: "0ec4eba50495b474faf3feca4be64f7b"
- }
- Frame {
- msec: 960
- hash: "0ec4eba50495b474faf3feca4be64f7b"
- }
- Frame {
- msec: 976
- image: "QTBUG-14469.1.png"
- }
- Frame {
- msec: 992
- hash: "0ec4eba50495b474faf3feca4be64f7b"
- }
- Frame {
- msec: 1008
- hash: "0ec4eba50495b474faf3feca4be64f7b"
- }
- Frame {
- msec: 1024
- hash: "43993c686f4c10e91177297d8bb6eae9"
- }
- Frame {
- msec: 1040
- hash: "43993c686f4c10e91177297d8bb6eae9"
- }
- Frame {
- msec: 1056
- hash: "43993c686f4c10e91177297d8bb6eae9"
- }
- Frame {
- msec: 1072
- hash: "43993c686f4c10e91177297d8bb6eae9"
- }
- Frame {
- msec: 1088
- hash: "43993c686f4c10e91177297d8bb6eae9"
- }
- Frame {
- msec: 1104
- hash: "43993c686f4c10e91177297d8bb6eae9"
- }
- Frame {
- msec: 1120
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1136
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1152
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1168
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1184
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1200
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1216
- hash: "5f18ee7410e2d0b4d739abcec1b14bb4"
- }
- Frame {
- msec: 1232
- hash: "5f18ee7410e2d0b4d739abcec1b14bb4"
- }
- Frame {
- msec: 1248
- hash: "5f18ee7410e2d0b4d739abcec1b14bb4"
- }
- Frame {
- msec: 1264
- hash: "5f18ee7410e2d0b4d739abcec1b14bb4"
- }
- Frame {
- msec: 1280
- hash: "5f18ee7410e2d0b4d739abcec1b14bb4"
- }
- Frame {
- msec: 1296
- hash: "5f18ee7410e2d0b4d739abcec1b14bb4"
- }
- Frame {
- msec: 1312
- hash: "5f18ee7410e2d0b4d739abcec1b14bb4"
- }
- Frame {
- msec: 1328
- hash: "34ebe59f64ebc72fc2bf22af4118ec1f"
- }
- Frame {
- msec: 1344
- hash: "34ebe59f64ebc72fc2bf22af4118ec1f"
- }
- Frame {
- msec: 1360
- hash: "34ebe59f64ebc72fc2bf22af4118ec1f"
- }
- Frame {
- msec: 1376
- hash: "34ebe59f64ebc72fc2bf22af4118ec1f"
- }
- Frame {
- msec: 1392
- hash: "34ebe59f64ebc72fc2bf22af4118ec1f"
- }
- Frame {
- msec: 1408
- hash: "34ebe59f64ebc72fc2bf22af4118ec1f"
- }
- Frame {
- msec: 1424
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1440
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1456
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1472
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1488
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1504
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1520
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1536
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1552
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1568
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1584
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1600
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1616
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 1632
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 1648
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 1664
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 1680
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 1696
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 1712
- hash: "834338b693368e154163f806f49d5ba3"
- }
- Frame {
- msec: 1728
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 1744
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 1760
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 1776
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 1792
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 1808
- hash: "4b79bd737312a5aa026b73c07bfd840c"
- }
- Frame {
- msec: 1824
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
- Frame {
- msec: 1840
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
- Frame {
- msec: 1856
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
- Frame {
- msec: 1872
- hash: "daa67aed3e94e9e8823e8bed04aee960"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data/QTBUG-14469.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data/QTBUG-14469.0.png
deleted file mode 100644
index b8cc1c70be..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data/QTBUG-14469.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data/QTBUG-14469.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data/QTBUG-14469.qml
deleted file mode 100644
index 6201c72fc0..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/bugs/data/QTBUG-14469.qml
+++ /dev/null
@@ -1,475 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 32
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 48
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 64
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 80
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 96
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 112
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 128
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 144
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 160
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 176
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 192
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 208
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 224
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 240
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 256
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 272
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 288
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 304
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 320
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 336
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 352
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 368
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 384
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 400
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 416
- hash: "799c7a637b061686c1456c9c535594d3"
- }
- Frame {
- msec: 432
- hash: "799c7a637b061686c1456c9c535594d3"
- }
- Frame {
- msec: 448
- hash: "799c7a637b061686c1456c9c535594d3"
- }
- Frame {
- msec: 464
- hash: "799c7a637b061686c1456c9c535594d3"
- }
- Frame {
- msec: 480
- hash: "799c7a637b061686c1456c9c535594d3"
- }
- Frame {
- msec: 496
- hash: "799c7a637b061686c1456c9c535594d3"
- }
- Frame {
- msec: 512
- hash: "799c7a637b061686c1456c9c535594d3"
- }
- Frame {
- msec: 528
- hash: "51cd7a5bc24cdb50832066cc04cae313"
- }
- Frame {
- msec: 544
- hash: "51cd7a5bc24cdb50832066cc04cae313"
- }
- Frame {
- msec: 560
- hash: "51cd7a5bc24cdb50832066cc04cae313"
- }
- Frame {
- msec: 576
- hash: "51cd7a5bc24cdb50832066cc04cae313"
- }
- Frame {
- msec: 592
- hash: "51cd7a5bc24cdb50832066cc04cae313"
- }
- Frame {
- msec: 608
- hash: "51cd7a5bc24cdb50832066cc04cae313"
- }
- Frame {
- msec: 624
- hash: "bac094de06155c73e4d2d9e2fd99b038"
- }
- Frame {
- msec: 640
- hash: "bac094de06155c73e4d2d9e2fd99b038"
- }
- Frame {
- msec: 656
- hash: "bac094de06155c73e4d2d9e2fd99b038"
- }
- Frame {
- msec: 672
- hash: "bac094de06155c73e4d2d9e2fd99b038"
- }
- Frame {
- msec: 688
- hash: "bac094de06155c73e4d2d9e2fd99b038"
- }
- Frame {
- msec: 704
- hash: "bac094de06155c73e4d2d9e2fd99b038"
- }
- Frame {
- msec: 720
- hash: "3159c438d2cb58e31b4b458ba417f794"
- }
- Frame {
- msec: 736
- hash: "3159c438d2cb58e31b4b458ba417f794"
- }
- Frame {
- msec: 752
- hash: "3159c438d2cb58e31b4b458ba417f794"
- }
- Frame {
- msec: 768
- hash: "3159c438d2cb58e31b4b458ba417f794"
- }
- Frame {
- msec: 784
- hash: "3159c438d2cb58e31b4b458ba417f794"
- }
- Frame {
- msec: 800
- hash: "3159c438d2cb58e31b4b458ba417f794"
- }
- Frame {
- msec: 816
- hash: "a4f9c320c8aa558c66dd25d132bb5834"
- }
- Frame {
- msec: 832
- hash: "a4f9c320c8aa558c66dd25d132bb5834"
- }
- Frame {
- msec: 848
- hash: "a4f9c320c8aa558c66dd25d132bb5834"
- }
- Frame {
- msec: 864
- hash: "a4f9c320c8aa558c66dd25d132bb5834"
- }
- Frame {
- msec: 880
- hash: "a4f9c320c8aa558c66dd25d132bb5834"
- }
- Frame {
- msec: 896
- hash: "a4f9c320c8aa558c66dd25d132bb5834"
- }
- Frame {
- msec: 912
- hash: "a4f9c320c8aa558c66dd25d132bb5834"
- }
- Frame {
- msec: 928
- hash: "b1a283365bbffbc0ddaa4aa661e52add"
- }
- Frame {
- msec: 944
- hash: "b1a283365bbffbc0ddaa4aa661e52add"
- }
- Frame {
- msec: 960
- image: "QTBUG-14469.0.png"
- }
- Frame {
- msec: 976
- hash: "b1a283365bbffbc0ddaa4aa661e52add"
- }
- Frame {
- msec: 992
- hash: "b1a283365bbffbc0ddaa4aa661e52add"
- }
- Frame {
- msec: 1008
- hash: "b1a283365bbffbc0ddaa4aa661e52add"
- }
- Frame {
- msec: 1024
- hash: "57ba00590bed6fe1b0f8fc3e54b9637e"
- }
- Frame {
- msec: 1040
- hash: "57ba00590bed6fe1b0f8fc3e54b9637e"
- }
- Frame {
- msec: 1056
- hash: "57ba00590bed6fe1b0f8fc3e54b9637e"
- }
- Frame {
- msec: 1072
- hash: "57ba00590bed6fe1b0f8fc3e54b9637e"
- }
- Frame {
- msec: 1088
- hash: "57ba00590bed6fe1b0f8fc3e54b9637e"
- }
- Frame {
- msec: 1104
- hash: "57ba00590bed6fe1b0f8fc3e54b9637e"
- }
- Frame {
- msec: 1120
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1136
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1152
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1168
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1184
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1200
- hash: "e1b070e2bf36e5d8a34cabc0d52b2830"
- }
- Frame {
- msec: 1216
- hash: "bc81044e90cc001fc351a1518ba4b41e"
- }
- Frame {
- msec: 1232
- hash: "bc81044e90cc001fc351a1518ba4b41e"
- }
- Frame {
- msec: 1248
- hash: "bc81044e90cc001fc351a1518ba4b41e"
- }
- Frame {
- msec: 1264
- hash: "bc81044e90cc001fc351a1518ba4b41e"
- }
- Frame {
- msec: 1280
- hash: "bc81044e90cc001fc351a1518ba4b41e"
- }
- Frame {
- msec: 1296
- hash: "bc81044e90cc001fc351a1518ba4b41e"
- }
- Frame {
- msec: 1312
- hash: "bc81044e90cc001fc351a1518ba4b41e"
- }
- Frame {
- msec: 1328
- hash: "18386b56e44b1f3981b3aa8fe980410b"
- }
- Frame {
- msec: 1344
- hash: "18386b56e44b1f3981b3aa8fe980410b"
- }
- Frame {
- msec: 1360
- hash: "18386b56e44b1f3981b3aa8fe980410b"
- }
- Frame {
- msec: 1376
- hash: "18386b56e44b1f3981b3aa8fe980410b"
- }
- Frame {
- msec: 1392
- hash: "18386b56e44b1f3981b3aa8fe980410b"
- }
- Frame {
- msec: 1408
- hash: "18386b56e44b1f3981b3aa8fe980410b"
- }
- Frame {
- msec: 1424
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1440
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1456
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1472
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1488
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1504
- hash: "fab978e1e0ee5140d8131320ff2322e9"
- }
- Frame {
- msec: 1520
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1536
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1552
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1568
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1584
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1600
- hash: "6971eb49a32b8f9e09c24ac1340728cb"
- }
- Frame {
- msec: 1616
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 1632
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 1648
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 1664
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 1680
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 1696
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 1712
- hash: "449c6b632a3b85462fe3947a071ffa91"
- }
- Frame {
- msec: 1728
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 1744
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 1760
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 1776
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 1792
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 1808
- hash: "9c804e5eec3b31acd55a510d301cc419"
- }
- Frame {
- msec: 1824
- hash: "799c7a637b061686c1456c9c535594d3"
- }
- Frame {
- msec: 1840
- hash: "799c7a637b061686c1456c9c535594d3"
- }
- Frame {
- msec: 1856
- hash: "799c7a637b061686c1456c9c535594d3"
- }
- Frame {
- msec: 1872
- hash: "799c7a637b061686c1456c9c535594d3"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.png
deleted file mode 100644
index 75478566ad..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.png
deleted file mode 100644
index 84430bb7ac..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.qml
deleted file mode 100644
index d6d8c2aa6f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-MAC/qtbug_14865.qml
+++ /dev/null
@@ -1,447 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "qtbug_14865.0.png"
- }
- Frame {
- msec: 32
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 48
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 64
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 80
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 96
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 112
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 128
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 144
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 160
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 176
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 192
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 208
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 224
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 240
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 256
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 272
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 288
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 304
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 320
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 336
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 352
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 368
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 384
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 400
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 416
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 432
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 448
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 464
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 480
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 496
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 512
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 528
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 544
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 560
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 576
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 592
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 608
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 624
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 640
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 656
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 672
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 688
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 704
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 720
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 736
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 752
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 768
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 784
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 800
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 816
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 832
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 848
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 864
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 880
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 896
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 912
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 928
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 944
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 960
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 976
- image: "qtbug_14865.1.png"
- }
- Frame {
- msec: 992
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 1008
- hash: "212d34fa7425fe24398c9de6d4f10422"
- }
- Frame {
- msec: 1024
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1040
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1056
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1072
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1088
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1104
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1120
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1136
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1152
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1168
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1184
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1200
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1216
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1232
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1248
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1264
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1280
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1296
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1312
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1328
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1344
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1360
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1376
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1392
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1408
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1424
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1440
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1456
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1472
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1488
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1504
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1520
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1536
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1552
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1568
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1584
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1600
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1616
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1632
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1648
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1664
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1680
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1696
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1712
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1728
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1744
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
- Frame {
- msec: 1760
- hash: "3ccd3d26158a50d8f0567bafd7a23e06"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.0.png
deleted file mode 100644
index 026d06c34a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.1.png
deleted file mode 100644
index 026d06c34a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.qml
deleted file mode 100644
index 481c9aa0cf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/data-X11/qtbug_14865.qml
+++ /dev/null
@@ -1,447 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "qtbug_14865.0.png"
- }
- Frame {
- msec: 32
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 48
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 64
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 80
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 96
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 112
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 128
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 144
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 160
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 176
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 192
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 208
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 224
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 240
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 256
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 272
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 288
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 304
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 320
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 336
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 352
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 368
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 384
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 400
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 416
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 432
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 448
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 464
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 480
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 496
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 512
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 528
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 544
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 560
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 576
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 592
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 608
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 624
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 640
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 656
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 672
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 688
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 704
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 720
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 736
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 752
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 768
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 784
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 800
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 816
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 832
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 848
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 864
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 880
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 896
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 912
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 928
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 944
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 960
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 976
- image: "qtbug_14865.1.png"
- }
- Frame {
- msec: 992
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 1008
- hash: "bd09363ea401e07a38d216bf29806592"
- }
- Frame {
- msec: 1024
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1040
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1056
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1072
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1088
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1104
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1120
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1136
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1152
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1168
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1184
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1200
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1216
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1232
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1248
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1264
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1280
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1296
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1312
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1328
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1344
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1360
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1376
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1392
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1408
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1424
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1440
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1456
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1472
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1488
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1504
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1520
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1536
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1552
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1568
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1584
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1600
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1616
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1632
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1648
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1664
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1680
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1696
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1712
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1728
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1744
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
- Frame {
- msec: 1760
- hash: "a3e4ab9c6151c9acb4c9dd41c9c2c596"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data/qtbug_14865.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/data/qtbug_14865.0.png
deleted file mode 100644
index a4bae3a20a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/data/qtbug_14865.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/data/qtbug_14865.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/data/qtbug_14865.qml
deleted file mode 100644
index a470a66dd4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/data/qtbug_14865.qml
+++ /dev/null
@@ -1,447 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 32
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 48
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 64
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 80
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 96
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 112
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 128
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 144
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 160
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 176
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 192
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 208
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 224
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 240
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 256
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 272
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 288
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 304
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 320
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 336
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 352
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 368
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 384
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 400
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 416
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 432
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 448
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 464
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 480
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 496
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 512
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 528
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 544
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 560
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 576
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 592
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 608
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 624
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 640
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 656
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 672
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 688
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 704
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 720
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 736
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 752
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 768
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 784
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 800
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 816
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 832
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 848
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 864
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 880
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 896
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 912
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 928
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 944
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 960
- image: "qtbug_14865.0.png"
- }
- Frame {
- msec: 976
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 992
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 1008
- hash: "fd4d35de0a95388dd92ffbb82fbe0e8a"
- }
- Frame {
- msec: 1024
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1040
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1056
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1072
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1088
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1104
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1120
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1136
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1152
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1168
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1184
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1200
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1216
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1232
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1248
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1264
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1280
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1296
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1312
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1328
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1344
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1360
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1376
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1392
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1408
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1424
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1440
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1456
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1472
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1488
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1504
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1520
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1536
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1552
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1568
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1584
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1600
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1616
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1632
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1648
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1664
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1680
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1696
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1712
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1728
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1744
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
- Frame {
- msec: 1760
- hash: "eee4600ac08b458ac7ac2320e225674c"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png
deleted file mode 100644
index 749a9c5eeb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.1.png
deleted file mode 100644
index 749a9c5eeb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml
deleted file mode 100644
index fbb542e3ac..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide.qml
+++ /dev/null
@@ -1,279 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "elide.0.png"
- }
- Frame {
- msec: 32
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 48
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 64
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 80
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 96
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 112
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 128
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 144
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 160
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 176
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 192
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 208
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 224
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 240
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 256
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 272
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 288
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 304
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 320
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 336
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 352
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 368
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 384
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 400
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 416
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 432
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 448
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 464
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 480
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 496
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 512
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 528
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 544
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 560
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 576
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 592
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 608
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 624
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 640
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 656
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 672
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 688
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 704
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 720
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 736
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 752
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 768
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 784
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 800
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 816
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 832
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 848
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 864
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 880
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 896
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 912
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 928
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 944
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 960
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 976
- image: "elide.1.png"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 992
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 1008
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 1024
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 1040
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
- Frame {
- msec: 1056
- hash: "4d49ec1a14a321ea9c0d506663df55c2"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png
deleted file mode 100644
index b84b8a9116..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png
deleted file mode 100644
index dbae0ce295..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png
deleted file mode 100644
index bf56c80fcb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png
deleted file mode 100644
index c4f6e1804b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.4.png
deleted file mode 100644
index ea86925f36..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml
deleted file mode 100644
index e780ea65c2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/elide2.qml
+++ /dev/null
@@ -1,991 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "elide2.0.png"
- }
- Frame {
- msec: 32
- hash: "1c45bbf4494aeb017d7ad53c5e29cbc0"
- }
- Frame {
- msec: 48
- hash: "1c45bbf4494aeb017d7ad53c5e29cbc0"
- }
- Frame {
- msec: 64
- hash: "1c45bbf4494aeb017d7ad53c5e29cbc0"
- }
- Frame {
- msec: 80
- hash: "1c45bbf4494aeb017d7ad53c5e29cbc0"
- }
- Frame {
- msec: 96
- hash: "1c45bbf4494aeb017d7ad53c5e29cbc0"
- }
- Frame {
- msec: 112
- hash: "452d8e4da326413e4961f20a0d24d0f0"
- }
- Frame {
- msec: 128
- hash: "452d8e4da326413e4961f20a0d24d0f0"
- }
- Frame {
- msec: 144
- hash: "452d8e4da326413e4961f20a0d24d0f0"
- }
- Frame {
- msec: 160
- hash: "452d8e4da326413e4961f20a0d24d0f0"
- }
- Frame {
- msec: 176
- hash: "452d8e4da326413e4961f20a0d24d0f0"
- }
- Frame {
- msec: 192
- hash: "8dc43f316fd36a877c773c10c23b5703"
- }
- Frame {
- msec: 208
- hash: "8dc43f316fd36a877c773c10c23b5703"
- }
- Frame {
- msec: 224
- hash: "8dc43f316fd36a877c773c10c23b5703"
- }
- Frame {
- msec: 240
- hash: "8dc43f316fd36a877c773c10c23b5703"
- }
- Frame {
- msec: 256
- hash: "b7e055ce8d510c5ec66e71fa5a78fddf"
- }
- Frame {
- msec: 272
- hash: "b7e055ce8d510c5ec66e71fa5a78fddf"
- }
- Frame {
- msec: 288
- hash: "b7e055ce8d510c5ec66e71fa5a78fddf"
- }
- Frame {
- msec: 304
- hash: "b7e055ce8d510c5ec66e71fa5a78fddf"
- }
- Frame {
- msec: 320
- hash: "e9b0abe5719027348cd267eb4823fc5f"
- }
- Frame {
- msec: 336
- hash: "e9b0abe5719027348cd267eb4823fc5f"
- }
- Frame {
- msec: 352
- hash: "e9b0abe5719027348cd267eb4823fc5f"
- }
- Frame {
- msec: 368
- hash: "e9b0abe5719027348cd267eb4823fc5f"
- }
- Frame {
- msec: 384
- hash: "e9b0abe5719027348cd267eb4823fc5f"
- }
- Frame {
- msec: 400
- hash: "441102f2f69e9f4e10335c1746d47bd3"
- }
- Frame {
- msec: 416
- hash: "441102f2f69e9f4e10335c1746d47bd3"
- }
- Frame {
- msec: 432
- hash: "441102f2f69e9f4e10335c1746d47bd3"
- }
- Frame {
- msec: 448
- hash: "441102f2f69e9f4e10335c1746d47bd3"
- }
- Frame {
- msec: 464
- hash: "441102f2f69e9f4e10335c1746d47bd3"
- }
- Frame {
- msec: 480
- hash: "95668288170720989adde2a0b41d5ee8"
- }
- Frame {
- msec: 496
- hash: "95668288170720989adde2a0b41d5ee8"
- }
- Frame {
- msec: 512
- hash: "95668288170720989adde2a0b41d5ee8"
- }
- Frame {
- msec: 528
- hash: "95668288170720989adde2a0b41d5ee8"
- }
- Frame {
- msec: 544
- hash: "16bba6b72993e474b4c302af3f682834"
- }
- Frame {
- msec: 560
- hash: "16bba6b72993e474b4c302af3f682834"
- }
- Frame {
- msec: 576
- hash: "16bba6b72993e474b4c302af3f682834"
- }
- Frame {
- msec: 592
- hash: "16bba6b72993e474b4c302af3f682834"
- }
- Frame {
- msec: 608
- hash: "86c4d8bd1b19116411b6a6e450547425"
- }
- Frame {
- msec: 624
- hash: "86c4d8bd1b19116411b6a6e450547425"
- }
- Frame {
- msec: 640
- hash: "86c4d8bd1b19116411b6a6e450547425"
- }
- Frame {
- msec: 656
- hash: "86c4d8bd1b19116411b6a6e450547425"
- }
- Frame {
- msec: 672
- hash: "86c4d8bd1b19116411b6a6e450547425"
- }
- Frame {
- msec: 688
- hash: "d0d3cfa922ebca20c590ab7e59985268"
- }
- Frame {
- msec: 704
- hash: "d0d3cfa922ebca20c590ab7e59985268"
- }
- Frame {
- msec: 720
- hash: "d0d3cfa922ebca20c590ab7e59985268"
- }
- Frame {
- msec: 736
- hash: "d0d3cfa922ebca20c590ab7e59985268"
- }
- Frame {
- msec: 752
- hash: "d0d3cfa922ebca20c590ab7e59985268"
- }
- Frame {
- msec: 768
- hash: "397d72a090171090f897283729b19bc8"
- }
- Frame {
- msec: 784
- hash: "397d72a090171090f897283729b19bc8"
- }
- Frame {
- msec: 800
- hash: "397d72a090171090f897283729b19bc8"
- }
- Frame {
- msec: 816
- hash: "397d72a090171090f897283729b19bc8"
- }
- Frame {
- msec: 832
- hash: "2b038e59289d2e3cef02245d2d128271"
- }
- Frame {
- msec: 848
- hash: "2b038e59289d2e3cef02245d2d128271"
- }
- Frame {
- msec: 864
- hash: "2b038e59289d2e3cef02245d2d128271"
- }
- Frame {
- msec: 880
- hash: "2b038e59289d2e3cef02245d2d128271"
- }
- Frame {
- msec: 896
- hash: "2b038e59289d2e3cef02245d2d128271"
- }
- Frame {
- msec: 912
- hash: "5f64aa763acdd8f5d6cc249be36e226a"
- }
- Frame {
- msec: 928
- hash: "5f64aa763acdd8f5d6cc249be36e226a"
- }
- Frame {
- msec: 944
- hash: "5f64aa763acdd8f5d6cc249be36e226a"
- }
- Frame {
- msec: 960
- hash: "5f64aa763acdd8f5d6cc249be36e226a"
- }
- Frame {
- msec: 976
- image: "elide2.1.png"
- }
- Frame {
- msec: 992
- hash: "4f8c81adc72fce17c7e54f4d45ec08e4"
- }
- Frame {
- msec: 1008
- hash: "4f8c81adc72fce17c7e54f4d45ec08e4"
- }
- Frame {
- msec: 1024
- hash: "4f8c81adc72fce17c7e54f4d45ec08e4"
- }
- Frame {
- msec: 1040
- hash: "91a7a0c0f686975d0087ee0e066911eb"
- }
- Frame {
- msec: 1056
- hash: "91a7a0c0f686975d0087ee0e066911eb"
- }
- Frame {
- msec: 1072
- hash: "91a7a0c0f686975d0087ee0e066911eb"
- }
- Frame {
- msec: 1088
- hash: "91a7a0c0f686975d0087ee0e066911eb"
- }
- Frame {
- msec: 1104
- hash: "91a7a0c0f686975d0087ee0e066911eb"
- }
- Frame {
- msec: 1120
- hash: "b19f6b8b4dc9d2a2d9aba82983e41889"
- }
- Frame {
- msec: 1136
- hash: "b19f6b8b4dc9d2a2d9aba82983e41889"
- }
- Frame {
- msec: 1152
- hash: "b19f6b8b4dc9d2a2d9aba82983e41889"
- }
- Frame {
- msec: 1168
- hash: "b19f6b8b4dc9d2a2d9aba82983e41889"
- }
- Frame {
- msec: 1184
- hash: "b19f6b8b4dc9d2a2d9aba82983e41889"
- }
- Frame {
- msec: 1200
- hash: "456542b672303ddae500b96e9b66a558"
- }
- Frame {
- msec: 1216
- hash: "456542b672303ddae500b96e9b66a558"
- }
- Frame {
- msec: 1232
- hash: "456542b672303ddae500b96e9b66a558"
- }
- Frame {
- msec: 1248
- hash: "456542b672303ddae500b96e9b66a558"
- }
- Frame {
- msec: 1264
- hash: "8ec69f05d929c3b397dc721198ccacd4"
- }
- Frame {
- msec: 1280
- hash: "8ec69f05d929c3b397dc721198ccacd4"
- }
- Frame {
- msec: 1296
- hash: "8ec69f05d929c3b397dc721198ccacd4"
- }
- Frame {
- msec: 1312
- hash: "8ec69f05d929c3b397dc721198ccacd4"
- }
- Frame {
- msec: 1328
- hash: "2d63fd91f4b01f6b178c795838e78990"
- }
- Frame {
- msec: 1344
- hash: "2d63fd91f4b01f6b178c795838e78990"
- }
- Frame {
- msec: 1360
- hash: "2d63fd91f4b01f6b178c795838e78990"
- }
- Frame {
- msec: 1376
- hash: "2d63fd91f4b01f6b178c795838e78990"
- }
- Frame {
- msec: 1392
- hash: "2d63fd91f4b01f6b178c795838e78990"
- }
- Frame {
- msec: 1408
- hash: "c7c1d2c288653b414fe534ff6fab3381"
- }
- Frame {
- msec: 1424
- hash: "c7c1d2c288653b414fe534ff6fab3381"
- }
- Frame {
- msec: 1440
- hash: "c7c1d2c288653b414fe534ff6fab3381"
- }
- Frame {
- msec: 1456
- hash: "c7c1d2c288653b414fe534ff6fab3381"
- }
- Frame {
- msec: 1472
- hash: "c7c1d2c288653b414fe534ff6fab3381"
- }
- Frame {
- msec: 1488
- hash: "23188e926a855a7a06211783ee51d22a"
- }
- Frame {
- msec: 1504
- hash: "23188e926a855a7a06211783ee51d22a"
- }
- Frame {
- msec: 1520
- hash: "23188e926a855a7a06211783ee51d22a"
- }
- Frame {
- msec: 1536
- hash: "23188e926a855a7a06211783ee51d22a"
- }
- Frame {
- msec: 1552
- hash: "cfc64d8876d59e0d75f079c2e08cea5f"
- }
- Frame {
- msec: 1568
- hash: "cfc64d8876d59e0d75f079c2e08cea5f"
- }
- Frame {
- msec: 1584
- hash: "cfc64d8876d59e0d75f079c2e08cea5f"
- }
- Frame {
- msec: 1600
- hash: "cfc64d8876d59e0d75f079c2e08cea5f"
- }
- Frame {
- msec: 1616
- hash: "cfc64d8876d59e0d75f079c2e08cea5f"
- }
- Frame {
- msec: 1632
- hash: "766c679eaec4bd28dc92cb3642d5be83"
- }
- Frame {
- msec: 1648
- hash: "766c679eaec4bd28dc92cb3642d5be83"
- }
- Frame {
- msec: 1664
- hash: "766c679eaec4bd28dc92cb3642d5be83"
- }
- Frame {
- msec: 1680
- hash: "766c679eaec4bd28dc92cb3642d5be83"
- }
- Frame {
- msec: 1696
- hash: "a86ba05a854fde208e6cf7849327d5d0"
- }
- Frame {
- msec: 1712
- hash: "a86ba05a854fde208e6cf7849327d5d0"
- }
- Frame {
- msec: 1728
- hash: "a86ba05a854fde208e6cf7849327d5d0"
- }
- Frame {
- msec: 1744
- hash: "a86ba05a854fde208e6cf7849327d5d0"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1760
- hash: "a86ba05a854fde208e6cf7849327d5d0"
- }
- Frame {
- msec: 1776
- hash: "23b60817be2a741cada2af663b0d7f54"
- }
- Frame {
- msec: 1792
- hash: "23b60817be2a741cada2af663b0d7f54"
- }
- Frame {
- msec: 1808
- hash: "23b60817be2a741cada2af663b0d7f54"
- }
- Frame {
- msec: 1824
- hash: "23b60817be2a741cada2af663b0d7f54"
- }
- Frame {
- msec: 1840
- hash: "c098c1c0d5239c59735a5c9450e9d531"
- }
- Frame {
- msec: 1856
- hash: "c098c1c0d5239c59735a5c9450e9d531"
- }
- Frame {
- msec: 1872
- hash: "c098c1c0d5239c59735a5c9450e9d531"
- }
- Frame {
- msec: 1888
- hash: "c098c1c0d5239c59735a5c9450e9d531"
- }
- Frame {
- msec: 1904
- hash: "c098c1c0d5239c59735a5c9450e9d531"
- }
- Frame {
- msec: 1920
- hash: "09f6ee218d314d3a405ae43e32588c07"
- }
- Frame {
- msec: 1936
- image: "elide2.2.png"
- }
- Frame {
- msec: 1952
- hash: "09f6ee218d314d3a405ae43e32588c07"
- }
- Frame {
- msec: 1968
- hash: "09f6ee218d314d3a405ae43e32588c07"
- }
- Frame {
- msec: 1984
- hash: "6ee480e7d8b0abe295ae12a660119102"
- }
- Frame {
- msec: 2000
- hash: "6ee480e7d8b0abe295ae12a660119102"
- }
- Frame {
- msec: 2016
- hash: "6ee480e7d8b0abe295ae12a660119102"
- }
- Frame {
- msec: 2032
- hash: "6ee480e7d8b0abe295ae12a660119102"
- }
- Frame {
- msec: 2048
- hash: "6ee480e7d8b0abe295ae12a660119102"
- }
- Frame {
- msec: 2064
- hash: "b43ca0ea75f4c17c09248f78170d3839"
- }
- Frame {
- msec: 2080
- hash: "b43ca0ea75f4c17c09248f78170d3839"
- }
- Frame {
- msec: 2096
- hash: "b43ca0ea75f4c17c09248f78170d3839"
- }
- Frame {
- msec: 2112
- hash: "b43ca0ea75f4c17c09248f78170d3839"
- }
- Frame {
- msec: 2128
- hash: "92e0ee1174ffcb710403bb831aeec353"
- }
- Frame {
- msec: 2144
- hash: "92e0ee1174ffcb710403bb831aeec353"
- }
- Frame {
- msec: 2160
- hash: "92e0ee1174ffcb710403bb831aeec353"
- }
- Frame {
- msec: 2176
- hash: "92e0ee1174ffcb710403bb831aeec353"
- }
- Frame {
- msec: 2192
- hash: "92e0ee1174ffcb710403bb831aeec353"
- }
- Frame {
- msec: 2208
- hash: "bba79ad6f3630b7aa382541cc2d3a2cd"
- }
- Frame {
- msec: 2224
- hash: "bba79ad6f3630b7aa382541cc2d3a2cd"
- }
- Frame {
- msec: 2240
- hash: "bba79ad6f3630b7aa382541cc2d3a2cd"
- }
- Frame {
- msec: 2256
- hash: "bba79ad6f3630b7aa382541cc2d3a2cd"
- }
- Frame {
- msec: 2272
- hash: "7efeb1565125f25252ce3f03dadc3bea"
- }
- Frame {
- msec: 2288
- hash: "7efeb1565125f25252ce3f03dadc3bea"
- }
- Frame {
- msec: 2304
- hash: "7efeb1565125f25252ce3f03dadc3bea"
- }
- Frame {
- msec: 2320
- hash: "7efeb1565125f25252ce3f03dadc3bea"
- }
- Frame {
- msec: 2336
- hash: "7efeb1565125f25252ce3f03dadc3bea"
- }
- Frame {
- msec: 2352
- hash: "9086d24dff90f8c9e4543c6b14c99bf6"
- }
- Frame {
- msec: 2368
- hash: "9086d24dff90f8c9e4543c6b14c99bf6"
- }
- Frame {
- msec: 2384
- hash: "9086d24dff90f8c9e4543c6b14c99bf6"
- }
- Frame {
- msec: 2400
- hash: "9086d24dff90f8c9e4543c6b14c99bf6"
- }
- Frame {
- msec: 2416
- hash: "9086d24dff90f8c9e4543c6b14c99bf6"
- }
- Frame {
- msec: 2432
- hash: "15d8e99a0676e0a1588dfddc00ab0d16"
- }
- Frame {
- msec: 2448
- hash: "15d8e99a0676e0a1588dfddc00ab0d16"
- }
- Frame {
- msec: 2464
- hash: "15d8e99a0676e0a1588dfddc00ab0d16"
- }
- Frame {
- msec: 2480
- hash: "15d8e99a0676e0a1588dfddc00ab0d16"
- }
- Frame {
- msec: 2496
- hash: "ecc25b88c29dc9d6c70df6e36a91f95c"
- }
- Frame {
- msec: 2512
- hash: "ecc25b88c29dc9d6c70df6e36a91f95c"
- }
- Frame {
- msec: 2528
- hash: "ecc25b88c29dc9d6c70df6e36a91f95c"
- }
- Frame {
- msec: 2544
- hash: "ecc25b88c29dc9d6c70df6e36a91f95c"
- }
- Frame {
- msec: 2560
- hash: "905c81686d8d2ecdde513622c35c0ea6"
- }
- Frame {
- msec: 2576
- hash: "905c81686d8d2ecdde513622c35c0ea6"
- }
- Frame {
- msec: 2592
- hash: "905c81686d8d2ecdde513622c35c0ea6"
- }
- Frame {
- msec: 2608
- hash: "905c81686d8d2ecdde513622c35c0ea6"
- }
- Frame {
- msec: 2624
- hash: "905c81686d8d2ecdde513622c35c0ea6"
- }
- Frame {
- msec: 2640
- hash: "537a2cf41a5e15220d2ca2218ac49a5a"
- }
- Frame {
- msec: 2656
- hash: "537a2cf41a5e15220d2ca2218ac49a5a"
- }
- Frame {
- msec: 2672
- hash: "537a2cf41a5e15220d2ca2218ac49a5a"
- }
- Frame {
- msec: 2688
- hash: "537a2cf41a5e15220d2ca2218ac49a5a"
- }
- Frame {
- msec: 2704
- hash: "53325ce7d011eeb72369463721f15e87"
- }
- Frame {
- msec: 2720
- hash: "53325ce7d011eeb72369463721f15e87"
- }
- Frame {
- msec: 2736
- hash: "53325ce7d011eeb72369463721f15e87"
- }
- Frame {
- msec: 2752
- hash: "53325ce7d011eeb72369463721f15e87"
- }
- Frame {
- msec: 2768
- hash: "53325ce7d011eeb72369463721f15e87"
- }
- Frame {
- msec: 2784
- hash: "9ad2565cc95647a83d3ce3acc106485a"
- }
- Frame {
- msec: 2800
- hash: "9ad2565cc95647a83d3ce3acc106485a"
- }
- Frame {
- msec: 2816
- hash: "9ad2565cc95647a83d3ce3acc106485a"
- }
- Frame {
- msec: 2832
- hash: "9ad2565cc95647a83d3ce3acc106485a"
- }
- Frame {
- msec: 2848
- hash: "de7b66581e0743385a984f76c993b01b"
- }
- Frame {
- msec: 2864
- hash: "de7b66581e0743385a984f76c993b01b"
- }
- Frame {
- msec: 2880
- hash: "de7b66581e0743385a984f76c993b01b"
- }
- Frame {
- msec: 2896
- image: "elide2.3.png"
- }
- Frame {
- msec: 2912
- hash: "de7b66581e0743385a984f76c993b01b"
- }
- Frame {
- msec: 2928
- hash: "f66852df1738e4fe29ac1f6938d814c2"
- }
- Frame {
- msec: 2944
- hash: "f66852df1738e4fe29ac1f6938d814c2"
- }
- Frame {
- msec: 2960
- hash: "f66852df1738e4fe29ac1f6938d814c2"
- }
- Frame {
- msec: 2976
- hash: "f66852df1738e4fe29ac1f6938d814c2"
- }
- Frame {
- msec: 2992
- hash: "cf6dde6c590879a9e905a0f559f089ca"
- }
- Frame {
- msec: 3008
- hash: "cf6dde6c590879a9e905a0f559f089ca"
- }
- Frame {
- msec: 3024
- hash: "cf6dde6c590879a9e905a0f559f089ca"
- }
- Frame {
- msec: 3040
- hash: "cf6dde6c590879a9e905a0f559f089ca"
- }
- Frame {
- msec: 3056
- hash: "cf6dde6c590879a9e905a0f559f089ca"
- }
- Frame {
- msec: 3072
- hash: "bd63e4df280010ed9f67fc7976b86cb5"
- }
- Frame {
- msec: 3088
- hash: "bd63e4df280010ed9f67fc7976b86cb5"
- }
- Frame {
- msec: 3104
- hash: "bd63e4df280010ed9f67fc7976b86cb5"
- }
- Frame {
- msec: 3120
- hash: "bd63e4df280010ed9f67fc7976b86cb5"
- }
- Frame {
- msec: 3136
- hash: "bd63e4df280010ed9f67fc7976b86cb5"
- }
- Frame {
- msec: 3152
- hash: "065d3d370faa58aed9899cae0f86f032"
- }
- Frame {
- msec: 3168
- hash: "065d3d370faa58aed9899cae0f86f032"
- }
- Frame {
- msec: 3184
- hash: "065d3d370faa58aed9899cae0f86f032"
- }
- Frame {
- msec: 3200
- hash: "065d3d370faa58aed9899cae0f86f032"
- }
- Frame {
- msec: 3216
- hash: "b5623d05c578a6f09bcfacd4d3163b09"
- }
- Frame {
- msec: 3232
- hash: "b5623d05c578a6f09bcfacd4d3163b09"
- }
- Frame {
- msec: 3248
- hash: "b5623d05c578a6f09bcfacd4d3163b09"
- }
- Frame {
- msec: 3264
- hash: "b5623d05c578a6f09bcfacd4d3163b09"
- }
- Frame {
- msec: 3280
- hash: "83c70529d05911ea26a5cbbab5aa20f2"
- }
- Frame {
- msec: 3296
- hash: "83c70529d05911ea26a5cbbab5aa20f2"
- }
- Frame {
- msec: 3312
- hash: "83c70529d05911ea26a5cbbab5aa20f2"
- }
- Frame {
- msec: 3328
- hash: "83c70529d05911ea26a5cbbab5aa20f2"
- }
- Frame {
- msec: 3344
- hash: "83c70529d05911ea26a5cbbab5aa20f2"
- }
- Frame {
- msec: 3360
- hash: "17927c706da1bc222ba5462af66a9d2f"
- }
- Frame {
- msec: 3376
- hash: "17927c706da1bc222ba5462af66a9d2f"
- }
- Frame {
- msec: 3392
- hash: "17927c706da1bc222ba5462af66a9d2f"
- }
- Frame {
- msec: 3408
- hash: "17927c706da1bc222ba5462af66a9d2f"
- }
- Frame {
- msec: 3424
- hash: "17927c706da1bc222ba5462af66a9d2f"
- }
- Frame {
- msec: 3440
- hash: "f49627ba8d3e257e0e94404da24d12dc"
- }
- Frame {
- msec: 3456
- hash: "f49627ba8d3e257e0e94404da24d12dc"
- }
- Frame {
- msec: 3472
- hash: "f49627ba8d3e257e0e94404da24d12dc"
- }
- Frame {
- msec: 3488
- hash: "f49627ba8d3e257e0e94404da24d12dc"
- }
- Frame {
- msec: 3504
- hash: "37a0c9dc20431c8398409d4522a0fdd3"
- }
- Frame {
- msec: 3520
- hash: "37a0c9dc20431c8398409d4522a0fdd3"
- }
- Frame {
- msec: 3536
- hash: "37a0c9dc20431c8398409d4522a0fdd3"
- }
- Frame {
- msec: 3552
- hash: "37a0c9dc20431c8398409d4522a0fdd3"
- }
- Frame {
- msec: 3568
- hash: "67bebfe9fb5ac745f40040ff8083e999"
- }
- Frame {
- msec: 3584
- hash: "67bebfe9fb5ac745f40040ff8083e999"
- }
- Frame {
- msec: 3600
- hash: "67bebfe9fb5ac745f40040ff8083e999"
- }
- Frame {
- msec: 3616
- hash: "67bebfe9fb5ac745f40040ff8083e999"
- }
- Frame {
- msec: 3632
- hash: "67bebfe9fb5ac745f40040ff8083e999"
- }
- Frame {
- msec: 3648
- hash: "84f8b27b83b566c99e65ea39b29772c1"
- }
- Frame {
- msec: 3664
- hash: "84f8b27b83b566c99e65ea39b29772c1"
- }
- Frame {
- msec: 3680
- hash: "84f8b27b83b566c99e65ea39b29772c1"
- }
- Frame {
- msec: 3696
- hash: "84f8b27b83b566c99e65ea39b29772c1"
- }
- Frame {
- msec: 3712
- hash: "84f8b27b83b566c99e65ea39b29772c1"
- }
- Frame {
- msec: 3728
- hash: "c6ba663536f19b9f291ef35b7a70e490"
- }
- Frame {
- msec: 3744
- hash: "c6ba663536f19b9f291ef35b7a70e490"
- }
- Frame {
- msec: 3760
- hash: "c6ba663536f19b9f291ef35b7a70e490"
- }
- Frame {
- msec: 3776
- hash: "c6ba663536f19b9f291ef35b7a70e490"
- }
- Frame {
- msec: 3792
- hash: "65f22784730aa27b2628d015a1cc4abe"
- }
- Frame {
- msec: 3808
- hash: "65f22784730aa27b2628d015a1cc4abe"
- }
- Frame {
- msec: 3824
- hash: "65f22784730aa27b2628d015a1cc4abe"
- }
- Frame {
- msec: 3840
- hash: "65f22784730aa27b2628d015a1cc4abe"
- }
- Frame {
- msec: 3856
- image: "elide2.4.png"
- }
- Frame {
- msec: 3872
- hash: "b11a511d80de87329501b9c11aebbc58"
- }
- Frame {
- msec: 3888
- hash: "b11a511d80de87329501b9c11aebbc58"
- }
- Frame {
- msec: 3904
- hash: "b11a511d80de87329501b9c11aebbc58"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png
deleted file mode 100644
index 3861b4f288..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.1.png
deleted file mode 100644
index ce166f1912..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml
deleted file mode 100644
index 84778ac3dd..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-MAC/multilength.qml
+++ /dev/null
@@ -1,303 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "multilength.0.png"
- }
- Frame {
- msec: 32
- hash: "58d757783e6d57c5ac2596219dfd37be"
- }
- Frame {
- msec: 48
- hash: "e76b3b98f447b706c59ba0c175e1829d"
- }
- Frame {
- msec: 64
- hash: "f0dbb0b55d1d27bf7c0260db5b5782a2"
- }
- Frame {
- msec: 80
- hash: "00845517336befd7ead0141312ea38ce"
- }
- Frame {
- msec: 96
- hash: "99723ae092407e5291ed3a13f5a7be61"
- }
- Frame {
- msec: 112
- hash: "2d531f1dd1545a4e2f8ca4c65338e0c3"
- }
- Frame {
- msec: 128
- hash: "9f273323f48a70be279302b194203a36"
- }
- Frame {
- msec: 144
- hash: "7de4bd5f82369953c2a4a990ddaf4339"
- }
- Frame {
- msec: 160
- hash: "96c5f74c01723a15a57db161604bc245"
- }
- Frame {
- msec: 176
- hash: "df2eac6300919044cfe2a2f591c3bd99"
- }
- Frame {
- msec: 192
- hash: "a153904cdfa0be697a25bebc4ce1fbca"
- }
- Frame {
- msec: 208
- hash: "de243731b92ac1cac05e194aed0acd1e"
- }
- Frame {
- msec: 224
- hash: "f6ccc0f127bfc6212885c3c6470639ed"
- }
- Frame {
- msec: 240
- hash: "a2d56227aebedb9590a1124e44fe8e84"
- }
- Frame {
- msec: 256
- hash: "5f8c0a42a231580dcfff6a534e77bef8"
- }
- Frame {
- msec: 272
- hash: "e631663ac692ab097cb28095b45e8563"
- }
- Frame {
- msec: 288
- hash: "2a03f6ba3c67a9e9732cc1f5cdc42c23"
- }
- Frame {
- msec: 304
- hash: "26b85080d624b232e5209aa082fc11b1"
- }
- Frame {
- msec: 320
- hash: "1c027f4a0114bb9050a3a8d9de2b8a56"
- }
- Frame {
- msec: 336
- hash: "788e6ad3cb5f6e120e40fd3dc6ac8483"
- }
- Frame {
- msec: 352
- hash: "7e1b0fb71528dfa17a87950c0ff86111"
- }
- Frame {
- msec: 368
- hash: "e1878e6e8ba14d8945e1f71ac8d42c1e"
- }
- Frame {
- msec: 384
- hash: "556f42297eb1e57d6a8af0946651a75e"
- }
- Frame {
- msec: 400
- hash: "73df08e7e3391b339cea9f5f082fd83a"
- }
- Frame {
- msec: 416
- hash: "de3bd8a12c2a448738ce77036b97bda7"
- }
- Frame {
- msec: 432
- hash: "0ab187aa7a478dbf005f35416a93c456"
- }
- Frame {
- msec: 448
- hash: "e5baf64ccafa6a4d2bf74aacf52019c6"
- }
- Frame {
- msec: 464
- hash: "0ed2ee4a773ade712ef207549006aa7b"
- }
- Frame {
- msec: 480
- hash: "b23dd49bdfe8fb155e2055262e6a1478"
- }
- Frame {
- msec: 496
- hash: "871f82636a03d6fa8cbfb580038bd0b7"
- }
- Frame {
- msec: 512
- hash: "463cdc2cbde034d7d7a5061338b319c7"
- }
- Frame {
- msec: 528
- hash: "22ff8e25136877fd6f5dce1b01e65c08"
- }
- Frame {
- msec: 544
- hash: "97d4e49622d877e9e1e0102786e1ee55"
- }
- Frame {
- msec: 560
- hash: "ebf5304185abe4bc33be44c3df09a93a"
- }
- Frame {
- msec: 576
- hash: "307887d9973e807c52b2143cdfe438ad"
- }
- Frame {
- msec: 592
- hash: "d89547539741f387fdd6aa80ef239fbd"
- }
- Frame {
- msec: 608
- hash: "b818215b4cdd6e811057f1a0f5eb1a5a"
- }
- Frame {
- msec: 624
- hash: "84f7e523c0f21236ff8aad1333470d11"
- }
- Frame {
- msec: 640
- hash: "7f974663c7add6d10ebdd401794e087a"
- }
- Frame {
- msec: 656
- hash: "4c824dc01e8fead2706608ca68293d11"
- }
- Frame {
- msec: 672
- hash: "86b0f617eb3bfff944c3b670b3b51c71"
- }
- Frame {
- msec: 688
- hash: "86c5660c22003099cc4121381c11de85"
- }
- Frame {
- msec: 704
- hash: "3c2bd08ea17aaa920949239f06b255cf"
- }
- Frame {
- msec: 720
- hash: "2380278cc065a3ac5355127d9873796c"
- }
- Frame {
- msec: 736
- hash: "e5d8624e841476926b3e2a5ebca8c65f"
- }
- Frame {
- msec: 752
- hash: "eab70f5005a6b39e3ead6e4452df1a54"
- }
- Frame {
- msec: 768
- hash: "46acef023d154bad3f91e0267996421b"
- }
- Frame {
- msec: 784
- hash: "26ba9f30a4bfd72c9b6dae2a25660ea9"
- }
- Frame {
- msec: 800
- hash: "9fabdd5cf1190fb34bdc7834eba01cd3"
- }
- Frame {
- msec: 816
- hash: "b1e7af47d4ee706374365fdd4b4d52be"
- }
- Frame {
- msec: 832
- hash: "86fa2e142e75d9d2a074a5376992f139"
- }
- Frame {
- msec: 848
- hash: "a3dea2bf8f84743d35070e82ec585c9a"
- }
- Frame {
- msec: 864
- hash: "ab649fbbe0ca508812de9839d14b3f8c"
- }
- Frame {
- msec: 880
- hash: "08f8a334e121d4edb0ca1617353bfebc"
- }
- Frame {
- msec: 896
- hash: "bb7997c1e18b90cfaad4c3e4ec44356e"
- }
- Frame {
- msec: 912
- hash: "31a7e5d71c28eebfcd29e9ea4950ad17"
- }
- Frame {
- msec: 928
- hash: "2b759276e03c2884bff7ed863c032dfc"
- }
- Frame {
- msec: 944
- hash: "aa0868f006097a435c46368ea9e3ba36"
- }
- Frame {
- msec: 960
- hash: "6454753699c21589d2523a83da0aaa34"
- }
- Frame {
- msec: 976
- image: "multilength.1.png"
- }
- Frame {
- msec: 992
- hash: "ac26abff68fbc1cf89dc5efc4a714a04"
- }
- Frame {
- msec: 1008
- hash: "d3f9dc8cb653d996fb57652f85abcbc1"
- }
- Frame {
- msec: 1024
- hash: "002a94f067eef532f63b6ef916977c2c"
- }
- Frame {
- msec: 1040
- hash: "f7935d01ee9b497034cc1d8f007a0fdf"
- }
- Frame {
- msec: 1056
- hash: "4a1bfdcc85e5444c1bd836399e86ee05"
- }
- Frame {
- msec: 1072
- hash: "1b86514f3c85a8438ef183cc4772e997"
- }
- Frame {
- msec: 1088
- hash: "7bf4c1ca946288e9d1a7ad055d8cacaa"
- }
- Frame {
- msec: 1104
- hash: "b3a00861967157786a80c80030d5495b"
- }
- Frame {
- msec: 1120
- hash: "b9c6195d3336d7519cc72b16e75d00f6"
- }
- Frame {
- msec: 1136
- hash: "6dba6d030a5ff6a92a57f0bdcf0fe781"
- }
- Frame {
- msec: 1152
- hash: "cc97a2721f4339094819c8b7aec6d74c"
- }
- Frame {
- msec: 1168
- hash: "190f67abce51f58fdd1591651633d67e"
- }
- Frame {
- msec: 1184
- hash: "b255f75cfc4918663b8bd47c887cfb3c"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.0.png
deleted file mode 100644
index f2e61178f5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.1.png
deleted file mode 100644
index 16202c49a7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml
deleted file mode 100644
index f306f5c5b3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide.qml
+++ /dev/null
@@ -1,279 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "elide.0.png"
- }
- Frame {
- msec: 32
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 48
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 64
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 80
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 96
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 112
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 128
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 144
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 160
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 176
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 192
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 208
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 224
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 240
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 256
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 272
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 288
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 304
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 320
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 336
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 352
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 368
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 384
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 400
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 416
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 432
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 448
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 464
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 480
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 496
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 512
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 528
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 544
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 560
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 576
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 592
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 608
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 624
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 640
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 656
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 672
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 688
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 704
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 720
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 736
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 752
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 768
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 784
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 800
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 816
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 832
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 848
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 864
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 880
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 896
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 912
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 928
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 944
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 960
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 976
- image: "elide.1.png"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 992
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 1008
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 1024
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 1040
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
- Frame {
- msec: 1056
- hash: "a2003f5b238564e9b68b38db156431d2"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.png
deleted file mode 100644
index 38b9668a37..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.1.png
deleted file mode 100644
index 801ec2be37..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.2.png
deleted file mode 100644
index 785093e022..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.3.png
deleted file mode 100644
index 28f95c9edb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.4.png
deleted file mode 100644
index 963c4eade4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.qml
deleted file mode 100644
index 6e9057c12d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/elide2.qml
+++ /dev/null
@@ -1,991 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "elide2.0.png"
- }
- Frame {
- msec: 32
- hash: "716f5d150bd8757952d7b4ba327fb8bd"
- }
- Frame {
- msec: 48
- hash: "716f5d150bd8757952d7b4ba327fb8bd"
- }
- Frame {
- msec: 64
- hash: "716f5d150bd8757952d7b4ba327fb8bd"
- }
- Frame {
- msec: 80
- hash: "716f5d150bd8757952d7b4ba327fb8bd"
- }
- Frame {
- msec: 96
- hash: "716f5d150bd8757952d7b4ba327fb8bd"
- }
- Frame {
- msec: 112
- hash: "716f5d150bd8757952d7b4ba327fb8bd"
- }
- Frame {
- msec: 128
- hash: "8ec55fba2017a56c641c7baca5345b8b"
- }
- Frame {
- msec: 144
- hash: "8ec55fba2017a56c641c7baca5345b8b"
- }
- Frame {
- msec: 160
- hash: "8ec55fba2017a56c641c7baca5345b8b"
- }
- Frame {
- msec: 176
- hash: "8ec55fba2017a56c641c7baca5345b8b"
- }
- Frame {
- msec: 192
- hash: "79dc1645a5486ddfa3d957f3bd4ffbda"
- }
- Frame {
- msec: 208
- hash: "79dc1645a5486ddfa3d957f3bd4ffbda"
- }
- Frame {
- msec: 224
- hash: "79dc1645a5486ddfa3d957f3bd4ffbda"
- }
- Frame {
- msec: 240
- hash: "79dc1645a5486ddfa3d957f3bd4ffbda"
- }
- Frame {
- msec: 256
- hash: "476eae8ca9f6698cf67e2d20c5c24b66"
- }
- Frame {
- msec: 272
- hash: "476eae8ca9f6698cf67e2d20c5c24b66"
- }
- Frame {
- msec: 288
- hash: "476eae8ca9f6698cf67e2d20c5c24b66"
- }
- Frame {
- msec: 304
- hash: "476eae8ca9f6698cf67e2d20c5c24b66"
- }
- Frame {
- msec: 320
- hash: "bef1a9585daf30f1739a190ffa2e4b46"
- }
- Frame {
- msec: 336
- hash: "bef1a9585daf30f1739a190ffa2e4b46"
- }
- Frame {
- msec: 352
- hash: "bef1a9585daf30f1739a190ffa2e4b46"
- }
- Frame {
- msec: 368
- hash: "bef1a9585daf30f1739a190ffa2e4b46"
- }
- Frame {
- msec: 384
- hash: "bef1a9585daf30f1739a190ffa2e4b46"
- }
- Frame {
- msec: 400
- hash: "156dfc4e9fbc1af5e8c6c48ecd2afe8f"
- }
- Frame {
- msec: 416
- hash: "156dfc4e9fbc1af5e8c6c48ecd2afe8f"
- }
- Frame {
- msec: 432
- hash: "156dfc4e9fbc1af5e8c6c48ecd2afe8f"
- }
- Frame {
- msec: 448
- hash: "156dfc4e9fbc1af5e8c6c48ecd2afe8f"
- }
- Frame {
- msec: 464
- hash: "2fe675a360e61452c31dda42070c137f"
- }
- Frame {
- msec: 480
- hash: "2fe675a360e61452c31dda42070c137f"
- }
- Frame {
- msec: 496
- hash: "2fe675a360e61452c31dda42070c137f"
- }
- Frame {
- msec: 512
- hash: "2fe675a360e61452c31dda42070c137f"
- }
- Frame {
- msec: 528
- hash: "0f1bac7c35b9f5bdbce10fb577c9cf28"
- }
- Frame {
- msec: 544
- hash: "0f1bac7c35b9f5bdbce10fb577c9cf28"
- }
- Frame {
- msec: 560
- hash: "0f1bac7c35b9f5bdbce10fb577c9cf28"
- }
- Frame {
- msec: 576
- hash: "0f1bac7c35b9f5bdbce10fb577c9cf28"
- }
- Frame {
- msec: 592
- hash: "0f1bac7c35b9f5bdbce10fb577c9cf28"
- }
- Frame {
- msec: 608
- hash: "c79f68e9481f91f6f6a6816a655efc24"
- }
- Frame {
- msec: 624
- hash: "c79f68e9481f91f6f6a6816a655efc24"
- }
- Frame {
- msec: 640
- hash: "c79f68e9481f91f6f6a6816a655efc24"
- }
- Frame {
- msec: 656
- hash: "c79f68e9481f91f6f6a6816a655efc24"
- }
- Frame {
- msec: 672
- hash: "9a189e9d9249fb04fd98c4e91aba1cb5"
- }
- Frame {
- msec: 688
- hash: "9a189e9d9249fb04fd98c4e91aba1cb5"
- }
- Frame {
- msec: 704
- hash: "9a189e9d9249fb04fd98c4e91aba1cb5"
- }
- Frame {
- msec: 720
- hash: "9a189e9d9249fb04fd98c4e91aba1cb5"
- }
- Frame {
- msec: 736
- hash: "9a189e9d9249fb04fd98c4e91aba1cb5"
- }
- Frame {
- msec: 752
- hash: "42c1ac48858ab5901601dc5a950a398f"
- }
- Frame {
- msec: 768
- hash: "42c1ac48858ab5901601dc5a950a398f"
- }
- Frame {
- msec: 784
- hash: "42c1ac48858ab5901601dc5a950a398f"
- }
- Frame {
- msec: 800
- hash: "42c1ac48858ab5901601dc5a950a398f"
- }
- Frame {
- msec: 816
- hash: "f05bf4e3cc562c5a900fb389a7c093de"
- }
- Frame {
- msec: 832
- hash: "f05bf4e3cc562c5a900fb389a7c093de"
- }
- Frame {
- msec: 848
- hash: "f05bf4e3cc562c5a900fb389a7c093de"
- }
- Frame {
- msec: 864
- hash: "f05bf4e3cc562c5a900fb389a7c093de"
- }
- Frame {
- msec: 880
- hash: "1b5d1234aa02009ec447ac8fefc403bb"
- }
- Frame {
- msec: 896
- hash: "1b5d1234aa02009ec447ac8fefc403bb"
- }
- Frame {
- msec: 912
- hash: "1b5d1234aa02009ec447ac8fefc403bb"
- }
- Frame {
- msec: 928
- hash: "1b5d1234aa02009ec447ac8fefc403bb"
- }
- Frame {
- msec: 944
- hash: "1b5d1234aa02009ec447ac8fefc403bb"
- }
- Frame {
- msec: 960
- hash: "ec7cfc539d7bde448c631da211de8f44"
- }
- Frame {
- msec: 976
- image: "elide2.1.png"
- }
- Frame {
- msec: 992
- hash: "ec7cfc539d7bde448c631da211de8f44"
- }
- Frame {
- msec: 1008
- hash: "ec7cfc539d7bde448c631da211de8f44"
- }
- Frame {
- msec: 1024
- hash: "646394dd534a32bc3a066e606cc485f3"
- }
- Frame {
- msec: 1040
- hash: "646394dd534a32bc3a066e606cc485f3"
- }
- Frame {
- msec: 1056
- hash: "646394dd534a32bc3a066e606cc485f3"
- }
- Frame {
- msec: 1072
- hash: "646394dd534a32bc3a066e606cc485f3"
- }
- Frame {
- msec: 1088
- hash: "6b66b968aaed1896e2e9fafe27bba50f"
- }
- Frame {
- msec: 1104
- hash: "6b66b968aaed1896e2e9fafe27bba50f"
- }
- Frame {
- msec: 1120
- hash: "6b66b968aaed1896e2e9fafe27bba50f"
- }
- Frame {
- msec: 1136
- hash: "6b66b968aaed1896e2e9fafe27bba50f"
- }
- Frame {
- msec: 1152
- hash: "6b66b968aaed1896e2e9fafe27bba50f"
- }
- Frame {
- msec: 1168
- hash: "869f75182b9a4b452da1689a5921085f"
- }
- Frame {
- msec: 1184
- hash: "869f75182b9a4b452da1689a5921085f"
- }
- Frame {
- msec: 1200
- hash: "869f75182b9a4b452da1689a5921085f"
- }
- Frame {
- msec: 1216
- hash: "869f75182b9a4b452da1689a5921085f"
- }
- Frame {
- msec: 1232
- hash: "b2017890ac543b9224e85a44157d9fbb"
- }
- Frame {
- msec: 1248
- hash: "b2017890ac543b9224e85a44157d9fbb"
- }
- Frame {
- msec: 1264
- hash: "b2017890ac543b9224e85a44157d9fbb"
- }
- Frame {
- msec: 1280
- hash: "b2017890ac543b9224e85a44157d9fbb"
- }
- Frame {
- msec: 1296
- hash: "b2017890ac543b9224e85a44157d9fbb"
- }
- Frame {
- msec: 1312
- hash: "acac3eb92619e01b3470511cef1a91c8"
- }
- Frame {
- msec: 1328
- hash: "acac3eb92619e01b3470511cef1a91c8"
- }
- Frame {
- msec: 1344
- hash: "acac3eb92619e01b3470511cef1a91c8"
- }
- Frame {
- msec: 1360
- hash: "acac3eb92619e01b3470511cef1a91c8"
- }
- Frame {
- msec: 1376
- hash: "7f6d45b22e5cb86a7fb45d3f9bcebfc1"
- }
- Frame {
- msec: 1392
- hash: "7f6d45b22e5cb86a7fb45d3f9bcebfc1"
- }
- Frame {
- msec: 1408
- hash: "7f6d45b22e5cb86a7fb45d3f9bcebfc1"
- }
- Frame {
- msec: 1424
- hash: "7f6d45b22e5cb86a7fb45d3f9bcebfc1"
- }
- Frame {
- msec: 1440
- hash: "481f661e2613242d253498e467c91105"
- }
- Frame {
- msec: 1456
- hash: "481f661e2613242d253498e467c91105"
- }
- Frame {
- msec: 1472
- hash: "481f661e2613242d253498e467c91105"
- }
- Frame {
- msec: 1488
- hash: "481f661e2613242d253498e467c91105"
- }
- Frame {
- msec: 1504
- hash: "481f661e2613242d253498e467c91105"
- }
- Frame {
- msec: 1520
- hash: "4c342918351f0165ce63129afbd60074"
- }
- Frame {
- msec: 1536
- hash: "4c342918351f0165ce63129afbd60074"
- }
- Frame {
- msec: 1552
- hash: "4c342918351f0165ce63129afbd60074"
- }
- Frame {
- msec: 1568
- hash: "4c342918351f0165ce63129afbd60074"
- }
- Frame {
- msec: 1584
- hash: "4f21a25c75cfabbcbd7c485c7c479bfc"
- }
- Frame {
- msec: 1600
- hash: "4f21a25c75cfabbcbd7c485c7c479bfc"
- }
- Frame {
- msec: 1616
- hash: "4f21a25c75cfabbcbd7c485c7c479bfc"
- }
- Frame {
- msec: 1632
- hash: "4f21a25c75cfabbcbd7c485c7c479bfc"
- }
- Frame {
- msec: 1648
- hash: "b627f215fdb6f62e6cbf2ddbe14dc794"
- }
- Frame {
- msec: 1664
- hash: "b627f215fdb6f62e6cbf2ddbe14dc794"
- }
- Frame {
- msec: 1680
- hash: "b627f215fdb6f62e6cbf2ddbe14dc794"
- }
- Frame {
- msec: 1696
- hash: "b627f215fdb6f62e6cbf2ddbe14dc794"
- }
- Frame {
- msec: 1712
- hash: "b627f215fdb6f62e6cbf2ddbe14dc794"
- }
- Frame {
- msec: 1728
- hash: "8c490b27882c58d34cbc941a0b10e6fe"
- }
- Frame {
- msec: 1744
- hash: "8c490b27882c58d34cbc941a0b10e6fe"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1760
- hash: "8c490b27882c58d34cbc941a0b10e6fe"
- }
- Frame {
- msec: 1776
- hash: "8c490b27882c58d34cbc941a0b10e6fe"
- }
- Frame {
- msec: 1792
- hash: "739abcde4a980e05932aa079245136cd"
- }
- Frame {
- msec: 1808
- hash: "739abcde4a980e05932aa079245136cd"
- }
- Frame {
- msec: 1824
- hash: "739abcde4a980e05932aa079245136cd"
- }
- Frame {
- msec: 1840
- hash: "739abcde4a980e05932aa079245136cd"
- }
- Frame {
- msec: 1856
- hash: "739abcde4a980e05932aa079245136cd"
- }
- Frame {
- msec: 1872
- hash: "af47b93ee81b0e4add42d9addad92219"
- }
- Frame {
- msec: 1888
- hash: "af47b93ee81b0e4add42d9addad92219"
- }
- Frame {
- msec: 1904
- hash: "af47b93ee81b0e4add42d9addad92219"
- }
- Frame {
- msec: 1920
- hash: "af47b93ee81b0e4add42d9addad92219"
- }
- Frame {
- msec: 1936
- image: "elide2.2.png"
- }
- Frame {
- msec: 1952
- hash: "43d7bee700464080f7535d398d60af25"
- }
- Frame {
- msec: 1968
- hash: "43d7bee700464080f7535d398d60af25"
- }
- Frame {
- msec: 1984
- hash: "43d7bee700464080f7535d398d60af25"
- }
- Frame {
- msec: 2000
- hash: "31bf9784a1e1b84cc0ed4a342284ce1a"
- }
- Frame {
- msec: 2016
- hash: "31bf9784a1e1b84cc0ed4a342284ce1a"
- }
- Frame {
- msec: 2032
- hash: "31bf9784a1e1b84cc0ed4a342284ce1a"
- }
- Frame {
- msec: 2048
- hash: "31bf9784a1e1b84cc0ed4a342284ce1a"
- }
- Frame {
- msec: 2064
- hash: "31bf9784a1e1b84cc0ed4a342284ce1a"
- }
- Frame {
- msec: 2080
- hash: "59db6dabc6c6930b9561bc906f49cc3c"
- }
- Frame {
- msec: 2096
- hash: "59db6dabc6c6930b9561bc906f49cc3c"
- }
- Frame {
- msec: 2112
- hash: "59db6dabc6c6930b9561bc906f49cc3c"
- }
- Frame {
- msec: 2128
- hash: "59db6dabc6c6930b9561bc906f49cc3c"
- }
- Frame {
- msec: 2144
- hash: "9e9cd1f4b9ad0980d6601e52c3d21402"
- }
- Frame {
- msec: 2160
- hash: "9e9cd1f4b9ad0980d6601e52c3d21402"
- }
- Frame {
- msec: 2176
- hash: "9e9cd1f4b9ad0980d6601e52c3d21402"
- }
- Frame {
- msec: 2192
- hash: "9e9cd1f4b9ad0980d6601e52c3d21402"
- }
- Frame {
- msec: 2208
- hash: "f8e23813215634224d2fb00f3d1993c5"
- }
- Frame {
- msec: 2224
- hash: "f8e23813215634224d2fb00f3d1993c5"
- }
- Frame {
- msec: 2240
- hash: "f8e23813215634224d2fb00f3d1993c5"
- }
- Frame {
- msec: 2256
- hash: "f8e23813215634224d2fb00f3d1993c5"
- }
- Frame {
- msec: 2272
- hash: "f8e23813215634224d2fb00f3d1993c5"
- }
- Frame {
- msec: 2288
- hash: "e867db62cb8ec10228ea7b2eceda3723"
- }
- Frame {
- msec: 2304
- hash: "e867db62cb8ec10228ea7b2eceda3723"
- }
- Frame {
- msec: 2320
- hash: "e867db62cb8ec10228ea7b2eceda3723"
- }
- Frame {
- msec: 2336
- hash: "e867db62cb8ec10228ea7b2eceda3723"
- }
- Frame {
- msec: 2352
- hash: "36da8cc7019fae8b1abc877961d3af41"
- }
- Frame {
- msec: 2368
- hash: "36da8cc7019fae8b1abc877961d3af41"
- }
- Frame {
- msec: 2384
- hash: "36da8cc7019fae8b1abc877961d3af41"
- }
- Frame {
- msec: 2400
- hash: "36da8cc7019fae8b1abc877961d3af41"
- }
- Frame {
- msec: 2416
- hash: "36da8cc7019fae8b1abc877961d3af41"
- }
- Frame {
- msec: 2432
- hash: "ea907beaf860fa21684fc524e876346c"
- }
- Frame {
- msec: 2448
- hash: "ea907beaf860fa21684fc524e876346c"
- }
- Frame {
- msec: 2464
- hash: "ea907beaf860fa21684fc524e876346c"
- }
- Frame {
- msec: 2480
- hash: "ea907beaf860fa21684fc524e876346c"
- }
- Frame {
- msec: 2496
- hash: "2b3eb80e842df2fa2b6c217a2948af45"
- }
- Frame {
- msec: 2512
- hash: "2b3eb80e842df2fa2b6c217a2948af45"
- }
- Frame {
- msec: 2528
- hash: "2b3eb80e842df2fa2b6c217a2948af45"
- }
- Frame {
- msec: 2544
- hash: "2b3eb80e842df2fa2b6c217a2948af45"
- }
- Frame {
- msec: 2560
- hash: "05ffb4d0af3fea65151596ea5b9b43c5"
- }
- Frame {
- msec: 2576
- hash: "05ffb4d0af3fea65151596ea5b9b43c5"
- }
- Frame {
- msec: 2592
- hash: "05ffb4d0af3fea65151596ea5b9b43c5"
- }
- Frame {
- msec: 2608
- hash: "05ffb4d0af3fea65151596ea5b9b43c5"
- }
- Frame {
- msec: 2624
- hash: "05ffb4d0af3fea65151596ea5b9b43c5"
- }
- Frame {
- msec: 2640
- hash: "612517436b6ef76f29b213944f742624"
- }
- Frame {
- msec: 2656
- hash: "612517436b6ef76f29b213944f742624"
- }
- Frame {
- msec: 2672
- hash: "612517436b6ef76f29b213944f742624"
- }
- Frame {
- msec: 2688
- hash: "612517436b6ef76f29b213944f742624"
- }
- Frame {
- msec: 2704
- hash: "a62c646572c94d55971445c0546e06fc"
- }
- Frame {
- msec: 2720
- hash: "a62c646572c94d55971445c0546e06fc"
- }
- Frame {
- msec: 2736
- hash: "a62c646572c94d55971445c0546e06fc"
- }
- Frame {
- msec: 2752
- hash: "a62c646572c94d55971445c0546e06fc"
- }
- Frame {
- msec: 2768
- hash: "91be655836fbf7f811a44ffa1e80b72a"
- }
- Frame {
- msec: 2784
- hash: "91be655836fbf7f811a44ffa1e80b72a"
- }
- Frame {
- msec: 2800
- hash: "91be655836fbf7f811a44ffa1e80b72a"
- }
- Frame {
- msec: 2816
- hash: "91be655836fbf7f811a44ffa1e80b72a"
- }
- Frame {
- msec: 2832
- hash: "91be655836fbf7f811a44ffa1e80b72a"
- }
- Frame {
- msec: 2848
- hash: "4fdf23d15633bd9dbcc1767fca797ef6"
- }
- Frame {
- msec: 2864
- hash: "4fdf23d15633bd9dbcc1767fca797ef6"
- }
- Frame {
- msec: 2880
- hash: "4fdf23d15633bd9dbcc1767fca797ef6"
- }
- Frame {
- msec: 2896
- image: "elide2.3.png"
- }
- Frame {
- msec: 2912
- hash: "a81f41ab4e100d92f643ae188c1a5b8a"
- }
- Frame {
- msec: 2928
- hash: "a81f41ab4e100d92f643ae188c1a5b8a"
- }
- Frame {
- msec: 2944
- hash: "a81f41ab4e100d92f643ae188c1a5b8a"
- }
- Frame {
- msec: 2960
- hash: "a81f41ab4e100d92f643ae188c1a5b8a"
- }
- Frame {
- msec: 2976
- hash: "a81f41ab4e100d92f643ae188c1a5b8a"
- }
- Frame {
- msec: 2992
- hash: "6785dbb1bd05081c5b5d890d4b4f28d5"
- }
- Frame {
- msec: 3008
- hash: "6785dbb1bd05081c5b5d890d4b4f28d5"
- }
- Frame {
- msec: 3024
- hash: "6785dbb1bd05081c5b5d890d4b4f28d5"
- }
- Frame {
- msec: 3040
- hash: "6785dbb1bd05081c5b5d890d4b4f28d5"
- }
- Frame {
- msec: 3056
- hash: "ca4fc26d93d4767ef7cdbac6b2e24cf5"
- }
- Frame {
- msec: 3072
- hash: "ca4fc26d93d4767ef7cdbac6b2e24cf5"
- }
- Frame {
- msec: 3088
- hash: "ca4fc26d93d4767ef7cdbac6b2e24cf5"
- }
- Frame {
- msec: 3104
- hash: "ca4fc26d93d4767ef7cdbac6b2e24cf5"
- }
- Frame {
- msec: 3120
- hash: "706fd39d5945f9f698e7fa6e26631b58"
- }
- Frame {
- msec: 3136
- hash: "706fd39d5945f9f698e7fa6e26631b58"
- }
- Frame {
- msec: 3152
- hash: "706fd39d5945f9f698e7fa6e26631b58"
- }
- Frame {
- msec: 3168
- hash: "706fd39d5945f9f698e7fa6e26631b58"
- }
- Frame {
- msec: 3184
- hash: "706fd39d5945f9f698e7fa6e26631b58"
- }
- Frame {
- msec: 3200
- hash: "c4ed351cacc86b5ca2c8198be0a754e0"
- }
- Frame {
- msec: 3216
- hash: "c4ed351cacc86b5ca2c8198be0a754e0"
- }
- Frame {
- msec: 3232
- hash: "c4ed351cacc86b5ca2c8198be0a754e0"
- }
- Frame {
- msec: 3248
- hash: "c4ed351cacc86b5ca2c8198be0a754e0"
- }
- Frame {
- msec: 3264
- hash: "addbbaca2d29fbc8c7907d51a8e9cdce"
- }
- Frame {
- msec: 3280
- hash: "addbbaca2d29fbc8c7907d51a8e9cdce"
- }
- Frame {
- msec: 3296
- hash: "addbbaca2d29fbc8c7907d51a8e9cdce"
- }
- Frame {
- msec: 3312
- hash: "addbbaca2d29fbc8c7907d51a8e9cdce"
- }
- Frame {
- msec: 3328
- hash: "fcb6b78276df1a6c839d6f30f8fe6495"
- }
- Frame {
- msec: 3344
- hash: "fcb6b78276df1a6c839d6f30f8fe6495"
- }
- Frame {
- msec: 3360
- hash: "fcb6b78276df1a6c839d6f30f8fe6495"
- }
- Frame {
- msec: 3376
- hash: "fcb6b78276df1a6c839d6f30f8fe6495"
- }
- Frame {
- msec: 3392
- hash: "fcb6b78276df1a6c839d6f30f8fe6495"
- }
- Frame {
- msec: 3408
- hash: "b066cbbb00a4bef4e730ea8131c2bbe5"
- }
- Frame {
- msec: 3424
- hash: "b066cbbb00a4bef4e730ea8131c2bbe5"
- }
- Frame {
- msec: 3440
- hash: "b066cbbb00a4bef4e730ea8131c2bbe5"
- }
- Frame {
- msec: 3456
- hash: "b066cbbb00a4bef4e730ea8131c2bbe5"
- }
- Frame {
- msec: 3472
- hash: "e6d801e738ed3265b0127b79da7e8ec5"
- }
- Frame {
- msec: 3488
- hash: "e6d801e738ed3265b0127b79da7e8ec5"
- }
- Frame {
- msec: 3504
- hash: "e6d801e738ed3265b0127b79da7e8ec5"
- }
- Frame {
- msec: 3520
- hash: "e6d801e738ed3265b0127b79da7e8ec5"
- }
- Frame {
- msec: 3536
- hash: "e6d801e738ed3265b0127b79da7e8ec5"
- }
- Frame {
- msec: 3552
- hash: "5b9a527ce399d0467b29c8813bbc7e6a"
- }
- Frame {
- msec: 3568
- hash: "5b9a527ce399d0467b29c8813bbc7e6a"
- }
- Frame {
- msec: 3584
- hash: "5b9a527ce399d0467b29c8813bbc7e6a"
- }
- Frame {
- msec: 3600
- hash: "5b9a527ce399d0467b29c8813bbc7e6a"
- }
- Frame {
- msec: 3616
- hash: "e9dd6c70c22d7b100a07ee837add697b"
- }
- Frame {
- msec: 3632
- hash: "e9dd6c70c22d7b100a07ee837add697b"
- }
- Frame {
- msec: 3648
- hash: "e9dd6c70c22d7b100a07ee837add697b"
- }
- Frame {
- msec: 3664
- hash: "e9dd6c70c22d7b100a07ee837add697b"
- }
- Frame {
- msec: 3680
- hash: "92e553a6e8385ceba6804075e5ed6add"
- }
- Frame {
- msec: 3696
- hash: "92e553a6e8385ceba6804075e5ed6add"
- }
- Frame {
- msec: 3712
- hash: "92e553a6e8385ceba6804075e5ed6add"
- }
- Frame {
- msec: 3728
- hash: "92e553a6e8385ceba6804075e5ed6add"
- }
- Frame {
- msec: 3744
- hash: "92e553a6e8385ceba6804075e5ed6add"
- }
- Frame {
- msec: 3760
- hash: "eafdc541e5bb2937cc472511758bd494"
- }
- Frame {
- msec: 3776
- hash: "eafdc541e5bb2937cc472511758bd494"
- }
- Frame {
- msec: 3792
- hash: "eafdc541e5bb2937cc472511758bd494"
- }
- Frame {
- msec: 3808
- hash: "eafdc541e5bb2937cc472511758bd494"
- }
- Frame {
- msec: 3824
- hash: "3d207efb5d563ec0a8640091710aa9fd"
- }
- Frame {
- msec: 3840
- hash: "3d207efb5d563ec0a8640091710aa9fd"
- }
- Frame {
- msec: 3856
- image: "elide2.4.png"
- }
- Frame {
- msec: 3872
- hash: "3d207efb5d563ec0a8640091710aa9fd"
- }
- Frame {
- msec: 3888
- hash: "d837a68f291b44c8ea4b92088ebccb2c"
- }
- Frame {
- msec: 3904
- hash: "d837a68f291b44c8ea4b92088ebccb2c"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png
deleted file mode 100644
index f71c1aca4f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.1.png
deleted file mode 100644
index ddd6cc5803..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.2.png
deleted file mode 100644
index 4679774be1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.3.png
deleted file mode 100644
index 51018b4336..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.4.png
deleted file mode 100644
index f5ed905f9e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.5.png
deleted file mode 100644
index 500572457b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml
deleted file mode 100644
index 6e802f480c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/data-X11/multilength.qml
+++ /dev/null
@@ -1,1323 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "multilength.0.png"
- }
- Frame {
- msec: 32
- hash: "fde26fa3d17fb92d676afe61ca6a2170"
- }
- Frame {
- msec: 48
- hash: "54c7a0ea10fa212959dc4f7606c31f3c"
- }
- Frame {
- msec: 64
- hash: "e73c4521144b2c810f15239e6d8fa468"
- }
- Frame {
- msec: 80
- hash: "31a68bfd57846795db57bb30d1d60341"
- }
- Frame {
- msec: 96
- hash: "55edcaeed37c1390eee2619d52a2eb03"
- }
- Frame {
- msec: 112
- hash: "2c27d9c3dc215c68630495e255c1670e"
- }
- Frame {
- msec: 128
- hash: "b27dd9260f6da3ab414076e83bf5a2bd"
- }
- Frame {
- msec: 144
- hash: "bfcbba7e970af922ee87fbbe936eaa84"
- }
- Frame {
- msec: 160
- hash: "75af84ff6f21648737cef4a215410cc6"
- }
- Frame {
- msec: 176
- hash: "71fd1fe13a14632ff54ad7a87be68bca"
- }
- Frame {
- msec: 192
- hash: "69f553a1893403dc6fc82d3c9c47f501"
- }
- Frame {
- msec: 208
- hash: "9456b12d49cc2a1f9212dba98a83c8ab"
- }
- Frame {
- msec: 224
- hash: "cfd826f91f6f880816d505c93a8f125a"
- }
- Frame {
- msec: 240
- hash: "d8e3291525eff9f905102ed7654f986b"
- }
- Frame {
- msec: 256
- hash: "044c1f37e37a68fbfbb9ddbc2da4300a"
- }
- Frame {
- msec: 272
- hash: "d640cba5f14d9c065bec6f6c23f2831f"
- }
- Frame {
- msec: 288
- hash: "9e15b68dace4b39b937dfea8777ae503"
- }
- Frame {
- msec: 304
- hash: "7ea72711e3f8bdd1087181e127e093c7"
- }
- Frame {
- msec: 320
- hash: "c45dae8eb1768c8aba2d92dea4f268a2"
- }
- Frame {
- msec: 336
- hash: "181ebf6597be2d9e54c1d01a5ab54b46"
- }
- Frame {
- msec: 352
- hash: "094b6cc486b60882836a9ba35411ae7d"
- }
- Frame {
- msec: 368
- hash: "031f1bcb864b4507bf93caab88756317"
- }
- Frame {
- msec: 384
- hash: "42b4d89a1026327f180ecc414dcd0ef0"
- }
- Frame {
- msec: 400
- hash: "a99c5d1d434687e2f16e7054bcff8a69"
- }
- Frame {
- msec: 416
- hash: "91cf18d3f8538ee8550f7e190911b072"
- }
- Frame {
- msec: 432
- hash: "1c11a328d74bc7bf77da10f094db8d4a"
- }
- Frame {
- msec: 448
- hash: "e4da6dc99c962e8f37dc8d99669616d0"
- }
- Frame {
- msec: 464
- hash: "628d4c1455f58a304887050c0552499a"
- }
- Frame {
- msec: 480
- hash: "dd17a403f45bcd1001cb08e7f4ae8443"
- }
- Frame {
- msec: 496
- hash: "1ed042d0289fc6167143ddcd92f708f6"
- }
- Frame {
- msec: 512
- hash: "b55abb6249925cf06439b3177310dcfc"
- }
- Frame {
- msec: 528
- hash: "251c3346640a2aa7a9c18ca84ff2d5bb"
- }
- Frame {
- msec: 544
- hash: "6f5e18d84c4107213599b57bf7284c4b"
- }
- Frame {
- msec: 560
- hash: "2179c1d7d7acb3c2f6354b493cfe74e0"
- }
- Frame {
- msec: 576
- hash: "bbc757e8f3c08f93ffcdd68b392c8cdb"
- }
- Frame {
- msec: 592
- hash: "7eefd9c7291c1a23679efd42f2c29539"
- }
- Frame {
- msec: 608
- hash: "fa375510d3850614aebceb2bc31ab4de"
- }
- Frame {
- msec: 624
- hash: "f643c5ba39bb90f396f00c0a9df995c8"
- }
- Frame {
- msec: 640
- hash: "c6b7792f780b00b1b07c0ce948dff13b"
- }
- Frame {
- msec: 656
- hash: "d43d82ee9b0da8f237469c555b48bee8"
- }
- Frame {
- msec: 672
- hash: "addaa9d2aa8f54d6a4e82dc7e029f19d"
- }
- Frame {
- msec: 688
- hash: "b12af2fd05a1ccd4664c5093456bae01"
- }
- Frame {
- msec: 704
- hash: "982d3505c51fc1bac026c744e2d1db11"
- }
- Frame {
- msec: 720
- hash: "a67a0705ce893dcafdcfc3a7fe71f608"
- }
- Frame {
- msec: 736
- hash: "6e00f746695ca67fb4c4462740b13c8f"
- }
- Frame {
- msec: 752
- hash: "bc4235d556a1e18d591b9afd87b29826"
- }
- Frame {
- msec: 768
- hash: "830ebf4b9214f1dc31975c83cf49d31e"
- }
- Frame {
- msec: 784
- hash: "bac049ae3d6676db8bca99620c9f5bd3"
- }
- Frame {
- msec: 800
- hash: "0f9623c23e4e45126078c3c93015d26c"
- }
- Frame {
- msec: 816
- hash: "bedde76baa8905970ea5fa8da62355a6"
- }
- Frame {
- msec: 832
- hash: "018b9b1444d921b8cfd823265556c8f6"
- }
- Frame {
- msec: 848
- hash: "2be3e0693f54ffefd24e44f552d59e3f"
- }
- Frame {
- msec: 864
- hash: "c8c99f68125df2a1f41f6b44fdcc0406"
- }
- Frame {
- msec: 880
- hash: "3e18d6a24a1c6983f3f2ce984d22dbe4"
- }
- Frame {
- msec: 896
- hash: "aa336c4e5ace2b33689ca280de2299db"
- }
- Frame {
- msec: 912
- hash: "fd7245f879bbd72b6e72c563a588eea7"
- }
- Frame {
- msec: 928
- hash: "e484656517fcb5763c0c8992b22efe91"
- }
- Frame {
- msec: 944
- hash: "fbd58b050963fc7cdbd5ae89aa7a4a70"
- }
- Frame {
- msec: 960
- hash: "b47ad6fb8b364e3c2764bf31e62f21e0"
- }
- Frame {
- msec: 976
- image: "multilength.1.png"
- }
- Frame {
- msec: 992
- hash: "ac1a6692030ed80cd34c082ac70ea06e"
- }
- Frame {
- msec: 1008
- hash: "068a6b82a35d94e3db3eae772c7da56a"
- }
- Frame {
- msec: 1024
- hash: "8252bb45e74bc09e1d5e6b3951fbb08e"
- }
- Frame {
- msec: 1040
- hash: "a5d7ad9287238780cb45c61bb70d6cd4"
- }
- Frame {
- msec: 1056
- hash: "e0307f3a1193af0df0cd52d7dac44db9"
- }
- Frame {
- msec: 1072
- hash: "d649cf0c4a768dba1a0380b64bc7e48b"
- }
- Frame {
- msec: 1088
- hash: "3fd512a0860c17abbb6ed71488cd7255"
- }
- Frame {
- msec: 1104
- hash: "26032efe6efd1de4b5fae23ce4e28a0a"
- }
- Frame {
- msec: 1120
- hash: "846652a87d93e397d1a84b187b7aafea"
- }
- Frame {
- msec: 1136
- hash: "4dfdaa030da4c72a0e1a19bfd70b5856"
- }
- Frame {
- msec: 1152
- hash: "365ad99db7302dfe078f4283af13f5ca"
- }
- Frame {
- msec: 1168
- hash: "f378a096243bd2c6f7e33e0baf24716a"
- }
- Frame {
- msec: 1184
- hash: "e972a84715d314e8814cb7fcab1ad379"
- }
- Frame {
- msec: 1200
- hash: "8826dbafd12ba2a7437623c8967f2699"
- }
- Frame {
- msec: 1216
- hash: "effa889b33b97f665a21d6562acc45fc"
- }
- Frame {
- msec: 1232
- hash: "6ebb408651cf5fbb2fa8788e0ec544d6"
- }
- Frame {
- msec: 1248
- hash: "c4f45fd05b7b4f00acf80f768e99af38"
- }
- Frame {
- msec: 1264
- hash: "735a7c461f6b10cd967b03c173bfd81d"
- }
- Frame {
- msec: 1280
- hash: "608cf5ebac88726ffe7e66d763d74e27"
- }
- Frame {
- msec: 1296
- hash: "6322c5aebdf814bfc5bfaef8b6bb4d91"
- }
- Frame {
- msec: 1312
- hash: "730b7cef2e0cf57a4721e77e6849b862"
- }
- Frame {
- msec: 1328
- hash: "13879c0772938e39d820b6fc10e0f7e5"
- }
- Frame {
- msec: 1344
- hash: "0710bf8a2beff02009d4bb02f2404b7b"
- }
- Frame {
- msec: 1360
- hash: "2cd38c2cbf3d8b7eb3a50b9db4bb8f7f"
- }
- Frame {
- msec: 1376
- hash: "4e988a74a3846171f86d4d69ce3407d9"
- }
- Frame {
- msec: 1392
- hash: "82cc4b40fe1190de5a2cbbf3f11ac7b0"
- }
- Frame {
- msec: 1408
- hash: "f15bd345b992b39167165a640ad45794"
- }
- Frame {
- msec: 1424
- hash: "be5ca66da00327ecc9f5dde2aa3660d2"
- }
- Frame {
- msec: 1440
- hash: "f97a1e863c36477d31a78342c7aa21b7"
- }
- Frame {
- msec: 1456
- hash: "d137a2a6ae95aba3f7a2b2a0560718a5"
- }
- Frame {
- msec: 1472
- hash: "e7529db7cf310e41eb0ac42ab86ae317"
- }
- Frame {
- msec: 1488
- hash: "66914e90881a4a8751ba5391ac41a70b"
- }
- Frame {
- msec: 1504
- hash: "249863a5ef1a14ca0eb4397d206dfc1e"
- }
- Frame {
- msec: 1520
- hash: "26095384b724a5e704c7b627930f4e22"
- }
- Frame {
- msec: 1536
- hash: "98281eed5ae9d9f933e47a8fba8709f1"
- }
- Frame {
- msec: 1552
- hash: "d9b50c54255edb300e36af2648ef8f30"
- }
- Frame {
- msec: 1568
- hash: "9bde860d92f5ec979fa5c274fd1c13a1"
- }
- Frame {
- msec: 1584
- hash: "39c13a42f920f57d9f9fe85ebc4e68fa"
- }
- Frame {
- msec: 1600
- hash: "e80bd130bad05078212089586d6c2731"
- }
- Frame {
- msec: 1616
- hash: "753732b5309fd8dd7daa16761dd7dad0"
- }
- Frame {
- msec: 1632
- hash: "2eb56a98f728b224f7db073c6ea3c3b9"
- }
- Frame {
- msec: 1648
- hash: "21ab167d173e244ffb471faddf704e81"
- }
- Frame {
- msec: 1664
- hash: "9964a0386ae349b909424f588d8decf5"
- }
- Frame {
- msec: 1680
- hash: "cee42f46df4c879fa6fc378481ec728c"
- }
- Frame {
- msec: 1696
- hash: "4779aeed276cbe4112484d189d1baf8b"
- }
- Frame {
- msec: 1712
- hash: "d482cd14db734f5fed2eaec7d8c0c555"
- }
- Frame {
- msec: 1728
- hash: "1f8b0681711c46afcf8af66df6d7caf8"
- }
- Frame {
- msec: 1744
- hash: "44b0e6d69fcd2b7acb499dfdfced026b"
- }
- Frame {
- msec: 1760
- hash: "b6e25c4a276917b7f7f9189e65d965a8"
- }
- Frame {
- msec: 1776
- hash: "07e5da936f8d5c84606fcdc49fc6aca2"
- }
- Frame {
- msec: 1792
- hash: "f27a54a8d37ec62f54e083f1ca65aada"
- }
- Frame {
- msec: 1808
- hash: "074403259022efd08fcbd9d3a3052c79"
- }
- Frame {
- msec: 1824
- hash: "a126762087c8f94beef81216b6010f0c"
- }
- Frame {
- msec: 1840
- hash: "96b8c7cebbb9676ea4f028907de71bbf"
- }
- Frame {
- msec: 1856
- hash: "e6f073522d0af8e504fdb7df971f5e0a"
- }
- Frame {
- msec: 1872
- hash: "9223ed285f322fae3ba2b52afb408586"
- }
- Frame {
- msec: 1888
- hash: "b24575dd4c0b0da0b99a03c46209ed3a"
- }
- Frame {
- msec: 1904
- hash: "5c82bc860f64183e66aead451ee5b893"
- }
- Frame {
- msec: 1920
- hash: "3172ab9c62b0870d6894b13720e54918"
- }
- Frame {
- msec: 1936
- image: "multilength.2.png"
- }
- Frame {
- msec: 1952
- hash: "5f8e85839f9ac82f46a17f871c3fffbc"
- }
- Frame {
- msec: 1968
- hash: "245219fb6c4aa37d8cba7b5e1f74265f"
- }
- Frame {
- msec: 1984
- hash: "b68cfc5366c4ed8d1e5950a1facf0d85"
- }
- Frame {
- msec: 2000
- hash: "dd5c2d2470cc87d57d35ecc9ae8a3528"
- }
- Frame {
- msec: 2016
- hash: "1a15d7f02b35d046305b40f9e6a6839d"
- }
- Frame {
- msec: 2032
- hash: "d44c382ea28d429e6f8bbef9ae17338a"
- }
- Frame {
- msec: 2048
- hash: "63598cb09d5ecbeb991c6db778c5c002"
- }
- Frame {
- msec: 2064
- hash: "b3fcd0180ecd01e2ad0c0114b3dfbf78"
- }
- Frame {
- msec: 2080
- hash: "8d441044f5f10da23708d7ddf0472989"
- }
- Frame {
- msec: 2096
- hash: "6e87518a368c39d68521046773c2f922"
- }
- Frame {
- msec: 2112
- hash: "59e377ccc851ee361e3874ad5ec18e55"
- }
- Frame {
- msec: 2128
- hash: "57a9b0431c7db130bfe4d6603f98c1f5"
- }
- Frame {
- msec: 2144
- hash: "526c93727c6321782a373ea6952a8784"
- }
- Frame {
- msec: 2160
- hash: "fcd0a4605e27ecb0bac18686e7846b3b"
- }
- Frame {
- msec: 2176
- hash: "d697892f9944c67b5aadd7ad641e3ee5"
- }
- Frame {
- msec: 2192
- hash: "f46fd7e568d0995c518749ec0f5a0882"
- }
- Frame {
- msec: 2208
- hash: "31cd2243fb23d4332c02e91f9956f648"
- }
- Frame {
- msec: 2224
- hash: "3b29a9c0121ff127b69abba9c0b13c2c"
- }
- Frame {
- msec: 2240
- hash: "ecd789e744ebb5dee7f25ebb089407bf"
- }
- Frame {
- msec: 2256
- hash: "c99a6dfad8d750b7e67c1e3ef1021cbb"
- }
- Frame {
- msec: 2272
- hash: "82d18b0c193f0ada9cae68e9f6ad5ff5"
- }
- Frame {
- msec: 2288
- hash: "a09e8144b06db76f5849561d880f037e"
- }
- Frame {
- msec: 2304
- hash: "3e6922ca54c809a32ed5ef72e19d7ff0"
- }
- Frame {
- msec: 2320
- hash: "28e46da32bf34b3e1cd3d351e4c40317"
- }
- Frame {
- msec: 2336
- hash: "297aeeaadc5f3268d95320bc3b33a429"
- }
- Frame {
- msec: 2352
- hash: "31721528cdb17b03d3d6ca9f9a91370b"
- }
- Frame {
- msec: 2368
- hash: "52fd1721330321daaea0b56122a72e5b"
- }
- Frame {
- msec: 2384
- hash: "739c5179b9739021dbb522d01812388c"
- }
- Frame {
- msec: 2400
- hash: "4ae07f58d3a514f5c08f314c5dd445c4"
- }
- Frame {
- msec: 2416
- hash: "4305ea97d47bac3fb0eebf9181b3ce48"
- }
- Frame {
- msec: 2432
- hash: "21c99059dba068bc145896217cc0883c"
- }
- Frame {
- msec: 2448
- hash: "0a514ae5d36acc07c7809a7b4f21ed8e"
- }
- Frame {
- msec: 2464
- hash: "550ce887f462ace686bc6a9021c5cb73"
- }
- Frame {
- msec: 2480
- hash: "b65857dcfa0b1281dd5b9821a12dd8e8"
- }
- Frame {
- msec: 2496
- hash: "5a6bb448a570e1a3eef142b8054f3717"
- }
- Frame {
- msec: 2512
- hash: "b38e2f6b4063e1b8a40292017c5ed4ec"
- }
- Frame {
- msec: 2528
- hash: "fa7545e6e3fc92d62af2f7651077da5b"
- }
- Frame {
- msec: 2544
- hash: "ebf0c79720a5692b761b62c4ba360875"
- }
- Frame {
- msec: 2560
- hash: "cb5356376d97308a4d102c9a53e93abe"
- }
- Frame {
- msec: 2576
- hash: "879f434f4901bdcb166294336c60e26a"
- }
- Frame {
- msec: 2592
- hash: "3ab575ac04bdd455346c0460aed413a0"
- }
- Frame {
- msec: 2608
- hash: "8f08366cb474ca2a1988ebba9d65ecaa"
- }
- Frame {
- msec: 2624
- hash: "2939cf0235f98aeaf48b3f28964cdddd"
- }
- Frame {
- msec: 2640
- hash: "9cf4b339914e48f896dda17e08759472"
- }
- Frame {
- msec: 2656
- hash: "3f5568ac7a4386f1d5072f1cda0c35b8"
- }
- Frame {
- msec: 2672
- hash: "107edbf8181f79cd7847d0154b6eda11"
- }
- Frame {
- msec: 2688
- hash: "9254497b95b89a7d40903edb04a3764a"
- }
- Frame {
- msec: 2704
- hash: "7e7d25a2ee3fbfd67a3b8fecb9fe9202"
- }
- Frame {
- msec: 2720
- hash: "03759f59bbd2be573acd6c03eb088edd"
- }
- Frame {
- msec: 2736
- hash: "58689762be6c7d3d6de6f23580ec8886"
- }
- Frame {
- msec: 2752
- hash: "0d4e315f9b079a30e6a4294a667f9ebc"
- }
- Frame {
- msec: 2768
- hash: "3f3dfa1c8d160238dae2da79a6a569f3"
- }
- Frame {
- msec: 2784
- hash: "b3cd7c3034e2a34c4ae9ed7f3144b2cc"
- }
- Frame {
- msec: 2800
- hash: "c27d3a9057d1f15c6e0b2d427ac12ad2"
- }
- Frame {
- msec: 2816
- hash: "9b25ab315d9bfc582e41c05e88812cbe"
- }
- Frame {
- msec: 2832
- hash: "e75671bfb99741dcff476690ede42166"
- }
- Frame {
- msec: 2848
- hash: "7dd3307fb41277ebcc4339cdb7747d7c"
- }
- Frame {
- msec: 2864
- hash: "a148bce140f1637e27ae5f0207b75351"
- }
- Frame {
- msec: 2880
- hash: "64e57a31c1baa16bcf47f2202fd6e2ed"
- }
- Frame {
- msec: 2896
- image: "multilength.3.png"
- }
- Frame {
- msec: 2912
- hash: "83381c54b1923356c403cad2ae2c3519"
- }
- Frame {
- msec: 2928
- hash: "e110f28619c2ec7c1c8d479793b93e54"
- }
- Frame {
- msec: 2944
- hash: "996a9a698f1a7c673eeef67501d7b81b"
- }
- Frame {
- msec: 2960
- hash: "6cf2465c8b7c70343a26e981e6492212"
- }
- Frame {
- msec: 2976
- hash: "3a9078adf3d4ca207c97b62ad525998f"
- }
- Frame {
- msec: 2992
- hash: "0bf0d9a6a202119daa6a44f17d03b9ed"
- }
- Frame {
- msec: 3008
- hash: "6dfadc21810c9176dad599a6f7f672b9"
- }
- Frame {
- msec: 3024
- hash: "f1f866c6245bd6fd8141abfb8a040d46"
- }
- Frame {
- msec: 3040
- hash: "84329287c7555bc6207039ea632632b2"
- }
- Frame {
- msec: 3056
- hash: "da7e80527f58c93bce9267958ce4c5d7"
- }
- Frame {
- msec: 3072
- hash: "cd8eea7543ebc42971b3f41ea21dd4ed"
- }
- Frame {
- msec: 3088
- hash: "b9abb526dc3447370d847a5bca868b50"
- }
- Frame {
- msec: 3104
- hash: "b8d63ac8331a9375ca06adacb56d12ea"
- }
- Frame {
- msec: 3120
- hash: "20fcdd73a4cc2abebbc462c32fb9b2c8"
- }
- Frame {
- msec: 3136
- hash: "3f656f80771828ee6696a2e0a0626ae4"
- }
- Frame {
- msec: 3152
- hash: "0d99110edca4f8ec544d10d680d27092"
- }
- Frame {
- msec: 3168
- hash: "48026f803bd17f56d13dd946fb359e3a"
- }
- Frame {
- msec: 3184
- hash: "40759d794139327e2e66685c9fcb047b"
- }
- Frame {
- msec: 3200
- hash: "419953a3f882008e82bd733e63e66ab6"
- }
- Frame {
- msec: 3216
- hash: "ddcd288b0a825ef6899755fbad56f2dd"
- }
- Frame {
- msec: 3232
- hash: "bc203d9f0f32efdd177353b9589bd127"
- }
- Frame {
- msec: 3248
- hash: "a4ae6c449b53545a683cd33bc9274d59"
- }
- Frame {
- msec: 3264
- hash: "59e7c218b5a1b857469972f966489a43"
- }
- Frame {
- msec: 3280
- hash: "521fc5833ab0e3088200e1fea9a887b0"
- }
- Frame {
- msec: 3296
- hash: "bd2386f85afb7516d147bff4c07e239f"
- }
- Frame {
- msec: 3312
- hash: "5298fdee07ff2ff34121f064fed3db4e"
- }
- Frame {
- msec: 3328
- hash: "311a8f163cebf7bafcb47c8e6db40ed1"
- }
- Frame {
- msec: 3344
- hash: "ad6342bed57257a1616a74e19f2bb484"
- }
- Frame {
- msec: 3360
- hash: "4eb186c5f4963dc72b3dbc3a9da4df65"
- }
- Frame {
- msec: 3376
- hash: "58f1f128001dd1ce0d405595acbaab2a"
- }
- Frame {
- msec: 3392
- hash: "ba4a39b66cac22fceba9c4ecfdbae363"
- }
- Frame {
- msec: 3408
- hash: "bbfde54a4de637bc1c54248e2e342544"
- }
- Frame {
- msec: 3424
- hash: "ddc3b4e87782e0472630e2f9f8a57099"
- }
- Frame {
- msec: 3440
- hash: "1bf1212686520da772fc18ca7684a924"
- }
- Frame {
- msec: 3456
- hash: "706ec5a3b48123d3b5113d55b71f7968"
- }
- Frame {
- msec: 3472
- hash: "62b08db0c3c4f1313bcf4a1e7b90badb"
- }
- Frame {
- msec: 3488
- hash: "ae8409fed9d8919b1af2b4d0eafce670"
- }
- Frame {
- msec: 3504
- hash: "9f6ed6ada78e42f06f33514e363c736f"
- }
- Frame {
- msec: 3520
- hash: "97e9a504c2c4ba5329a616810fc19505"
- }
- Frame {
- msec: 3536
- hash: "348b6d15b8ef6862818b4fbdb938f241"
- }
- Frame {
- msec: 3552
- hash: "c1845df466f5690a8d7a439d33a27f7d"
- }
- Frame {
- msec: 3568
- hash: "aee2486331275b9f4116b61588ce169e"
- }
- Frame {
- msec: 3584
- hash: "efca3eaffa3421d68d788ee3f0ec068c"
- }
- Frame {
- msec: 3600
- hash: "35f2940b51ed8c4734c23a43bf6fe448"
- }
- Frame {
- msec: 3616
- hash: "92b7d34480b7fab4dd39bbccfa8455a5"
- }
- Frame {
- msec: 3632
- hash: "4408049f405ecf5c3c696780390e2155"
- }
- Frame {
- msec: 3648
- hash: "29aa30678d5c87c79ac67198e4dd7bd4"
- }
- Frame {
- msec: 3664
- hash: "2f88ac156017b20795f01716d9e9f2e8"
- }
- Frame {
- msec: 3680
- hash: "4d72dec4a2e8edcff806c11f3742cf07"
- }
- Frame {
- msec: 3696
- hash: "3f5ebad282a4aa9c03a17d32aea03151"
- }
- Frame {
- msec: 3712
- hash: "a8d289d15353d45159607377de285732"
- }
- Frame {
- msec: 3728
- hash: "af2d2fcfa4510e0d26ea90fc7711b0cf"
- }
- Frame {
- msec: 3744
- hash: "aed6897bc8b2163822a052e1cc9ad36b"
- }
- Frame {
- msec: 3760
- hash: "bf7077614b5045f79c8697bab1e83839"
- }
- Frame {
- msec: 3776
- hash: "e5c8c0bf1fce3a964f4bb911ffee0bdb"
- }
- Frame {
- msec: 3792
- hash: "bcfe4aebc880809f56d480f23b17dfd1"
- }
- Frame {
- msec: 3808
- hash: "2ce342f7864ab26124093edc88585c97"
- }
- Frame {
- msec: 3824
- hash: "8be15d95125e03a0282e897096abb443"
- }
- Frame {
- msec: 3840
- hash: "a4486f30becceca3ec3cc5c8718af82a"
- }
- Frame {
- msec: 3856
- image: "multilength.4.png"
- }
- Frame {
- msec: 3872
- hash: "38de7ed0d05015f9b06a4bb278fc96c1"
- }
- Frame {
- msec: 3888
- hash: "1cd9a38bb1fc8b06d5c05cd28719d4b3"
- }
- Frame {
- msec: 3904
- hash: "682ba6e2eb83ce1b6bf8526b21cf2694"
- }
- Frame {
- msec: 3920
- hash: "3da075fccb3d26f30530a69f86d999a8"
- }
- Frame {
- msec: 3936
- hash: "b0fb39798dfa94d0898e5e0d7afd1277"
- }
- Frame {
- msec: 3952
- hash: "7e41bbe233d6bc7354ba4516edec4841"
- }
- Frame {
- msec: 3968
- hash: "1d3f24f20ba123940d97f09949cfcc0f"
- }
- Frame {
- msec: 3984
- hash: "abc7a82d91e28c5a3ee9ffd663c8c7bd"
- }
- Frame {
- msec: 4000
- hash: "e685c0218a3d80584013806707693eb0"
- }
- Frame {
- msec: 4016
- hash: "6ff98dc7eb0453f058a5d4cadf86ddf4"
- }
- Frame {
- msec: 4032
- hash: "5a3d0c2c95cb85678f32a8b68dc8d399"
- }
- Frame {
- msec: 4048
- hash: "d5bde2f063d524ac0e7bcef26d543668"
- }
- Frame {
- msec: 4064
- hash: "64e7bc5e0798ecd009fd05cbc1523977"
- }
- Frame {
- msec: 4080
- hash: "3c87a9ee92661da2aacc09b71dd393ca"
- }
- Frame {
- msec: 4096
- hash: "bf4806e0e8cb73cded37ca97966078d7"
- }
- Frame {
- msec: 4112
- hash: "a5956031dac15dba64bf49c9d308c9c7"
- }
- Frame {
- msec: 4128
- hash: "51395284acf731266eaed86387ad768a"
- }
- Frame {
- msec: 4144
- hash: "489ab28b773d48b8fdf9cf674b1da87f"
- }
- Frame {
- msec: 4160
- hash: "4c6a5b7442a4ff241329157657b8c9f7"
- }
- Frame {
- msec: 4176
- hash: "629faa780676c705ca8349b8765ed38b"
- }
- Frame {
- msec: 4192
- hash: "28654cb8801bea906a4f181004ed0e85"
- }
- Frame {
- msec: 4208
- hash: "2abf774ccf33e6d0af4a8c4154e2ab2a"
- }
- Frame {
- msec: 4224
- hash: "f1cbdf35081b08b676d1661834829c9a"
- }
- Frame {
- msec: 4240
- hash: "a49ef4ec40d59be1e872c6f8bcdbbb4c"
- }
- Frame {
- msec: 4256
- hash: "dab02c8afd3914177bfdf29e68b54291"
- }
- Frame {
- msec: 4272
- hash: "7bdca9571a346117277b0de6fa1f6e5e"
- }
- Frame {
- msec: 4288
- hash: "11dc19768b1a4a787f46082a583c068c"
- }
- Frame {
- msec: 4304
- hash: "5e72d13702108d55d650a01c1caf2cfb"
- }
- Frame {
- msec: 4320
- hash: "e5a379841ae54f07d54c4baa78fa7b69"
- }
- Frame {
- msec: 4336
- hash: "88d2363709d377cad251dc956b0ff866"
- }
- Frame {
- msec: 4352
- hash: "5e6db7322e69f41d37efdd35a769df4e"
- }
- Frame {
- msec: 4368
- hash: "cc781d136bb48a1a41bd9243327bacc3"
- }
- Frame {
- msec: 4384
- hash: "69612d6379a204fa1e1c6d7b58f78370"
- }
- Frame {
- msec: 4400
- hash: "a81c15225bc81a19e22375532a5457ab"
- }
- Frame {
- msec: 4416
- hash: "a97bb0ac528a1377ef8f6bf655795b69"
- }
- Frame {
- msec: 4432
- hash: "7fa6d66219c66ae8aec43e44626b427a"
- }
- Frame {
- msec: 4448
- hash: "99f47bc80b706692f16c6c5fa3c0c85d"
- }
- Frame {
- msec: 4464
- hash: "55d6cf7f545c74ed59a8bf040f9d5d58"
- }
- Frame {
- msec: 4480
- hash: "1a07d14fa7866c5268e622d0925cbf4d"
- }
- Frame {
- msec: 4496
- hash: "a41b281563c401d0e4ff55f4a3c45e18"
- }
- Frame {
- msec: 4512
- hash: "6bff67c2f53a4e620c63eea539f4abe0"
- }
- Frame {
- msec: 4528
- hash: "a5f06e5ff2fd7f390279f7df822c8297"
- }
- Frame {
- msec: 4544
- hash: "213b174770c13105b89a1d88cd2f0b7c"
- }
- Frame {
- msec: 4560
- hash: "dde34ca92317a54ddaa2f9bff515d91c"
- }
- Frame {
- msec: 4576
- hash: "12446cca2aae19fd721cda11bbb51bae"
- }
- Frame {
- msec: 4592
- hash: "f4d00502cab0a843563fcfd336b74596"
- }
- Frame {
- msec: 4608
- hash: "b6ae2b396adf6068ef3a6027e4b175db"
- }
- Frame {
- msec: 4624
- hash: "370dabffdfc0bebf5d25abfaefff399c"
- }
- Frame {
- msec: 4640
- hash: "fd496e8c03f85a872bd5ee6e8a85db7f"
- }
- Frame {
- msec: 4656
- hash: "0999335427d63f318e166ea8662c4c22"
- }
- Frame {
- msec: 4672
- hash: "5a4eb9267cd35a71f6c2daaca1a582be"
- }
- Frame {
- msec: 4688
- hash: "4270d7a26d56f1d805b647c5ec7cc6ce"
- }
- Frame {
- msec: 4704
- hash: "334f1e3c8520196016352bf4d00fbc18"
- }
- Frame {
- msec: 4720
- hash: "2bf704e85c197c776a188927a80deaad"
- }
- Frame {
- msec: 4736
- hash: "e2c5c42e55dc185977bd5049eb4bd3d2"
- }
- Frame {
- msec: 4752
- hash: "7ead4353fdc135d6b959be0ce22955e3"
- }
- Frame {
- msec: 4768
- hash: "ab42998e1e17ac8637d76dc0cf356c7a"
- }
- Frame {
- msec: 4784
- hash: "030f34f8caf0814eaaf18ea5fda669dd"
- }
- Frame {
- msec: 4800
- hash: "6e12a04ac25553142875a10a5c8e46e8"
- }
- Frame {
- msec: 4816
- image: "multilength.5.png"
- }
- Frame {
- msec: 4832
- hash: "e2f2ab9a3fe6a3a375341010c91017bd"
- }
- Frame {
- msec: 4848
- hash: "9301889debd3932772a1c81314eb1ef2"
- }
- Frame {
- msec: 4864
- hash: "671feec6eb1166c612a22405db9c044e"
- }
- Frame {
- msec: 4880
- hash: "648215ffa5448dc173165d24389c014e"
- }
- Frame {
- msec: 4896
- hash: "a70806b54806f29d0e240cd63d86b77e"
- }
- Frame {
- msec: 4912
- hash: "4bf9ffe611c52c21fbdb84221d3d4dba"
- }
- Frame {
- msec: 4928
- hash: "ae78202b0ebd4c13a92d468a7470bdc9"
- }
- Frame {
- msec: 4944
- hash: "fb0c3d6c3e3479abb6a1b44b1a5f3785"
- }
- Frame {
- msec: 4960
- hash: "48906c21e17479807f736d7f7713f6b0"
- }
- Frame {
- msec: 4976
- hash: "a661a461542b3078dd1dad25bf6d8414"
- }
- Frame {
- msec: 4992
- hash: "387deb0df0c59cfb120313946c4e5c9a"
- }
- Frame {
- msec: 5008
- hash: "f2473c6e4877f3035f0b511ff2d27684"
- }
- Frame {
- msec: 5024
- hash: "f88d3767ccd773930ef9d99dfd0e8c17"
- }
- Frame {
- msec: 5040
- hash: "aef8a93d2caafec839d425184176bcc7"
- }
- Frame {
- msec: 5056
- hash: "e73c4521144b2c810f15239e6d8fa468"
- }
- Frame {
- msec: 5072
- hash: "a66856750cc5aa7a21ffb6e0a9c94306"
- }
- Frame {
- msec: 5088
- hash: "22bce57e360790c356564a0568ec3bee"
- }
- Frame {
- msec: 5104
- hash: "55edcaeed37c1390eee2619d52a2eb03"
- }
- Frame {
- msec: 5120
- hash: "51d8495324954f1bd62caa67d15e9ab2"
- }
- Frame {
- msec: 5136
- hash: "bfcbba7e970af922ee87fbbe936eaa84"
- }
- Frame {
- msec: 5152
- hash: "a7652fe427ca7b8ef37dbf9a6097f8af"
- }
- Frame {
- msec: 5168
- hash: "d5ab00fc274a7fd568af514c55f24e04"
- }
- Frame {
- msec: 5184
- hash: "71fd1fe13a14632ff54ad7a87be68bca"
- }
- Frame {
- msec: 5200
- hash: "761f9b41ce4136619f89c73746ab176e"
- }
- Frame {
- msec: 5216
- hash: "cfd826f91f6f880816d505c93a8f125a"
- }
- Frame {
- msec: 5232
- hash: "33fbc77640cc73c17a0f68db5f70ddec"
- }
- Frame {
- msec: 5248
- hash: "ef925f6709f7603d8acddbbe3e3b0426"
- }
- Frame {
- msec: 5264
- hash: "044c1f37e37a68fbfbb9ddbc2da4300a"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide.qml
deleted file mode 100644
index e52c609343..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide.qml
+++ /dev/null
@@ -1,32 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- width: childrenRect.width
- height: childrenRect.height
- Column {
- width: 80
- height: myText.height*4
- TestText {
- elide: "ElideLeft"
- text: "aaa bbb ccc ddd eee fff"
- width: 80
- id: myText
- }
- TestText {
- elide: "ElideMiddle"
- text: "aaa bbb ccc ddd eee fff"
- width: 80
- }
- TestText {
- elide: "ElideRight"
- text: "aaa bbb ccc ddd eee fff"
- width: 80
- }
- TestText {
- elide: "ElideNone"
- text: "aaa bbb ccc ddd eee fff"
- width: 80
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide2.qml
deleted file mode 100644
index 0370a73b57..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/elide2.qml
+++ /dev/null
@@ -1,13 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- width: 500
- height: 100
-
- TestText {
- NumberAnimation on width { from: 500; to: 0; loops: Animation.Infinite; duration: 5000 }
- elide: Text.ElideRight
- text: 'Here is some very long text that we should truncate when sizing window'
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/multilength.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/multilength.qml
deleted file mode 100644
index db991a2d0e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/elide/multilength.qml
+++ /dev/null
@@ -1,20 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- width: 500
- height: 50
- color: "lightBlue"
- Rectangle {
- width: myText.width
- height: myText.height
- color: "white"
- anchors.centerIn: parent
- TestText {
- id: myText
- NumberAnimation on width { from: 500; to: 0; loops: Animation.Infinite; duration: 5000 }
- elide: "ElideRight"
- text: "Brevity is the soul of wit, and tediousness the limbs and outward flourishes.\x9CBrevity is a great charm of eloquence.\x9CBe concise!\x9CSHHHHHHHHHHHHHHHHHHHHHHHHHHHH"
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/BorderedText.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/BorderedText.qml
deleted file mode 100644
index fe4e2e7025..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/BorderedText.qml
+++ /dev/null
@@ -1,9 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-TestText {
- property color bcolor: "blue"
- font.pixelSize: 10
- text: "The quick brown fox\njumps over\nthe lazy dog."
- Rectangle { id: border; color: "transparent"; border.color: bcolor; anchors.fill: parent; opacity: 0.2 }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png
deleted file mode 100644
index cfa61a9a99..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.qml
deleted file mode 100644
index fdf23106c4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "plaintext.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.png
deleted file mode 100644
index e47b47954a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.qml
deleted file mode 100644
index f6cddc43a4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext2.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "plaintext2.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.png
deleted file mode 100644
index 0d3c672804..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.qml
deleted file mode 100644
index 13f413a1ca..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/plaintext3.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "plaintext3.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png
deleted file mode 100644
index 76e5b9f80f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.qml
deleted file mode 100644
index 3da391dc50..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "richtext.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.0.png
deleted file mode 100644
index bb65aded70..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.qml
deleted file mode 100644
index afae3f89bc..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-MAC/richtext2.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "richtext2.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.0.png
deleted file mode 100644
index 56d98ff0a5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.qml
deleted file mode 100644
index fdf23106c4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "plaintext.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.0.png
deleted file mode 100644
index 1ab1eb5bb0..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.qml
deleted file mode 100644
index f6cddc43a4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext2.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "plaintext2.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.0.png
deleted file mode 100644
index 04e0f5e842..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.qml
deleted file mode 100644
index 13f413a1ca..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/plaintext3.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "plaintext3.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.0.png
deleted file mode 100644
index 68921f6588..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.qml
deleted file mode 100644
index 3da391dc50..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "richtext.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.0.png
deleted file mode 100644
index c9450c7c80..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.qml
deleted file mode 100644
index afae3f89bc..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data-X11/richtext2.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "richtext2.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.0.png
deleted file mode 100644
index 89195ae7dc..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.qml
deleted file mode 100644
index fdf23106c4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "plaintext.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext2.0.png
deleted file mode 100644
index 0574f63fe9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext2.qml
deleted file mode 100644
index f6cddc43a4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext2.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "plaintext2.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext3.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext3.0.png
deleted file mode 100644
index 0d3c672804..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext3.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext3.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext3.qml
deleted file mode 100644
index 13f413a1ca..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/plaintext3.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "plaintext3.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.0.png
deleted file mode 100644
index 6a4872839e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.qml
deleted file mode 100644
index 3da391dc50..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "richtext.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext2.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext2.0.png
deleted file mode 100644
index 34f8e387b9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext2.qml
deleted file mode 100644
index afae3f89bc..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/data/richtext2.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "richtext2.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml
deleted file mode 100644
index 64ab65b8ae..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext.qml
+++ /dev/null
@@ -1,101 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- id: s; width: 620; height: 360; color: "lightsteelblue"
- property string text: "Jackdaws love my big sphinx of quartz."
-
- Column {
- spacing: 8
- TestText {
- text: s.text; horizontalAlignment: Text.AlignLeft; width: s.width
- }
- TestText {
- font.pixelSize: 18
- text: s.text; horizontalAlignment: Text.AlignHCenter; verticalAlignment: Text.AlignVCenter; width: s.width;
- }
- TestText {
- font.pixelSize: 24
- text: s.text; horizontalAlignment: Text.AlignRight; verticalAlignment: Text.AlignBottom; width: s.width;
- }
- Grid{
- columns: 2
- spacing: 4
- TestText {
- text: s.text; color: "red"; smooth: true
- }
- TestText {
- text: s.text; font.capitalization: "AllUppercase"
- }
- TestText {
- text: s.text; font.underline: true
- }
- TestText {
- text: s.text; font.overline: true; smooth: true
- }
- TestText {
- text: s.text; font.strikeout: true
- }
- TestText {
- text: s.text; font.underline: true; font.overline: true; font.strikeout: true
- }
- TestText {
- text: s.text; style: Text.Outline; styleColor: "white"
- }
- TestText {
- text: s.text; style: Text.Sunken; styleColor: "gray"
- }
- TestText {
- text: s.text; style: Text.Raised; styleColor: "yellow"
- }
- TestText {
- text: s.text; font.letterSpacing: 2
- }
- }
- TestText {
- text: s.text; font.underline: true; font.letterSpacing: 2; font.capitalization: "AllUppercase"; color: "blue"
- }
- TestText {
- text: s.text; font.overline: true; font.wordSpacing: 25; font.capitalization: "Capitalize"; color: "green"
- }
- Row{
- height: childrenRect.height
- spacing: 4
- TestText {
- text: s.text; elide: Text.ElideLeft; width: 200
- }
- TestText {
- text: s.text; elide: Text.ElideMiddle; width: 200
- }
- TestText {
- text: s.text; elide: Text.ElideRight; width: 200
- }
- }
- Row{
- height: childrenRect.height
- spacing: 4
- TestText{
- text: s.text; elide: Text.ElideLeft; width: 200; wrapMode: Text.WordWrap
- }
- TestText {
- text: s.text; elide: Text.ElideMiddle; width: 200; wrapMode: Text.WordWrap
- }
- TestText {
- text: s.text; elide: Text.ElideRight; width: 200; wrapMode: Text.WordWrap
- }
- }
- Row{
- height: childrenRect.height
- spacing: 4
- TestText {
- text: s.text + " thisisaverylongstringwithnospaces"; width: 150; wrapMode: Text.WrapAnywhere
- }
- TestText {
- text: s.text + " thisisaverylongstringwithnospaces"; width: 150; wrapMode: Text.Wrap
- }
- TestText {
-text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white"; wrapMode: Text.WordWrap; width: 200
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext2.qml
deleted file mode 100644
index 01de1f0046..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext2.qml
+++ /dev/null
@@ -1,23 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- width: 400; height: 200
-
- Row {
- spacing: 20
- anchors.centerIn: parent
- TestText {
- text: "First line\nSecond line"; wrapMode: Text.Wrap
- }
- TestText {
- text: "First line\nSecond line"; width: 70
- }
- TestText {
- text: "First Second\nThird Fourth"; wrapMode: Text.Wrap; width: 50
- }
- TestText {
- text: "First line<br>Second line"; textFormat: Text.StyledText
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext3.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext3.qml
deleted file mode 100644
index 10a2d9ab19..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/plaintext3.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- id: main
- width: 620; height: 280
-
-
- Grid {
- x: 4; y: 4
- spacing: 8
- columns: 4
-
- Column {
- spacing: 4
- BorderedText { }
- BorderedText { horizontalAlignment: Text.AlignHCenter }
- BorderedText { horizontalAlignment: Text.AlignRight }
- }
-
- Column {
- spacing: 4
- BorderedText { wrapMode: Text.Wrap }
- BorderedText { horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap }
- BorderedText { horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap }
- }
-
- Column {
- spacing: 4
- BorderedText { wrapMode: Text.Wrap; elide: Text.ElideRight }
- BorderedText { horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap; elide: Text.ElideRight }
- BorderedText { horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap; elide: Text.ElideRight }
- }
-
- Column {
- spacing: 4
- BorderedText { width: 230; wrapMode: Text.Wrap; elide: Text.ElideRight }
- BorderedText { width: 230; horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap; elide: Text.ElideRight }
- BorderedText { width: 230; horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap; elide: Text.ElideRight }
- }
-
- Column {
- spacing: 4
- BorderedText { width: 120; wrapMode: Text.Wrap; elide: Text.ElideRight }
- BorderedText { width: 120; horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap; elide: Text.ElideRight }
- BorderedText { width: 120; horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap; elide: Text.ElideRight }
- }
-
- Column {
- spacing: 4
- BorderedText { width: 120; wrapMode: Text.Wrap }
- BorderedText { width: 120; horizontalAlignment: Text.AlignHCenter; wrapMode: Text.Wrap }
- BorderedText { width: 120; horizontalAlignment: Text.AlignRight; wrapMode: Text.Wrap }
- }
-
- Column {
- spacing: 4
- BorderedText { width: 120 }
- BorderedText { width: 120; horizontalAlignment: Text.AlignHCenter }
- BorderedText { width: 120; horizontalAlignment: Text.AlignRight }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml
deleted file mode 100644
index a748b686c4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext.qml
+++ /dev/null
@@ -1,47 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- id: s; width: 620; height: 300; color: "lightsteelblue"
- property string text: "<b>The</b> <i>quick</i> <u>brown</u> <o>fox</o> <big>jumps</big> <small>over</small> <tt>the</tt> <s>lazy</s> <em>dog</em>."
-
- Column {
- spacing: 6
- TestText {
- text: s.text
- }
- TestText {
- text: s.text; font.pixelSize: 18
- }
- TestText {
- text: s.text; font.pixelSize: 24
- }
- TestText {
- text: s.text; color: "red"; smooth: true
- }
- TestText {
- text: s.text; font.capitalization: "AllUppercase"
- }
- TestText {
- text: s.text; font.underline: true
- }
- TestText {
- text: s.text; font.overline: true; smooth: true
- }
- TestText {
- text: s.text; font.strikeout: true
- }
- TestText {
- text: s.text; font.underline: true; font.overline: true; font.strikeout: true
- }
- TestText {
- text: s.text; font.letterSpacing: 2
- }
- TestText {
- text: s.text; font.underline: true; font.letterSpacing: 2; font.capitalization: "AllUppercase"; color: "blue"
- }
- TestText {
- text: s.text; font.overline: true; font.wordSpacing: 25; font.capitalization: "Capitalize"; color: "green"
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext2.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext2.qml
deleted file mode 100644
index f5e85fa00a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/font/richtext2.qml
+++ /dev/null
@@ -1,43 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-//This is a continuation of richtext.qml, it was bisected so that it could fit on smaller screens
-Rectangle {
- id: s; width: 620; height: 300; color: "lightsteelblue"
- property string text: "<b>The</b> <i>quick</i> <u>brown</u> <o>fox</o> <big>jumps</big> <small>over</small> <tt>the</tt> <s>lazy</s> <em>dog</em>."
-
- Column {
- spacing: 6
- TestText {
- text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white"
- }
- TestText {
- text: s.text; font.pixelSize: 18; style: Text.Sunken; styleColor: "gray"
- }
- TestText {
- text: s.text; font.pixelSize: 18; style: Text.Raised; styleColor: "yellow"
- }
- TestText {
- text: s.text; horizontalAlignment: Text.AlignLeft; width: s.width
- }
- TestText {
- text: s.text; horizontalAlignment: Text.AlignHCenter; verticalAlignment: Text.AlignVCenter; width: s.width; height: 20
- }
- TestText {
- text: s.text; horizontalAlignment: Text.AlignRight; verticalAlignment: Text.AlignBottom; width: s.width; height: 20
- }
- Row{
- height: childrenRect.height;
- spacing: 4
- TestText {
- text: s.text + " thisisaverylongstringwithnospaces"; width: 150; wrapMode: Text.WrapAnywhere
- }
- TestText {
- text: s.text + " thisisaverylongstringwithnospaces"; width: 150; wrapMode: Text.Wrap
- }
- TestText {
- text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white"; wrapMode: Text.WordWrap; width: 200
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines.0.png
deleted file mode 100644
index c24c7c65ad..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines.qml
deleted file mode 100644
index affd3a61e7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "newLines.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap.0.png
deleted file mode 100644
index 0ba68e5aa6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap.qml
deleted file mode 100644
index 410b47d17c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "newLines_wrap.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap_elide.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap_elide.0.png
deleted file mode 100644
index 3f1144b819..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap_elide.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap_elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap_elide.qml
deleted file mode 100644
index 94cf1d2528..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/newLines_wrap_elide.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "newLines_wrap_elide.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap.0.png
deleted file mode 100644
index f0ad9651c7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap.qml
deleted file mode 100644
index 4b55312c5e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "wrap.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap_elide.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap_elide.0.png
deleted file mode 100644
index 62274ce3e4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap_elide.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap_elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap_elide.qml
deleted file mode 100644
index 7d002ea407..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data-X11/wrap_elide.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "wrap_elide.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines.0.png
deleted file mode 100644
index c24c7c65ad..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines.qml
deleted file mode 100644
index affd3a61e7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "newLines.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap.0.png
deleted file mode 100644
index 0ba68e5aa6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap.qml
deleted file mode 100644
index 410b47d17c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "newLines_wrap.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap_elide.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap_elide.0.png
deleted file mode 100644
index 3f1144b819..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap_elide.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap_elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap_elide.qml
deleted file mode 100644
index 94cf1d2528..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/newLines_wrap_elide.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "newLines_wrap_elide.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap.0.png
deleted file mode 100644
index f0ad9651c7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap.qml
deleted file mode 100644
index 4b55312c5e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "wrap.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap_elide.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap_elide.0.png
deleted file mode 100644
index 62274ce3e4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap_elide.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap_elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap_elide.qml
deleted file mode 100644
index 7d002ea407..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/data/wrap_elide.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "wrap_elide.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines.qml
deleted file mode 100644
index 4e993c6972..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines.qml
+++ /dev/null
@@ -1,13 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- width: childrenRect.width
- height: childrenRect.height
-
- TestText {
- width: 80
- maximumLineCount: 2
- text: "Line1\nLine2\nLine3\nLine4"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines_wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines_wrap.qml
deleted file mode 100644
index 5d8f50b539..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines_wrap.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- width: childrenRect.width
- height: childrenRect.height
-
- TestText {
- width: 80
- maximumLineCount: 3
- wrapMode: Text.WordWrap
- text: "Line1 has a more\nLine2\nLine3\nLine4"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines_wrap_elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines_wrap_elide.qml
deleted file mode 100644
index ac7b5cbe2d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/newLines_wrap_elide.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- width: childrenRect.width
- height: childrenRect.height
-
- TestText {
- width: 80
- maximumLineCount: 3
- wrapMode: Text.WordWrap
- elide: Text.ElideRight
- text: "Line1 has a more\nLine2\nLine3\nLine4"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/wrap.qml
deleted file mode 100644
index 6d72430eb4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/wrap.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- width: childrenRect.width
- height: childrenRect.height
-
- TestText {
- width: 80
- maximumLineCount: 3
- wrapMode: Text.WordWrap
- text: "The quick brown fox jumped over the lazy dog"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/wrap_elide.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/wrap_elide.qml
deleted file mode 100644
index 785c5f5399..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/maximumLineCount/wrap_elide.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import QtQuick 1.0
-import "../../shared" 1.0
-
-Rectangle {
- width: childrenRect.width
- height: childrenRect.height
-
- TestText {
- width: 80
- maximumLineCount: 3
- wrapMode: Text.WordWrap
- elide: Text.ElideRight
- text: "The quick brown fox jumped over the lazy dog"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetext/qtbug_14865.qml b/tests/auto/declarative/qmlvisual/qdeclarativetext/qtbug_14865.qml
deleted file mode 100644
index 6699076c01..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetext/qtbug_14865.qml
+++ /dev/null
@@ -1,18 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Rectangle {
- width: 100; height: 20
-
- TestText {
- id: label
- objectName: "label"
- text: "Hello world!"
- width: 10
- }
-
- Timer {
- running: true; interval: 1000
- onTriggered: label.text = ""
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml
deleted file mode 100644
index 17709ba913..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/MultilineEdit.qml
+++ /dev/null
@@ -1,76 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Item {
- id:lineedit
- property alias text: textEdit.text
-
- width: 240 + 11 //Should be set manually in most cases
- height: textEdit.height + 11
-
- Rectangle {
- color: 'lightsteelblue'
- anchors.fill: parent
- }
- clip: true
- Component.onCompleted: textEdit.cursorPosition = 0;
- TestTextEdit {
- id:textEdit
- cursorDelegate: Item {
- Rectangle {
- visible: parent.parent.focus
- color: "#009BCE"
- height: 13
- width: 2
- y: 1
- }
- }
- property int leftMargin: 6
- property int topMargin: 6
- property int rightMargin: 6
- property int bottomMargin: 6
- x: leftMargin
- width: parent.width - leftMargin - rightMargin;
- y: 5
- //Below function implements all scrolling logic
- onCursorPositionChanged: {
- if(cursorRectangle.y < topMargin - textEdit.y){//Cursor went off the front
- textEdit.y = topMargin - Math.max(0, cursorRectangle.y);
- }else if(cursorRectangle.y > parent.height - topMargin - bottomMargin - textEdit.y){//Cursor went off the end
- textEdit.y = topMargin - Math.max(0, cursorRectangle.y - (parent.height - topMargin - bottomMargin) + cursorRectangle.height);
- }
- }
- onHeightChanged: y=topMargin//reset scroll
-
- text:""
- horizontalAlignment: TextInput.AlignLeft
- wrapMode: TextEdit.WordWrap
- font.pixelSize:15
- selectionColor: 'steelblue'
- }
- MouseArea {
- //Implements all line edit mouse handling
- id: mainMouseArea
- anchors.fill: parent;
- function translateY(y){
- return y - textEdit.y
- }
- function translateX(x){
- return x - textEdit.x
- }
- onPressed: {
- textEdit.focus = true;
- textEdit.cursorPosition = textEdit.positionAt(translateX(mouse.x), translateY(mouse.y));
- }
- onPositionChanged: {
- textEdit.moveCursorSelection(textEdit.positionAt(translateX(mouse.x), translateY(mouse.y)));
- }
- onReleased: {
- }
- onDoubleClicked: {
- textEdit.selectAll()
- }
- z: textEdit.z + 1
- }
-
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/cursorDelegate.qml
deleted file mode 100644
index 1e0f71a550..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/cursorDelegate.qml
+++ /dev/null
@@ -1,36 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Rectangle {
- resources: [
- Component { id: cursorA
- Item { id: cPage;
- Behavior on x { NumberAnimation { } }
- Behavior on y { NumberAnimation { } }
- Behavior on height { NumberAnimation { duration: 200 } }
- Rectangle { id: cRectangle; color: "black"; y: 1; width: 1; height: parent.height-2;
- Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0}
- Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;}
- }
- SequentialAnimation on opacity { running: true; loops: Animation.Infinite;
- NumberAnimation { to: 0; duration: 500; easing.type: "OutQuad"}
- NumberAnimation { to: 1; duration: 500; easing.type: "InQuad"}
- }
- width: 1;
- }
- }
- ]
- width: 400
- height: 200
- color: "white"
- TestTextEdit { id: mainText
- text: "Hello World"
- cursorDelegate: cursorA
- focus: true
- font.pixelSize: 28
- selectionColor: "lightsteelblue"
- selectedTextColor: "deeppink"
- color: "forestgreen"
- anchors.centerIn: parent
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png
deleted file mode 100644
index adbdfa74eb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png
deleted file mode 100644
index d3fbdc6edd..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png
deleted file mode 100644
index 9a96d462c5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png
deleted file mode 100644
index 2026aca78c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png
deleted file mode 100644
index c43502941b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png
deleted file mode 100644
index 70f273dff6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png
deleted file mode 100644
index 80b960c197..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png
deleted file mode 100644
index 72472771c3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png
deleted file mode 100644
index af5a996b7b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.9.png
deleted file mode 100644
index b254164fbe..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml
deleted file mode 100644
index 0f3bd2cf50..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/cursorDelegate.qml
+++ /dev/null
@@ -1,1499 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "cursorDelegate.0.png"
- }
- Frame {
- msec: 32
- hash: "b742ebe441dde1f30dab6d19954a9e8c"
- }
- Frame {
- msec: 48
- hash: "d3be942cfb93c4a5d5aa906410125d02"
- }
- Frame {
- msec: 64
- hash: "062574e74354b104db2ee6d3c3af5802"
- }
- Frame {
- msec: 80
- hash: "575dd420067e4ebe5733eb4e35a447ab"
- }
- Frame {
- msec: 96
- hash: "4213f35c4cd233a08d98ba0380b7ab0a"
- }
- Frame {
- msec: 112
- hash: "505e740aacf4ca7e6ad24367ddad8678"
- }
- Frame {
- msec: 128
- hash: "007e76fb247e11a442802c7cfb4e6a24"
- }
- Frame {
- msec: 144
- hash: "5cf6cb0afffb791da1c4d0fe00cf6326"
- }
- Frame {
- msec: 160
- hash: "aff4097bd39c87c5d1459d99f314dade"
- }
- Frame {
- msec: 176
- hash: "009dc0c6ff28333ac2fdfa3d79ad2fd6"
- }
- Frame {
- msec: 192
- hash: "4bf8e82220ea0d0c4298d5374e149de2"
- }
- Frame {
- msec: 208
- hash: "938a6eea45c4412e847a8700172d80ac"
- }
- Frame {
- msec: 224
- hash: "6502416042993d05dd514119512ed61f"
- }
- Frame {
- msec: 240
- hash: "5d6702b9475e69bda2ed38f6e2d583d9"
- }
- Frame {
- msec: 256
- hash: "8e5fdc8e6cc38089d1e8ff5e91a5c894"
- }
- Frame {
- msec: 272
- hash: "c0249d07bcf25af69bf929b4d5ac00a3"
- }
- Frame {
- msec: 288
- hash: "efe333c2b8cccea0bd7135484049db06"
- }
- Frame {
- msec: 304
- hash: "57e49e9094691a204f7507b0231352b3"
- }
- Frame {
- msec: 320
- hash: "d0a45bd3cfc5e4e6f9a48534c768daba"
- }
- Frame {
- msec: 336
- hash: "6960ab817c67a61af31cc187efe65016"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 352
- hash: "3b0d483ff765f36a196411967b6dfd70"
- }
- Frame {
- msec: 368
- hash: "559713749d65246b185c0c91eb7ad39e"
- }
- Frame {
- msec: 384
- hash: "9aea32722fd4f8b0cde3c06c61cecde6"
- }
- Frame {
- msec: 400
- hash: "25dfa32ce92b6044f5ea68411ab5de5b"
- }
- Frame {
- msec: 416
- hash: "dab689ed2bbe663df309548e615e8621"
- }
- Frame {
- msec: 432
- hash: "26ad44cef380ff9f64c12180fb54c695"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 448
- hash: "5e8bbcd46b5692e66963387b80971e90"
- }
- Frame {
- msec: 464
- hash: "747df5357daa951fbedeadf909f9dbf3"
- }
- Frame {
- msec: 480
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 496
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 512
- hash: "cb6ca047657a99dbbb037c1c45b40866"
- }
- Frame {
- msec: 528
- hash: "cb6ca047657a99dbbb037c1c45b40866"
- }
- Frame {
- msec: 544
- hash: "cb6ca047657a99dbbb037c1c45b40866"
- }
- Frame {
- msec: 560
- hash: "cb6ca047657a99dbbb037c1c45b40866"
- }
- Frame {
- msec: 576
- hash: "1684711d2c492de2093357168b8726c6"
- }
- Frame {
- msec: 592
- hash: "6d960ca89faec6e3d81f78911b9b5ecf"
- }
- Frame {
- msec: 608
- hash: "1fdd91b57f5832d5c4d797d150892156"
- }
- Frame {
- msec: 624
- hash: "4e0f1ec936cacf3ab6fbc7899a6bc92d"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 640
- hash: "9e67145b58051fd7dc4a18ee0e6a72ad"
- }
- Frame {
- msec: 656
- hash: "14dfb4b356ec851275ddd8e93f04e2d2"
- }
- Frame {
- msec: 672
- hash: "e9b8f691ad62d10877aacb94f98ea308"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 688
- hash: "a44b5f63ec1f98b6bc34e95214c9d79e"
- }
- Frame {
- msec: 704
- hash: "6bc0e035c90b74de024d379388fd7014"
- }
- Frame {
- msec: 720
- hash: "61d8f417f7ca5cba2e98a7a7427ea635"
- }
- Frame {
- msec: 736
- hash: "f50adb10f55bcd4c2eb0955f6e1ff78e"
- }
- Frame {
- msec: 752
- hash: "9e160aefac79a9804f6cb8622e45ba71"
- }
- Frame {
- msec: 768
- hash: "6555a0bd60dbbad66283fe37b2f0c362"
- }
- Frame {
- msec: 784
- hash: "0cacc38d86ebf497d31b01556b8a5924"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 800
- hash: "b2fe1d5cb5e0a5f07d84ff7a494ae07a"
- }
- Frame {
- msec: 816
- hash: "2c6dbd777bba27b481a8a6ef34d213f9"
- }
- Frame {
- msec: 832
- hash: "989e53620edc6b9b0990545459e7f787"
- }
- Frame {
- msec: 848
- hash: "a89686a7802da3fd07a265a5814255f4"
- }
- Frame {
- msec: 864
- hash: "9f707497eb0c224c8b0a3bba1533217a"
- }
- Frame {
- msec: 880
- hash: "29df155c0b75de8e1bd6361372a51797"
- }
- Frame {
- msec: 896
- hash: "fb7cbeb1e3689cc38acf7a02d671a955"
- }
- Frame {
- msec: 912
- hash: "9045ada282ec37b1681cef89dfcc8f67"
- }
- Frame {
- msec: 928
- hash: "b3816b225eaf5ab49bb31f86ecdd52cb"
- }
- Frame {
- msec: 944
- hash: "0956fccb8e1bf2c218a9e39947846aaa"
- }
- Frame {
- msec: 960
- hash: "01f4ba2e0b4eb018c620efa5e92ec9fe"
- }
- Frame {
- msec: 976
- image: "cursorDelegate.1.png"
- }
- Frame {
- msec: 992
- hash: "c19ec2d067d30a6d42056c9799b0c0c3"
- }
- Frame {
- msec: 1008
- hash: "43a9d066887a89372136619ae8eec100"
- }
- Frame {
- msec: 1024
- hash: "43a9d066887a89372136619ae8eec100"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1040
- hash: "c19ec2d067d30a6d42056c9799b0c0c3"
- }
- Frame {
- msec: 1056
- hash: "8303d8b19e6e5b249aaf2ffbb6d29f91"
- }
- Frame {
- msec: 1072
- hash: "01f4ba2e0b4eb018c620efa5e92ec9fe"
- }
- Frame {
- msec: 1088
- hash: "0956fccb8e1bf2c218a9e39947846aaa"
- }
- Frame {
- msec: 1104
- hash: "b3816b225eaf5ab49bb31f86ecdd52cb"
- }
- Frame {
- msec: 1120
- hash: "9045ada282ec37b1681cef89dfcc8f67"
- }
- Frame {
- msec: 1136
- hash: "fb7cbeb1e3689cc38acf7a02d671a955"
- }
- Frame {
- msec: 1152
- hash: "29df155c0b75de8e1bd6361372a51797"
- }
- Frame {
- msec: 1168
- hash: "9f707497eb0c224c8b0a3bba1533217a"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1184
- hash: "9f712a688504fff9719b38c067b32c50"
- }
- Frame {
- msec: 1200
- hash: "24f1467e3be5f4d0509800bef97f4401"
- }
- Frame {
- msec: 1216
- hash: "d56e5fd86addad3bc53417b82ff68829"
- }
- Frame {
- msec: 1232
- hash: "f1c60934ef284840e61fd46c758dd14b"
- }
- Frame {
- msec: 1248
- hash: "7be9fc54278572116f9bd9be8f6994a4"
- }
- Frame {
- msec: 1264
- hash: "0e0ea7ca1b8479d62ae81fb53a1ec264"
- }
- Frame {
- msec: 1280
- hash: "f8b19dbaeec469896a081687d80a2ac4"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1296
- hash: "a28665925ec121a2bf01733e0a20e18b"
- }
- Frame {
- msec: 1312
- hash: "baa0c601f3d84e344847dcb7f3bd18cf"
- }
- Frame {
- msec: 1328
- hash: "a80d59a1e5af45bc799c19200a3c44ec"
- }
- Frame {
- msec: 1344
- hash: "2a6f833e2fd2930c8ec49016809d8cf6"
- }
- Frame {
- msec: 1360
- hash: "efdc2daad00aaec2c39541261d6d1a98"
- }
- Frame {
- msec: 1376
- hash: "65b75f2a074d4ac5d84fb762d1762231"
- }
- Frame {
- msec: 1392
- hash: "2a170e51a83e902d2699501877225ee3"
- }
- Frame {
- msec: 1408
- hash: "1e4c78e279ff4ab7a875e4d67f68f8ca"
- }
- Frame {
- msec: 1424
- hash: "fd515cf3ec7b987e0e36c02f1da5b8a7"
- }
- Frame {
- msec: 1440
- hash: "54126910ea7a303ea3e7726309d8bf39"
- }
- Frame {
- msec: 1456
- hash: "89263867df0cfa623f80e1578532d98d"
- }
- Frame {
- msec: 1472
- hash: "1bf04aafab1177182eec9a0ff459cd7b"
- }
- Frame {
- msec: 1488
- hash: "1bf04aafab1177182eec9a0ff459cd7b"
- }
- Frame {
- msec: 1504
- hash: "1bf04aafab1177182eec9a0ff459cd7b"
- }
- Frame {
- msec: 1520
- hash: "1bf04aafab1177182eec9a0ff459cd7b"
- }
- Frame {
- msec: 1536
- hash: "1bf04aafab1177182eec9a0ff459cd7b"
- }
- Frame {
- msec: 1552
- hash: "1bf04aafab1177182eec9a0ff459cd7b"
- }
- Frame {
- msec: 1568
- hash: "c824a8bbf60514c20713b1fa583451b2"
- }
- Frame {
- msec: 1584
- hash: "f6282cd20d7f3f64415a0a24df578964"
- }
- Frame {
- msec: 1600
- hash: "a4633c7dc825f20a7ada2079712f7b5e"
- }
- Frame {
- msec: 1616
- hash: "240c839fc986573523b30567afe05623"
- }
- Frame {
- msec: 1632
- hash: "9e3098ea355a80e7e439f3cdecd15b77"
- }
- Frame {
- msec: 1648
- hash: "d8ec7fd807f345509703f4ecf94b583d"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1664
- hash: "5b6e0bedeca1784610081762850813a1"
- }
- Frame {
- msec: 1680
- hash: "13a596d7aefa3c8ce61660dd5ce27627"
- }
- Frame {
- msec: 1696
- hash: "295bbee587f2fdbadab7aa4e3900b6e0"
- }
- Frame {
- msec: 1712
- hash: "645da4001b1489b12e0bb5dd1b5c114b"
- }
- Frame {
- msec: 1728
- hash: "8e7e4f5b8eb437ab92e466b1d79aee01"
- }
- Frame {
- msec: 1744
- hash: "1a7ec33aa8a19a36a7fc99c3040e427a"
- }
- Frame {
- msec: 1760
- hash: "85f6c7d9f86910e7cceeaf9efc375355"
- }
- Frame {
- msec: 1776
- hash: "8e54b0699d681cfbfc3b605b010c6b76"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "5d6702b9475e69bda2ed38f6e2d583d9"
- }
- Frame {
- msec: 1808
- hash: "6502416042993d05dd514119512ed61f"
- }
- Frame {
- msec: 1824
- hash: "938a6eea45c4412e847a8700172d80ac"
- }
- Frame {
- msec: 1840
- hash: "4bf8e82220ea0d0c4298d5374e149de2"
- }
- Frame {
- msec: 1856
- hash: "009dc0c6ff28333ac2fdfa3d79ad2fd6"
- }
- Frame {
- msec: 1872
- hash: "aff4097bd39c87c5d1459d99f314dade"
- }
- Frame {
- msec: 1888
- hash: "5cf6cb0afffb791da1c4d0fe00cf6326"
- }
- Frame {
- msec: 1904
- hash: "007e76fb247e11a442802c7cfb4e6a24"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1920
- hash: "505e740aacf4ca7e6ad24367ddad8678"
- }
- Frame {
- msec: 1936
- image: "cursorDelegate.2.png"
- }
- Frame {
- msec: 1952
- hash: "575dd420067e4ebe5733eb4e35a447ab"
- }
- Frame {
- msec: 1968
- hash: "062574e74354b104db2ee6d3c3af5802"
- }
- Frame {
- msec: 1984
- hash: "d3be942cfb93c4a5d5aa906410125d02"
- }
- Frame {
- msec: 2000
- hash: "b742ebe441dde1f30dab6d19954a9e8c"
- }
- Frame {
- msec: 2016
- hash: "bbe3a292c59e2f7ae6b8877f6736c96e"
- }
- Frame {
- msec: 2032
- hash: "b742ebe441dde1f30dab6d19954a9e8c"
- }
- Frame {
- msec: 2048
- hash: "d3be942cfb93c4a5d5aa906410125d02"
- }
- Frame {
- msec: 2064
- hash: "062574e74354b104db2ee6d3c3af5802"
- }
- Frame {
- msec: 2080
- hash: "575dd420067e4ebe5733eb4e35a447ab"
- }
- Frame {
- msec: 2096
- hash: "4213f35c4cd233a08d98ba0380b7ab0a"
- }
- Frame {
- msec: 2112
- hash: "505e740aacf4ca7e6ad24367ddad8678"
- }
- Frame {
- msec: 2128
- hash: "007e76fb247e11a442802c7cfb4e6a24"
- }
- Frame {
- msec: 2144
- hash: "5cf6cb0afffb791da1c4d0fe00cf6326"
- }
- Frame {
- msec: 2160
- hash: "aff4097bd39c87c5d1459d99f314dade"
- }
- Frame {
- msec: 2176
- hash: "009dc0c6ff28333ac2fdfa3d79ad2fd6"
- }
- Frame {
- msec: 2192
- hash: "4bf8e82220ea0d0c4298d5374e149de2"
- }
- Frame {
- msec: 2208
- hash: "938a6eea45c4412e847a8700172d80ac"
- }
- Frame {
- msec: 2224
- hash: "6502416042993d05dd514119512ed61f"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2240
- hash: "5d6702b9475e69bda2ed38f6e2d583d9"
- }
- Frame {
- msec: 2256
- hash: "8e5fdc8e6cc38089d1e8ff5e91a5c894"
- }
- Frame {
- msec: 2272
- hash: "c0249d07bcf25af69bf929b4d5ac00a3"
- }
- Frame {
- msec: 2288
- hash: "efe333c2b8cccea0bd7135484049db06"
- }
- Frame {
- msec: 2304
- hash: "57e49e9094691a204f7507b0231352b3"
- }
- Frame {
- msec: 2320
- hash: "d0a45bd3cfc5e4e6f9a48534c768daba"
- }
- Frame {
- msec: 2336
- hash: "6960ab817c67a61af31cc187efe65016"
- }
- Frame {
- msec: 2352
- hash: "3b0d483ff765f36a196411967b6dfd70"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "559713749d65246b185c0c91eb7ad39e"
- }
- Frame {
- msec: 2384
- hash: "9aea32722fd4f8b0cde3c06c61cecde6"
- }
- Frame {
- msec: 2400
- hash: "25dfa32ce92b6044f5ea68411ab5de5b"
- }
- Frame {
- msec: 2416
- hash: "dab689ed2bbe663df309548e615e8621"
- }
- Frame {
- msec: 2432
- hash: "26ad44cef380ff9f64c12180fb54c695"
- }
- Frame {
- msec: 2448
- hash: "5e8bbcd46b5692e66963387b80971e90"
- }
- Frame {
- msec: 2464
- hash: "747df5357daa951fbedeadf909f9dbf3"
- }
- Frame {
- msec: 2480
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2496
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 2512
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 2528
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 2544
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 2560
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 2576
- hash: "1568d4b93d2a284c46f23a0cb17acc24"
- }
- Frame {
- msec: 2592
- hash: "0665a6cfc09981cd8a7ffd0d02e6fbdc"
- }
- Frame {
- msec: 2608
- hash: "49892aa44c8e3584239d245a7ca98af3"
- }
- Frame {
- msec: 2624
- hash: "c9def393bb5d6c447c45b127d32b5e50"
- }
- Frame {
- msec: 2640
- hash: "679d94007b33197ce7decb4df6e8343c"
- }
- Frame {
- msec: 2656
- hash: "817987bcd9f1147ba047333b42ed289d"
- }
- Frame {
- msec: 2672
- hash: "fdd9331015c289b8e33b094999b11dce"
- }
- Frame {
- msec: 2688
- hash: "e4fa13ba2770c0d390945ee4505fea9b"
- }
- Frame {
- msec: 2704
- hash: "69965c88d2273acf680af243610efcf3"
- }
- Frame {
- msec: 2720
- hash: "6cbeb6787a0a7fb7f654f877e41eed57"
- }
- Frame {
- msec: 2736
- hash: "e7528c074b3c65afe3873a3cdf96f041"
- }
- Frame {
- msec: 2752
- hash: "c06c72abe46087f0db87a84fdcbcf601"
- }
- Frame {
- msec: 2768
- hash: "b6840f1d7cf2caed17d763b782553071"
- }
- Frame {
- msec: 2784
- hash: "71fdb77c4133f37180d581e4b1fe9c83"
- }
- Frame {
- msec: 2800
- hash: "f5e2075ed86f146e0162ae4f0a9c6b90"
- }
- Frame {
- msec: 2816
- hash: "5e76b741f49bd279b9f62ae3f474e5b5"
- }
- Frame {
- msec: 2832
- hash: "28c8003699352c3c9563556939d49cd8"
- }
- Frame {
- msec: 2848
- hash: "15ab751c8463326c870dc9ee1af3c1d7"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2864
- hash: "6035ef1252d4f28b965b0bf4771540e4"
- }
- Frame {
- msec: 2880
- hash: "7c79170b07db90ca94f5642f3c0d3998"
- }
- Frame {
- msec: 2896
- image: "cursorDelegate.3.png"
- }
- Frame {
- msec: 2912
- hash: "3b4d1f5e1506c851887c86883eb1a6ac"
- }
- Frame {
- msec: 2928
- hash: "5aff09b0e9078ca6d4ed93694d1fa6f9"
- }
- Frame {
- msec: 2944
- hash: "16813ebf88f881a4cebf75a2325dc064"
- }
- Frame {
- msec: 2960
- hash: "5b901505bb1ab80cd4d5bc85b73ae8ad"
- }
- Frame {
- msec: 2976
- hash: "04c7f2e959c31bf6d3e7bea25d27eb87"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2992
- hash: "408bb423b93cb48afb97a7744848fc5e"
- }
- Frame {
- msec: 3008
- hash: "1a58d66b4d42736eea49a602923a0941"
- }
- Frame {
- msec: 3024
- hash: "1a58d66b4d42736eea49a602923a0941"
- }
- Frame {
- msec: 3040
- hash: "408bb423b93cb48afb97a7744848fc5e"
- }
- Frame {
- msec: 3056
- hash: "04c7f2e959c31bf6d3e7bea25d27eb87"
- }
- Frame {
- msec: 3072
- hash: "5b901505bb1ab80cd4d5bc85b73ae8ad"
- }
- Frame {
- msec: 3088
- hash: "16813ebf88f881a4cebf75a2325dc064"
- }
- Frame {
- msec: 3104
- hash: "5aff09b0e9078ca6d4ed93694d1fa6f9"
- }
- Frame {
- msec: 3120
- hash: "3b4d1f5e1506c851887c86883eb1a6ac"
- }
- Frame {
- msec: 3136
- hash: "6a0a21ed890b475ce506714cc0501381"
- }
- Frame {
- msec: 3152
- hash: "7c79170b07db90ca94f5642f3c0d3998"
- }
- Frame {
- msec: 3168
- hash: "6035ef1252d4f28b965b0bf4771540e4"
- }
- Frame {
- msec: 3184
- hash: "9529b5b70b76541ec82be173deedadfb"
- }
- Frame {
- msec: 3200
- hash: "174bbd347422c46923d6a5831cb5cd94"
- }
- Frame {
- msec: 3216
- hash: "1eb95daf505b817161f1a251cdde1b3c"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3232
- hash: "10f59fadaa27f78b7a1fb25d3a30adf7"
- }
- Frame {
- msec: 3248
- hash: "b87417c77b43bdbfdc3d8293c9a23216"
- }
- Frame {
- msec: 3264
- hash: "64345c713d61638bcc32f277208f2665"
- }
- Frame {
- msec: 3280
- hash: "753dbe02fa95ee2b1387b98d7d456dcf"
- }
- Frame {
- msec: 3296
- hash: "fce9a58aaf8d5cadbb029194317dcae3"
- }
- Frame {
- msec: 3312
- hash: "367083bd88443558002601acbc355b1a"
- }
- Frame {
- msec: 3328
- hash: "8e6ffccf321fa30faec432a4b4138967"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3344
- hash: "4dd4e0dafeed0fc11790145d39f7c85f"
- }
- Frame {
- msec: 3360
- hash: "d612765c6b43035ea4e4683f968a18d3"
- }
- Frame {
- msec: 3376
- hash: "fa77d4d8d339b78e5a28dcf69336c116"
- }
- Frame {
- msec: 3392
- hash: "34cf572a432bdd6dcfcc4fdfa032a800"
- }
- Frame {
- msec: 3408
- hash: "150b5a2f2e916b7023764c481c768492"
- }
- Frame {
- msec: 3424
- hash: "fbc93f511d6f3093c2ecf624a2c63749"
- }
- Frame {
- msec: 3440
- hash: "f9e0bd08b722c16493a8886a19920dda"
- }
- Frame {
- msec: 3456
- hash: "f499f4b3017c88c63f0a2035ad527a0e"
- }
- Frame {
- msec: 3472
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 3488
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 3504
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 3520
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 3536
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 3552
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 3568
- hash: "68d331f508b43e756d6e30ba9b60f9aa"
- }
- Frame {
- msec: 3584
- hash: "c9147c159aebb7aa51d4bac28f96cb57"
- }
- Frame {
- msec: 3600
- hash: "0636b7c5cc215882c60b50f62133c715"
- }
- Frame {
- msec: 3616
- hash: "10b52296e40380a915f7538d21d321a4"
- }
- Frame {
- msec: 3632
- hash: "9c56e2c5e04e8767b70d357558e179de"
- }
- Frame {
- msec: 3648
- hash: "0b1538af23c78cc779174df9fd01f60b"
- }
- Frame {
- msec: 3664
- hash: "1632c7df93f1a735236eaa2464e75ba6"
- }
- Frame {
- msec: 3680
- hash: "a08e8b921e61c79d57c0bc4fa5e79914"
- }
- Frame {
- msec: 3696
- hash: "8220951034b6f1a5755bedd53b947b4a"
- }
- Frame {
- msec: 3712
- hash: "f4c18c333796ff10218fa9145781ea7f"
- }
- Frame {
- msec: 3728
- hash: "7547d3bb0f9c4a53396cfe0252436395"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3744
- hash: "efe333c2b8cccea0bd7135484049db06"
- }
- Frame {
- msec: 3760
- hash: "c0249d07bcf25af69bf929b4d5ac00a3"
- }
- Frame {
- msec: 3776
- hash: "8e5fdc8e6cc38089d1e8ff5e91a5c894"
- }
- Frame {
- msec: 3792
- hash: "5d6702b9475e69bda2ed38f6e2d583d9"
- }
- Frame {
- msec: 3808
- hash: "6502416042993d05dd514119512ed61f"
- }
- Frame {
- msec: 3824
- hash: "938a6eea45c4412e847a8700172d80ac"
- }
- Frame {
- msec: 3840
- hash: "4bf8e82220ea0d0c4298d5374e149de2"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3856
- image: "cursorDelegate.4.png"
- }
- Frame {
- msec: 3872
- hash: "aff4097bd39c87c5d1459d99f314dade"
- }
- Frame {
- msec: 3888
- hash: "5cf6cb0afffb791da1c4d0fe00cf6326"
- }
- Frame {
- msec: 3904
- hash: "007e76fb247e11a442802c7cfb4e6a24"
- }
- Frame {
- msec: 3920
- hash: "505e740aacf4ca7e6ad24367ddad8678"
- }
- Frame {
- msec: 3936
- hash: "4213f35c4cd233a08d98ba0380b7ab0a"
- }
- Frame {
- msec: 3952
- hash: "575dd420067e4ebe5733eb4e35a447ab"
- }
- Frame {
- msec: 3968
- hash: "062574e74354b104db2ee6d3c3af5802"
- }
- Frame {
- msec: 3984
- hash: "d3be942cfb93c4a5d5aa906410125d02"
- }
- Frame {
- msec: 4000
- hash: "b742ebe441dde1f30dab6d19954a9e8c"
- }
- Frame {
- msec: 4016
- hash: "bbe3a292c59e2f7ae6b8877f6736c96e"
- }
- Frame {
- msec: 4032
- hash: "b742ebe441dde1f30dab6d19954a9e8c"
- }
- Frame {
- msec: 4048
- hash: "d3be942cfb93c4a5d5aa906410125d02"
- }
- Frame {
- msec: 4064
- hash: "062574e74354b104db2ee6d3c3af5802"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 4080
- hash: "575dd420067e4ebe5733eb4e35a447ab"
- }
- Frame {
- msec: 4096
- hash: "4213f35c4cd233a08d98ba0380b7ab0a"
- }
- Frame {
- msec: 4112
- hash: "505e740aacf4ca7e6ad24367ddad8678"
- }
- Frame {
- msec: 4128
- hash: "007e76fb247e11a442802c7cfb4e6a24"
- }
- Frame {
- msec: 4144
- hash: "5cf6cb0afffb791da1c4d0fe00cf6326"
- }
- Frame {
- msec: 4160
- hash: "aff4097bd39c87c5d1459d99f314dade"
- }
- Frame {
- msec: 4176
- hash: "009dc0c6ff28333ac2fdfa3d79ad2fd6"
- }
- Frame {
- msec: 4192
- hash: "4bf8e82220ea0d0c4298d5374e149de2"
- }
- Frame {
- msec: 4208
- hash: "938a6eea45c4412e847a8700172d80ac"
- }
- Frame {
- msec: 4224
- hash: "6502416042993d05dd514119512ed61f"
- }
- Frame {
- msec: 4240
- hash: "5d6702b9475e69bda2ed38f6e2d583d9"
- }
- Frame {
- msec: 4256
- hash: "8e5fdc8e6cc38089d1e8ff5e91a5c894"
- }
- Frame {
- msec: 4272
- hash: "c0249d07bcf25af69bf929b4d5ac00a3"
- }
- Frame {
- msec: 4288
- hash: "efe333c2b8cccea0bd7135484049db06"
- }
- Frame {
- msec: 4304
- hash: "57e49e9094691a204f7507b0231352b3"
- }
- Frame {
- msec: 4320
- hash: "d0a45bd3cfc5e4e6f9a48534c768daba"
- }
- Frame {
- msec: 4336
- hash: "6960ab817c67a61af31cc187efe65016"
- }
- Frame {
- msec: 4352
- hash: "3b0d483ff765f36a196411967b6dfd70"
- }
- Frame {
- msec: 4368
- hash: "559713749d65246b185c0c91eb7ad39e"
- }
- Frame {
- msec: 4384
- hash: "9aea32722fd4f8b0cde3c06c61cecde6"
- }
- Frame {
- msec: 4400
- hash: "25dfa32ce92b6044f5ea68411ab5de5b"
- }
- Frame {
- msec: 4416
- hash: "dab689ed2bbe663df309548e615e8621"
- }
- Frame {
- msec: 4432
- hash: "26ad44cef380ff9f64c12180fb54c695"
- }
- Frame {
- msec: 4448
- hash: "5e8bbcd46b5692e66963387b80971e90"
- }
- Frame {
- msec: 4464
- hash: "747df5357daa951fbedeadf909f9dbf3"
- }
- Frame {
- msec: 4480
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4496
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4512
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4528
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4544
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4560
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4576
- hash: "1568d4b93d2a284c46f23a0cb17acc24"
- }
- Frame {
- msec: 4592
- hash: "0665a6cfc09981cd8a7ffd0d02e6fbdc"
- }
- Frame {
- msec: 4608
- hash: "49892aa44c8e3584239d245a7ca98af3"
- }
- Frame {
- msec: 4624
- hash: "c9def393bb5d6c447c45b127d32b5e50"
- }
- Frame {
- msec: 4640
- hash: "679d94007b33197ce7decb4df6e8343c"
- }
- Frame {
- msec: 4656
- hash: "817987bcd9f1147ba047333b42ed289d"
- }
- Frame {
- msec: 4672
- hash: "fdd9331015c289b8e33b094999b11dce"
- }
- Frame {
- msec: 4688
- hash: "e4fa13ba2770c0d390945ee4505fea9b"
- }
- Frame {
- msec: 4704
- hash: "69965c88d2273acf680af243610efcf3"
- }
- Frame {
- msec: 4720
- hash: "6cbeb6787a0a7fb7f654f877e41eed57"
- }
- Frame {
- msec: 4736
- hash: "e7528c074b3c65afe3873a3cdf96f041"
- }
- Frame {
- msec: 4752
- hash: "c06c72abe46087f0db87a84fdcbcf601"
- }
- Frame {
- msec: 4768
- hash: "b6840f1d7cf2caed17d763b782553071"
- }
- Frame {
- msec: 4784
- hash: "71fdb77c4133f37180d581e4b1fe9c83"
- }
- Frame {
- msec: 4800
- hash: "f5e2075ed86f146e0162ae4f0a9c6b90"
- }
- Frame {
- msec: 4816
- image: "cursorDelegate.5.png"
- }
- Frame {
- msec: 4832
- hash: "28c8003699352c3c9563556939d49cd8"
- }
- Frame {
- msec: 4848
- hash: "15ab751c8463326c870dc9ee1af3c1d7"
- }
- Frame {
- msec: 4864
- hash: "b745b2aee5ec623163ea22614b8ab54b"
- }
- Frame {
- msec: 4880
- hash: "b3f3b8e325dcd56b696eab7228c3db09"
- }
- Frame {
- msec: 4896
- hash: "12ba65e0f70a670b2832235391d3ed05"
- }
- Frame {
- msec: 4912
- hash: "9dfac03113b662a63bddcac9c7ae8f64"
- }
- Frame {
- msec: 4928
- hash: "085bbc44102ae0d1d62531f6b6dbda98"
- }
- Frame {
- msec: 4944
- hash: "007887862e2234f4c308778ecac5e16b"
- }
- Frame {
- msec: 4960
- hash: "61e8e34755db1fb99b44830676ad95ad"
- }
- Frame {
- msec: 4976
- hash: "48c8b1b0d549f7b6d85a81803b9fe31d"
- }
- Frame {
- msec: 4992
- hash: "834cf51445f88394e33a3f3f0a5569f4"
- }
- Frame {
- msec: 5008
- hash: "a43224f77583bb7235895506f49daee6"
- }
- Frame {
- msec: 5024
- hash: "a43224f77583bb7235895506f49daee6"
- }
- Frame {
- msec: 5040
- hash: "834cf51445f88394e33a3f3f0a5569f4"
- }
- Frame {
- msec: 5056
- hash: "48c8b1b0d549f7b6d85a81803b9fe31d"
- }
- Frame {
- msec: 5072
- hash: "61e8e34755db1fb99b44830676ad95ad"
- }
- Frame {
- msec: 5088
- hash: "007887862e2234f4c308778ecac5e16b"
- }
- Frame {
- msec: 5104
- hash: "085bbc44102ae0d1d62531f6b6dbda98"
- }
- Frame {
- msec: 5120
- hash: "9dfac03113b662a63bddcac9c7ae8f64"
- }
- Frame {
- msec: 5136
- hash: "12ba65e0f70a670b2832235391d3ed05"
- }
- Frame {
- msec: 5152
- hash: "b3f3b8e325dcd56b696eab7228c3db09"
- }
- Frame {
- msec: 5168
- hash: "b745b2aee5ec623163ea22614b8ab54b"
- }
- Frame {
- msec: 5184
- hash: "15ab751c8463326c870dc9ee1af3c1d7"
- }
- Frame {
- msec: 5200
- hash: "28c8003699352c3c9563556939d49cd8"
- }
- Frame {
- msec: 5216
- hash: "5e76b741f49bd279b9f62ae3f474e5b5"
- }
- Frame {
- msec: 5232
- hash: "f5e2075ed86f146e0162ae4f0a9c6b90"
- }
- Frame {
- msec: 5248
- hash: "71fdb77c4133f37180d581e4b1fe9c83"
- }
- Frame {
- msec: 5264
- hash: "b6840f1d7cf2caed17d763b782553071"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/justify.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/justify.0.png
deleted file mode 100644
index 74c6934c9a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/justify.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/justify.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/justify.qml
deleted file mode 100644
index e4dbeb1bba..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/justify.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "justify.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png
deleted file mode 100644
index 852fc66a11..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png
deleted file mode 100644
index 4b283d01a9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png
deleted file mode 100644
index 342fe05644..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png
deleted file mode 100644
index fb4a774c93..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.4.png
deleted file mode 100644
index 852fc66a11..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml
deleted file mode 100644
index d7b26cb34b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/qt-669.qml
+++ /dev/null
@@ -1,1371 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "qt-669.0.png"
- }
- Frame {
- msec: 32
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 48
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 64
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 80
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 96
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 112
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 128
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 144
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 160
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 176
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 192
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 208
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 224
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 240
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 256
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 272
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 288
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 304
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 320
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 336
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 352
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 368
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 384
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 400
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 416
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 432
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 448
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 464
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 480
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 496
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 512
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 528
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 560
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 576
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 592
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 608
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 624
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 640
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 656
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 672
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 688
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 704
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 720
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 736
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 752
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 768
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 784
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 800
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 816
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 832
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 848
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 864
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 880
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 896
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 912
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 928
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 944
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 960
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 976
- image: "qt-669.1.png"
- }
- Frame {
- msec: 992
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 1008
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1024
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 1040
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 1056
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 1072
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 1088
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1104
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 1120
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 1136
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1152
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 1168
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 1184
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 1200
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 1216
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1232
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 1248
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 1264
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 1280
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1296
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 1312
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 1328
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 1344
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1360
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1376
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1392
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1408
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1424
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1440
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1456
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1472
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1488
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1504
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1520
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1536
- hash: "389d0ac399e709482600181b4869be43"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1552
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1568
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1584
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1600
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1616
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1632
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1648
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1664
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1680
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1696
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1712
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1728
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1744
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1760
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1776
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1792
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1808
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1824
- hash: "389d0ac399e709482600181b4869be43"
- }
- Frame {
- msec: 1840
- hash: "389d0ac399e709482600181b4869be43"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1856
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1872
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1888
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1904
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1920
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1936
- image: "qt-669.2.png"
- }
- Frame {
- msec: 1952
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1968
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 1984
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2000
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 2016
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 2032
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 2048
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Frame {
- msec: 2064
- hash: "9ec7c9965d3ce810553b1182b746d148"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2080
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 2096
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 2112
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 2128
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 2144
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 2176
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 2192
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 2208
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Frame {
- msec: 2224
- hash: "fca9d1748195f0d4388694baf901c498"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2240
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 2256
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2272
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 2288
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 2304
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 2320
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Frame {
- msec: 2336
- hash: "f531e8dd89482e3d7c501d0b3a8b3392"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2352
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2368
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2384
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2400
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2416
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2432
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2448
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2464
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2480
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2496
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2512
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2528
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2544
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2560
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2576
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Frame {
- msec: 2592
- hash: "a719560bf7912aa6cf4e8e5bfc13cb06"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2608
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 2624
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 2640
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 2656
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 2672
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2688
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 2704
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 2720
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 2736
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Frame {
- msec: 2752
- hash: "86e1ba72951c0c193bfd2cd2162c500e"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2768
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 2784
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 2800
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2816
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 2832
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 2848
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Frame {
- msec: 2864
- hash: "e5fd0e8d81d75fb53e21b6daa8e0fc7f"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2880
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 2896
- image: "qt-669.3.png"
- }
- Frame {
- msec: 2912
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 2928
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2944
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 2960
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 2976
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 2992
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Frame {
- msec: 3008
- hash: "e2a49d72741ba08c258bb70d3a13c7f6"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3024
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3040
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3056
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3072
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3088
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3104
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3120
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3136
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3152
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3168
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3184
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3200
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3216
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3232
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3248
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3264
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3280
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3296
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3312
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3328
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3344
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3360
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3376
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3392
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3408
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3424
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3440
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3456
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3472
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3488
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3504
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3520
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3536
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3552
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3568
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3584
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3600
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3616
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3632
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3648
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3664
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3680
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Frame {
- msec: 3696
- hash: "1d69ccdf88fa78b44a77147190bf1dfc"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3712
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3728
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3744
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3760
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3776
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3792
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3808
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3824
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3840
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3856
- image: "qt-669.4.png"
- }
- Frame {
- msec: 3872
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3888
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3904
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3920
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3936
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3952
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3968
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 3984
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4000
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4016
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4032
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4048
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4064
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4080
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4096
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4112
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4128
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4144
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4160
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4176
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4192
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4208
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4224
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4240
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4256
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4272
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4288
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
- Frame {
- msec: 4304
- hash: "32c2b08a6123015ca72f283f89ee1663"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.png
deleted file mode 100644
index 5049c3f81e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.png
deleted file mode 100644
index ee6e16a3e1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.png
deleted file mode 100644
index d9d22520a4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.png
deleted file mode 100644
index d9d22520a4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.11.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.12.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.12.png
deleted file mode 100644
index 5cd2d7d469..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.12.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.png
deleted file mode 100644
index cf99d98c15..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.png
deleted file mode 100644
index e3937f03db..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.png
deleted file mode 100644
index 2fe33379c2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.png
deleted file mode 100644
index 97b99134d5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.png
deleted file mode 100644
index 08e059f865..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.png
deleted file mode 100644
index bbc5ba24df..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.png
deleted file mode 100644
index 465b64e8ed..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.png
deleted file mode 100644
index d9d22520a4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.qml
deleted file mode 100644
index a064bf3747..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/usingMultilineEdit.qml
+++ /dev/null
@@ -1,4687 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "usingMultilineEdit.0.png"
- }
- Frame {
- msec: 32
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 48
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 64
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 80
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 96
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 112
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 128
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 144
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 160
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 176
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 192
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 208
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 224
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 240
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 256
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 272
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 288
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 304
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 320
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 118; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 336
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 352
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 368
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 384
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 400
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 118; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 416
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 432
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 448
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 464
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 480
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 496
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 512
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 528
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 544
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 560
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 576
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 592
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 608
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 624
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Frame {
- msec: 640
- hash: "9d5bfe023a03fde612678d000e7d4135"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 117; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 656
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 672
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 117; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 688
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 704
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 720
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 736
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 752
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 768
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 784
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 800
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 816
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 832
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 848
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 864
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 880
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 896
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 912
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 928
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 944
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 960
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 976
- image: "usingMultilineEdit.1.png"
- }
- Frame {
- msec: 992
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1008
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1024
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1040
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1056
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1072
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1088
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1104
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1120
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1136
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1152
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1168
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1184
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1200
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1216
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1232
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1248
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1264
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1280
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Frame {
- msec: 1296
- hash: "73232e1c199b5dda158a7e765386a716"
- }
- Key {
- type: 6
- key: 44
- modifiers: 0
- text: "2c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1312
- hash: "75aa32bf4bfdda0dfcf04768bf931da6"
- }
- Frame {
- msec: 1328
- hash: "75aa32bf4bfdda0dfcf04768bf931da6"
- }
- Frame {
- msec: 1344
- hash: "75aa32bf4bfdda0dfcf04768bf931da6"
- }
- Frame {
- msec: 1360
- hash: "75aa32bf4bfdda0dfcf04768bf931da6"
- }
- Frame {
- msec: 1376
- hash: "75aa32bf4bfdda0dfcf04768bf931da6"
- }
- Key {
- type: 7
- key: 44
- modifiers: 0
- text: "2c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1392
- hash: "75aa32bf4bfdda0dfcf04768bf931da6"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1408
- hash: "7243b903b5b7d8c323a233ae13a2ddf3"
- }
- Frame {
- msec: 1424
- hash: "7243b903b5b7d8c323a233ae13a2ddf3"
- }
- Frame {
- msec: 1440
- hash: "7243b903b5b7d8c323a233ae13a2ddf3"
- }
- Frame {
- msec: 1456
- hash: "7243b903b5b7d8c323a233ae13a2ddf3"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1472
- hash: "7243b903b5b7d8c323a233ae13a2ddf3"
- }
- Frame {
- msec: 1488
- hash: "7243b903b5b7d8c323a233ae13a2ddf3"
- }
- Frame {
- msec: 1504
- hash: "7243b903b5b7d8c323a233ae13a2ddf3"
- }
- Frame {
- msec: 1520
- hash: "7243b903b5b7d8c323a233ae13a2ddf3"
- }
- Frame {
- msec: 1536
- hash: "7243b903b5b7d8c323a233ae13a2ddf3"
- }
- Frame {
- msec: 1552
- hash: "7243b903b5b7d8c323a233ae13a2ddf3"
- }
- Key {
- type: 6
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1568
- hash: "676834a4ee84cb251c6ed102be89ea2e"
- }
- Frame {
- msec: 1584
- hash: "676834a4ee84cb251c6ed102be89ea2e"
- }
- Frame {
- msec: 1600
- hash: "676834a4ee84cb251c6ed102be89ea2e"
- }
- Key {
- type: 7
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1616
- hash: "676834a4ee84cb251c6ed102be89ea2e"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1632
- hash: "74a81081cd0547624cc4168e824b48b8"
- }
- Frame {
- msec: 1648
- hash: "74a81081cd0547624cc4168e824b48b8"
- }
- Frame {
- msec: 1664
- hash: "74a81081cd0547624cc4168e824b48b8"
- }
- Frame {
- msec: 1680
- hash: "74a81081cd0547624cc4168e824b48b8"
- }
- Frame {
- msec: 1696
- hash: "74a81081cd0547624cc4168e824b48b8"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1712
- hash: "74a81081cd0547624cc4168e824b48b8"
- }
- Frame {
- msec: 1728
- hash: "74a81081cd0547624cc4168e824b48b8"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1744
- hash: "4c736b2bffb38df898478e3d0ce37fb0"
- }
- Frame {
- msec: 1760
- hash: "4c736b2bffb38df898478e3d0ce37fb0"
- }
- Frame {
- msec: 1776
- hash: "4c736b2bffb38df898478e3d0ce37fb0"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "4c736b2bffb38df898478e3d0ce37fb0"
- }
- Frame {
- msec: 1808
- hash: "4c736b2bffb38df898478e3d0ce37fb0"
- }
- Frame {
- msec: 1824
- hash: "4c736b2bffb38df898478e3d0ce37fb0"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1840
- hash: "fd070c77e33e1498bacf0076903d33d7"
- }
- Frame {
- msec: 1856
- hash: "fd070c77e33e1498bacf0076903d33d7"
- }
- Frame {
- msec: 1872
- hash: "fd070c77e33e1498bacf0076903d33d7"
- }
- Frame {
- msec: 1888
- hash: "fd070c77e33e1498bacf0076903d33d7"
- }
- Frame {
- msec: 1904
- hash: "fd070c77e33e1498bacf0076903d33d7"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1920
- hash: "2ce31e62bfe5c1a62621fe4ea6bb07ab"
- }
- Frame {
- msec: 1936
- image: "usingMultilineEdit.2.png"
- }
- Frame {
- msec: 1952
- hash: "2ce31e62bfe5c1a62621fe4ea6bb07ab"
- }
- Frame {
- msec: 1968
- hash: "2ce31e62bfe5c1a62621fe4ea6bb07ab"
- }
- Key {
- type: 6
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1984
- hash: "77f7b91dba63e20e92b47575ae2f1a85"
- }
- Frame {
- msec: 2000
- hash: "77f7b91dba63e20e92b47575ae2f1a85"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2016
- hash: "77f7b91dba63e20e92b47575ae2f1a85"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2032
- hash: "6c881ac1c94b6648ce1a2c39e477906c"
- }
- Frame {
- msec: 2048
- hash: "6c881ac1c94b6648ce1a2c39e477906c"
- }
- Key {
- type: 7
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "6c881ac1c94b6648ce1a2c39e477906c"
- }
- Frame {
- msec: 2080
- hash: "6c881ac1c94b6648ce1a2c39e477906c"
- }
- Frame {
- msec: 2096
- hash: "6c881ac1c94b6648ce1a2c39e477906c"
- }
- Frame {
- msec: 2112
- hash: "6c881ac1c94b6648ce1a2c39e477906c"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2128
- hash: "6c881ac1c94b6648ce1a2c39e477906c"
- }
- Frame {
- msec: 2144
- hash: "6c881ac1c94b6648ce1a2c39e477906c"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "8799a9ee6ae4334c0e595c75160cbb35"
- }
- Frame {
- msec: 2176
- hash: "8799a9ee6ae4334c0e595c75160cbb35"
- }
- Frame {
- msec: 2192
- hash: "8799a9ee6ae4334c0e595c75160cbb35"
- }
- Frame {
- msec: 2208
- hash: "8799a9ee6ae4334c0e595c75160cbb35"
- }
- Frame {
- msec: 2224
- hash: "8799a9ee6ae4334c0e595c75160cbb35"
- }
- Frame {
- msec: 2240
- hash: "8799a9ee6ae4334c0e595c75160cbb35"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2256
- hash: "1947b07da95b6fb20dfa0189d2e099f4"
- }
- Frame {
- msec: 2272
- hash: "1947b07da95b6fb20dfa0189d2e099f4"
- }
- Frame {
- msec: 2288
- hash: "1947b07da95b6fb20dfa0189d2e099f4"
- }
- Frame {
- msec: 2304
- hash: "1947b07da95b6fb20dfa0189d2e099f4"
- }
- Frame {
- msec: 2320
- hash: "1947b07da95b6fb20dfa0189d2e099f4"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2336
- hash: "1947b07da95b6fb20dfa0189d2e099f4"
- }
- Frame {
- msec: 2352
- hash: "1947b07da95b6fb20dfa0189d2e099f4"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "f4831fddbb6dccd2add6c381abe18ff5"
- }
- Frame {
- msec: 2384
- hash: "f4831fddbb6dccd2add6c381abe18ff5"
- }
- Frame {
- msec: 2400
- hash: "f4831fddbb6dccd2add6c381abe18ff5"
- }
- Frame {
- msec: 2416
- hash: "f4831fddbb6dccd2add6c381abe18ff5"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2432
- hash: "f4831fddbb6dccd2add6c381abe18ff5"
- }
- Key {
- type: 6
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "c8e601e39d6399c3bcbe99080e10e77b"
- }
- Frame {
- msec: 2464
- hash: "c8e601e39d6399c3bcbe99080e10e77b"
- }
- Frame {
- msec: 2480
- hash: "c8e601e39d6399c3bcbe99080e10e77b"
- }
- Frame {
- msec: 2496
- hash: "c8e601e39d6399c3bcbe99080e10e77b"
- }
- Frame {
- msec: 2512
- hash: "c8e601e39d6399c3bcbe99080e10e77b"
- }
- Frame {
- msec: 2528
- hash: "c8e601e39d6399c3bcbe99080e10e77b"
- }
- Key {
- type: 7
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2544
- hash: "c8e601e39d6399c3bcbe99080e10e77b"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2560
- hash: "895b6084f9cd58d0746270468d037fc3"
- }
- Frame {
- msec: 2576
- hash: "895b6084f9cd58d0746270468d037fc3"
- }
- Frame {
- msec: 2592
- hash: "895b6084f9cd58d0746270468d037fc3"
- }
- Frame {
- msec: 2608
- hash: "895b6084f9cd58d0746270468d037fc3"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2624
- hash: "895b6084f9cd58d0746270468d037fc3"
- }
- Frame {
- msec: 2640
- hash: "895b6084f9cd58d0746270468d037fc3"
- }
- Frame {
- msec: 2656
- hash: "895b6084f9cd58d0746270468d037fc3"
- }
- Frame {
- msec: 2672
- hash: "895b6084f9cd58d0746270468d037fc3"
- }
- Frame {
- msec: 2688
- hash: "895b6084f9cd58d0746270468d037fc3"
- }
- Key {
- type: 6
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2704
- hash: "ded3a272885f24140fb8d21835ae6b3a"
- }
- Frame {
- msec: 2720
- hash: "ded3a272885f24140fb8d21835ae6b3a"
- }
- Frame {
- msec: 2736
- hash: "ded3a272885f24140fb8d21835ae6b3a"
- }
- Frame {
- msec: 2752
- hash: "ded3a272885f24140fb8d21835ae6b3a"
- }
- Frame {
- msec: 2768
- hash: "ded3a272885f24140fb8d21835ae6b3a"
- }
- Frame {
- msec: 2784
- hash: "ded3a272885f24140fb8d21835ae6b3a"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2800
- hash: "9339ea22fd115b8ae025c0b3a588ca1c"
- }
- Key {
- type: 7
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2816
- hash: "9339ea22fd115b8ae025c0b3a588ca1c"
- }
- Frame {
- msec: 2832
- hash: "9339ea22fd115b8ae025c0b3a588ca1c"
- }
- Frame {
- msec: 2848
- hash: "9339ea22fd115b8ae025c0b3a588ca1c"
- }
- Frame {
- msec: 2864
- hash: "9339ea22fd115b8ae025c0b3a588ca1c"
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2880
- hash: "9339ea22fd115b8ae025c0b3a588ca1c"
- }
- Frame {
- msec: 2896
- image: "usingMultilineEdit.3.png"
- }
- Frame {
- msec: 2912
- hash: "9339ea22fd115b8ae025c0b3a588ca1c"
- }
- Frame {
- msec: 2928
- hash: "9339ea22fd115b8ae025c0b3a588ca1c"
- }
- Key {
- type: 6
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2944
- hash: "1f219781fb7a7682d27cb875900d077a"
- }
- Frame {
- msec: 2960
- hash: "1f219781fb7a7682d27cb875900d077a"
- }
- Frame {
- msec: 2976
- hash: "1f219781fb7a7682d27cb875900d077a"
- }
- Key {
- type: 7
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2992
- hash: "20bd65f158440301e6cf14463e498368"
- }
- Frame {
- msec: 3008
- hash: "20bd65f158440301e6cf14463e498368"
- }
- Frame {
- msec: 3024
- hash: "20bd65f158440301e6cf14463e498368"
- }
- Frame {
- msec: 3040
- hash: "20bd65f158440301e6cf14463e498368"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3056
- hash: "20bd65f158440301e6cf14463e498368"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3072
- hash: "3e73d53051a3175393f4ecb486645bf9"
- }
- Frame {
- msec: 3088
- hash: "3e73d53051a3175393f4ecb486645bf9"
- }
- Frame {
- msec: 3104
- hash: "3e73d53051a3175393f4ecb486645bf9"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3120
- hash: "3e73d53051a3175393f4ecb486645bf9"
- }
- Key {
- type: 7
- key: 32
- modifiers: 33554432
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3136
- hash: "3e73d53051a3175393f4ecb486645bf9"
- }
- Frame {
- msec: 3152
- hash: "3e73d53051a3175393f4ecb486645bf9"
- }
- Key {
- type: 6
- key: 73
- modifiers: 33554432
- text: "49"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3168
- hash: "6f566097d23557bef60969852cd3515e"
- }
- Frame {
- msec: 3184
- hash: "6f566097d23557bef60969852cd3515e"
- }
- Frame {
- msec: 3200
- hash: "6f566097d23557bef60969852cd3515e"
- }
- Frame {
- msec: 3216
- hash: "6f566097d23557bef60969852cd3515e"
- }
- Key {
- type: 7
- key: 73
- modifiers: 33554432
- text: "49"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3232
- hash: "6f566097d23557bef60969852cd3515e"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3248
- hash: "4767592fe68e8d32d286cf5eaf4510ff"
- }
- Frame {
- msec: 3264
- hash: "4767592fe68e8d32d286cf5eaf4510ff"
- }
- Frame {
- msec: 3280
- hash: "4767592fe68e8d32d286cf5eaf4510ff"
- }
- Frame {
- msec: 3296
- hash: "4767592fe68e8d32d286cf5eaf4510ff"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3312
- hash: "4767592fe68e8d32d286cf5eaf4510ff"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3328
- hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
- }
- Frame {
- msec: 3344
- hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
- }
- Frame {
- msec: 3360
- hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
- }
- Frame {
- msec: 3376
- hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
- }
- Frame {
- msec: 3392
- hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3408
- hash: "d7fd1a19be4f061fc39c4accf18ba0dc"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3424
- hash: "03e74ddf4c94d322c1b1b35419157948"
- }
- Frame {
- msec: 3440
- hash: "03e74ddf4c94d322c1b1b35419157948"
- }
- Frame {
- msec: 3456
- hash: "03e74ddf4c94d322c1b1b35419157948"
- }
- Frame {
- msec: 3472
- hash: "03e74ddf4c94d322c1b1b35419157948"
- }
- Frame {
- msec: 3488
- hash: "03e74ddf4c94d322c1b1b35419157948"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 78
- modifiers: 0
- text: "6e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3504
- hash: "32712a89ba577f55319fe90873668138"
- }
- Frame {
- msec: 3520
- hash: "32712a89ba577f55319fe90873668138"
- }
- Frame {
- msec: 3536
- hash: "32712a89ba577f55319fe90873668138"
- }
- Frame {
- msec: 3552
- hash: "32712a89ba577f55319fe90873668138"
- }
- Frame {
- msec: 3568
- hash: "32712a89ba577f55319fe90873668138"
- }
- Frame {
- msec: 3584
- hash: "32712a89ba577f55319fe90873668138"
- }
- Key {
- type: 7
- key: 78
- modifiers: 0
- text: "6e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3600
- hash: "32712a89ba577f55319fe90873668138"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3616
- hash: "9f1cf9784c0659f4902d632542fe9d52"
- }
- Frame {
- msec: 3632
- hash: "9f1cf9784c0659f4902d632542fe9d52"
- }
- Frame {
- msec: 3648
- hash: "9f1cf9784c0659f4902d632542fe9d52"
- }
- Frame {
- msec: 3664
- hash: "9f1cf9784c0659f4902d632542fe9d52"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3680
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3696
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3712
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3728
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3744
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3760
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3776
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3792
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3808
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3824
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3840
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3856
- image: "usingMultilineEdit.4.png"
- }
- Frame {
- msec: 3872
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3888
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3904
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3920
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3936
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3952
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Frame {
- msec: 3968
- hash: "b350f3b710a0d36ba56bdce6c86f902e"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3984
- hash: "2b44bf2548bd887f22e5689946e24de5"
- }
- Frame {
- msec: 4000
- hash: "2b44bf2548bd887f22e5689946e24de5"
- }
- Frame {
- msec: 4016
- hash: "2b44bf2548bd887f22e5689946e24de5"
- }
- Frame {
- msec: 4032
- hash: "2b44bf2548bd887f22e5689946e24de5"
- }
- Frame {
- msec: 4048
- hash: "2b44bf2548bd887f22e5689946e24de5"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4064
- hash: "925c7c96166cc75dc92bd280fd354e43"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4080
- hash: "925c7c96166cc75dc92bd280fd354e43"
- }
- Frame {
- msec: 4096
- hash: "925c7c96166cc75dc92bd280fd354e43"
- }
- Frame {
- msec: 4112
- hash: "925c7c96166cc75dc92bd280fd354e43"
- }
- Frame {
- msec: 4128
- hash: "925c7c96166cc75dc92bd280fd354e43"
- }
- Key {
- type: 6
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4144
- hash: "61d6f7583f143917b86adcad6a5ba909"
- }
- Frame {
- msec: 4160
- hash: "61d6f7583f143917b86adcad6a5ba909"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4176
- hash: "61d6f7583f143917b86adcad6a5ba909"
- }
- Frame {
- msec: 4192
- hash: "61d6f7583f143917b86adcad6a5ba909"
- }
- Frame {
- msec: 4208
- hash: "61d6f7583f143917b86adcad6a5ba909"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4224
- hash: "679e0940be9c40435aebb05a6e0da685"
- }
- Frame {
- msec: 4240
- hash: "679e0940be9c40435aebb05a6e0da685"
- }
- Key {
- type: 7
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4256
- hash: "679e0940be9c40435aebb05a6e0da685"
- }
- Frame {
- msec: 4272
- hash: "679e0940be9c40435aebb05a6e0da685"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4288
- hash: "679e0940be9c40435aebb05a6e0da685"
- }
- Frame {
- msec: 4304
- hash: "679e0940be9c40435aebb05a6e0da685"
- }
- Frame {
- msec: 4320
- hash: "679e0940be9c40435aebb05a6e0da685"
- }
- Frame {
- msec: 4336
- hash: "679e0940be9c40435aebb05a6e0da685"
- }
- Frame {
- msec: 4352
- hash: "679e0940be9c40435aebb05a6e0da685"
- }
- Frame {
- msec: 4368
- hash: "679e0940be9c40435aebb05a6e0da685"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4384
- hash: "e819d25f605ec1347e89de65682edb7d"
- }
- Frame {
- msec: 4400
- hash: "e819d25f605ec1347e89de65682edb7d"
- }
- Frame {
- msec: 4416
- hash: "e819d25f605ec1347e89de65682edb7d"
- }
- Frame {
- msec: 4432
- hash: "e819d25f605ec1347e89de65682edb7d"
- }
- Frame {
- msec: 4448
- hash: "e819d25f605ec1347e89de65682edb7d"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4464
- hash: "e819d25f605ec1347e89de65682edb7d"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4480
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4496
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4512
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4528
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4544
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4560
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4576
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4592
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 4608
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4624
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4640
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4656
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4672
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4688
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4704
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4720
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4736
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4752
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4768
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4784
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4800
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Frame {
- msec: 4816
- image: "usingMultilineEdit.5.png"
- }
- Frame {
- msec: 4832
- hash: "ef65860a90a96d521a860c4e73e833ee"
- }
- Key {
- type: 6
- key: 63
- modifiers: 33554432
- text: "3f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4848
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 4864
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 4880
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 4896
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 4912
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 4928
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 4944
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Key {
- type: 7
- key: 63
- modifiers: 33554432
- text: "3f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4960
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 4976
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 4992
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5008
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5024
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5040
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5056
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5072
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5088
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5104
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5120
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5136
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5152
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5168
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5184
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5200
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5216
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5232
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5248
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5264
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5280
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5296
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5312
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5328
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5344
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5360
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5376
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5392
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5408
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5424
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5440
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5456
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5472
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5488
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5504
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5520
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5536
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5552
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5568
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5584
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5600
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5616
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5632
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5648
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5664
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5680
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5696
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5712
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5728
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5744
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Frame {
- msec: 5760
- hash: "84497b5307b95f59693b71dc13c838ef"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 48; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5776
- image: "usingMultilineEdit.6.png"
- }
- Frame {
- msec: 5792
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 5808
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 5824
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5840
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5856
- hash: "ee9722d220435828b919fa4d8e314b78"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5872
- hash: "ee9722d220435828b919fa4d8e314b78"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5888
- hash: "8a06a84965166774ff160984ed05b5ad"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5904
- hash: "0a9ec173aa0436b9b9edf3f20946ae5a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 58
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5920
- hash: "0a9ec173aa0436b9b9edf3f20946ae5a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 69
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5936
- hash: "5511590b6b6826d8e863956220eee2e4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 62; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5952
- hash: "4d413c13e43c57809af8ee83a165dcb1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5968
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 97
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5984
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 101
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6000
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6016
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 116
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6032
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6048
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 124
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6064
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6080
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 134
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6096
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 140
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6112
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6128
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6144
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6160
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6176
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6192
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Frame {
- msec: 6208
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Frame {
- msec: 6224
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Frame {
- msec: 6240
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Frame {
- msec: 6256
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6272
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6288
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6304
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6320
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 63; y: 98
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6336
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6352
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 72
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6368
- hash: "cc0c5811bc845540c2c550cefe45ab1c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 58
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6384
- hash: "b35bc1db0fd5b95bb830a9be9ded1659"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6400
- hash: "b35bc1db0fd5b95bb830a9be9ded1659"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6416
- hash: "576bbe32d2b6f582cbb0102d2b0e079b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 16
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 6
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6432
- hash: "15a7ee7f58f286ae22385c2817b9b697"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -2
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6448
- hash: "5cd516c20c91c407ca9932ea89afd100"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: -23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6464
- hash: "40ce8b3c3588727a37e03dd83cb3d536"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6480
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6496
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6512
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6528
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6544
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6560
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6576
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6592
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Frame {
- msec: 6608
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Frame {
- msec: 6624
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Frame {
- msec: 6640
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Frame {
- msec: 6656
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Frame {
- msec: 6672
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -47
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6688
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 44; y: -42
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6704
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 44; y: -39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6720
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: -28
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6736
- image: "usingMultilineEdit.7.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6752
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: -18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: -14
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6768
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: -10
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6784
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -6
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: -3
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6800
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: -1
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 0
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6816
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 2
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 3
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6832
- hash: "384cc9f557dd56079a54c1f0460bf96f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6848
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6864
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6880
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 55; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6896
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 6912
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 6928
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 6944
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 6960
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 6976
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 6992
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 7008
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 7024
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 7040
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 7056
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 7072
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Frame {
- msec: 7088
- hash: "a3d9bdf8086303458ae5d35294551894"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 59; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7104
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7120
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7136
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7152
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7168
- hash: "a5755969d822cae00af992085c419a17"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 59; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7184
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7200
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7216
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7232
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7248
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7264
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7280
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7296
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7312
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7328
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7344
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7360
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7376
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7392
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7408
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7424
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7440
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7456
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7472
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7488
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7504
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7520
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7536
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7552
- hash: "a5755969d822cae00af992085c419a17"
- }
- Frame {
- msec: 7568
- hash: "a5755969d822cae00af992085c419a17"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7584
- hash: "2395700fc4c3080e99b8871518113778"
- }
- Frame {
- msec: 7600
- hash: "2395700fc4c3080e99b8871518113778"
- }
- Frame {
- msec: 7616
- hash: "2395700fc4c3080e99b8871518113778"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7632
- hash: "2395700fc4c3080e99b8871518113778"
- }
- Frame {
- msec: 7648
- hash: "2395700fc4c3080e99b8871518113778"
- }
- Frame {
- msec: 7664
- hash: "2395700fc4c3080e99b8871518113778"
- }
- Frame {
- msec: 7680
- hash: "2395700fc4c3080e99b8871518113778"
- }
- Frame {
- msec: 7696
- image: "usingMultilineEdit.8.png"
- }
- Frame {
- msec: 7712
- hash: "2395700fc4c3080e99b8871518113778"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7728
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7744
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7760
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7776
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7792
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7808
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7824
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7840
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7856
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7872
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7888
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7904
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7920
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7936
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Frame {
- msec: 7952
- hash: "71e055a9dbd940b3445d5ad9e277b483"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 7968
- hash: "2ed8cb467e60f2fb253abb37bdc18a9a"
- }
- Frame {
- msec: 7984
- hash: "2ed8cb467e60f2fb253abb37bdc18a9a"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 8000
- hash: "5783992a07652cfc53bfa0e1f36c1415"
- }
- Frame {
- msec: 8016
- hash: "5783992a07652cfc53bfa0e1f36c1415"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 8032
- hash: "0fa5790dcbcb740d530b6333063629d6"
- }
- Frame {
- msec: 8048
- hash: "0fa5790dcbcb740d530b6333063629d6"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 8064
- hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
- }
- Frame {
- msec: 8080
- hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8096
- hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
- }
- Frame {
- msec: 8112
- hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
- }
- Frame {
- msec: 8128
- hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
- }
- Frame {
- msec: 8144
- hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
- }
- Frame {
- msec: 8160
- hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
- }
- Frame {
- msec: 8176
- hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
- }
- Frame {
- msec: 8192
- hash: "00ae3b5d61a83fdd16fc05b7c3fde8ed"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8208
- hash: "8f59f9f91dbcf608143925ff1f974151"
- }
- Frame {
- msec: 8224
- hash: "8f59f9f91dbcf608143925ff1f974151"
- }
- Frame {
- msec: 8240
- hash: "8f59f9f91dbcf608143925ff1f974151"
- }
- Frame {
- msec: 8256
- hash: "8f59f9f91dbcf608143925ff1f974151"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8272
- hash: "8f59f9f91dbcf608143925ff1f974151"
- }
- Frame {
- msec: 8288
- hash: "8f59f9f91dbcf608143925ff1f974151"
- }
- Frame {
- msec: 8304
- hash: "8f59f9f91dbcf608143925ff1f974151"
- }
- Frame {
- msec: 8320
- hash: "8f59f9f91dbcf608143925ff1f974151"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8336
- hash: "fc48aa2746eaaf31312de3c37d821ff0"
- }
- Frame {
- msec: 8352
- hash: "fc48aa2746eaaf31312de3c37d821ff0"
- }
- Frame {
- msec: 8368
- hash: "fc48aa2746eaaf31312de3c37d821ff0"
- }
- Frame {
- msec: 8384
- hash: "fc48aa2746eaaf31312de3c37d821ff0"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8400
- hash: "fc48aa2746eaaf31312de3c37d821ff0"
- }
- Frame {
- msec: 8416
- hash: "fc48aa2746eaaf31312de3c37d821ff0"
- }
- Frame {
- msec: 8432
- hash: "fc48aa2746eaaf31312de3c37d821ff0"
- }
- Frame {
- msec: 8448
- hash: "fc48aa2746eaaf31312de3c37d821ff0"
- }
- Frame {
- msec: 8464
- hash: "fc48aa2746eaaf31312de3c37d821ff0"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8480
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8496
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8512
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8528
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8544
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8560
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8576
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8592
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8608
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8624
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8640
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8656
- image: "usingMultilineEdit.9.png"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8672
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8688
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8704
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8720
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8736
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8752
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8768
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8784
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8800
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8816
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8832
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8848
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8864
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8880
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8896
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8912
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8928
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8944
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8960
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8976
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 8992
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9008
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9024
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9040
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9056
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9072
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9088
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9104
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9120
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9136
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9152
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9168
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9184
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9200
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 70; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9216
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9232
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9248
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9264
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9280
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 70; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9296
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9312
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9328
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9344
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9360
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9376
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9392
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9408
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9424
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Frame {
- msec: 9440
- hash: "61856cf1f8f2ef6d0b365ab3d7eece51"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 71; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9456
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9472
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9488
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9504
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9520
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9536
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 71; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9552
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9568
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9584
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9600
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9616
- image: "usingMultilineEdit.10.png"
- }
- Frame {
- msec: 9632
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9648
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9664
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 9680
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9696
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9712
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9728
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9744
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9760
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9776
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9792
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9808
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9824
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9840
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9856
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9872
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9888
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9904
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9920
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9936
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9952
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9968
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 9984
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10000
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10016
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10032
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10048
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10064
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10080
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10096
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10112
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10128
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10144
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10160
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10176
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10192
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10208
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10224
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10240
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10256
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10272
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10288
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10304
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10320
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10336
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Frame {
- msec: 10352
- hash: "2ccfdac58b836aa89d2a75d0bdca6624"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10368
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10384
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10400
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10416
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10432
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10448
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10464
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10480
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10496
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10512
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10528
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10544
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10560
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10576
- image: "usingMultilineEdit.11.png"
- }
- Frame {
- msec: 10592
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10608
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10624
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10640
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10656
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10672
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10688
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10704
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10720
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10736
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10752
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10768
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10784
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10800
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10816
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10832
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10848
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10864
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10880
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10896
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10912
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10928
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10944
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10960
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10976
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 10992
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11008
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11024
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11040
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11056
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11072
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11088
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11104
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11120
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11136
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11152
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11168
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11184
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11200
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11216
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11232
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11248
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11264
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11280
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11296
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11312
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11328
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11344
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11360
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11376
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11392
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11408
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11424
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11440
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11456
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11472
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11488
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11504
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11520
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11536
- image: "usingMultilineEdit.12.png"
- }
- Frame {
- msec: 11552
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11568
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11584
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11600
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
- Frame {
- msec: 11616
- hash: "37a675ab007d0e0a8f3735d4d84505de"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.png
deleted file mode 100644
index 61606b2bd0..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.png
deleted file mode 100644
index a4b28fcd32..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.png
deleted file mode 100644
index 5be6bbb867..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.png
deleted file mode 100644
index a220f6545c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.png
deleted file mode 100644
index 6946707f64..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.png
deleted file mode 100644
index 4eeb8ec79f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.png
deleted file mode 100644
index 4eeb8ec79f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.7.png
deleted file mode 100644
index f0748b2138..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.qml
deleted file mode 100644
index f5af59f7a5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-MAC/wrap.qml
+++ /dev/null
@@ -1,2467 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "wrap.0.png"
- }
- Key {
- type: 6
- key: 84
- modifiers: 33554432
- text: "54"
- autorep: false
- count: 1
- }
- Frame {
- msec: 32
- hash: "2b7fa5ced204393f05bf68d33e0ca2ad"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 48
- hash: "2b7fa5ced204393f05bf68d33e0ca2ad"
- }
- Frame {
- msec: 64
- hash: "2b7fa5ced204393f05bf68d33e0ca2ad"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 80
- hash: "2b7fa5ced204393f05bf68d33e0ca2ad"
- }
- Frame {
- msec: 96
- hash: "2b7fa5ced204393f05bf68d33e0ca2ad"
- }
- Key {
- type: 6
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 112
- hash: "5fe2c4c01922f0b0d3f65152bd80f689"
- }
- Frame {
- msec: 128
- hash: "5fe2c4c01922f0b0d3f65152bd80f689"
- }
- Frame {
- msec: 144
- hash: "5fe2c4c01922f0b0d3f65152bd80f689"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 160
- hash: "9645f4ad60570c8a95e9ae6dda3f5060"
- }
- Frame {
- msec: 176
- hash: "9645f4ad60570c8a95e9ae6dda3f5060"
- }
- Frame {
- msec: 192
- hash: "9645f4ad60570c8a95e9ae6dda3f5060"
- }
- Key {
- type: 7
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 208
- hash: "9645f4ad60570c8a95e9ae6dda3f5060"
- }
- Frame {
- msec: 224
- hash: "9645f4ad60570c8a95e9ae6dda3f5060"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 240
- hash: "f28f446cb8de8af0a49ae6e728c996fc"
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 256
- hash: "f28f446cb8de8af0a49ae6e728c996fc"
- }
- Frame {
- msec: 272
- hash: "f28f446cb8de8af0a49ae6e728c996fc"
- }
- Frame {
- msec: 288
- hash: "f28f446cb8de8af0a49ae6e728c996fc"
- }
- Frame {
- msec: 304
- hash: "f28f446cb8de8af0a49ae6e728c996fc"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 320
- hash: "f28f446cb8de8af0a49ae6e728c996fc"
- }
- Frame {
- msec: 336
- hash: "f28f446cb8de8af0a49ae6e728c996fc"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 352
- hash: "98c390c519cd0476de17be8bb49b0f65"
- }
- Frame {
- msec: 368
- hash: "98c390c519cd0476de17be8bb49b0f65"
- }
- Frame {
- msec: 384
- hash: "98c390c519cd0476de17be8bb49b0f65"
- }
- Frame {
- msec: 400
- hash: "98c390c519cd0476de17be8bb49b0f65"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 416
- hash: "98c390c519cd0476de17be8bb49b0f65"
- }
- Frame {
- msec: 432
- hash: "98c390c519cd0476de17be8bb49b0f65"
- }
- Frame {
- msec: 448
- hash: "98c390c519cd0476de17be8bb49b0f65"
- }
- Frame {
- msec: 464
- hash: "98c390c519cd0476de17be8bb49b0f65"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 480
- hash: "d842a866459f3ecb4fa4fc1426a05411"
- }
- Frame {
- msec: 496
- hash: "d842a866459f3ecb4fa4fc1426a05411"
- }
- Frame {
- msec: 512
- hash: "d842a866459f3ecb4fa4fc1426a05411"
- }
- Frame {
- msec: 528
- hash: "d842a866459f3ecb4fa4fc1426a05411"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "4c858bfd2e8ba7a959bbf2d1e17865e7"
- }
- Frame {
- msec: 560
- hash: "4c858bfd2e8ba7a959bbf2d1e17865e7"
- }
- Frame {
- msec: 576
- hash: "4c858bfd2e8ba7a959bbf2d1e17865e7"
- }
- Frame {
- msec: 592
- hash: "4c858bfd2e8ba7a959bbf2d1e17865e7"
- }
- Frame {
- msec: 608
- hash: "4c858bfd2e8ba7a959bbf2d1e17865e7"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 624
- hash: "9eed9c764b2c5b73a60df84fc0d68756"
- }
- Frame {
- msec: 640
- hash: "9eed9c764b2c5b73a60df84fc0d68756"
- }
- Frame {
- msec: 656
- hash: "9eed9c764b2c5b73a60df84fc0d68756"
- }
- Frame {
- msec: 672
- hash: "9eed9c764b2c5b73a60df84fc0d68756"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 688
- hash: "9eed9c764b2c5b73a60df84fc0d68756"
- }
- Frame {
- msec: 704
- hash: "9eed9c764b2c5b73a60df84fc0d68756"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 720
- hash: "7a1d64574a0a6b90695629fd443274e6"
- }
- Frame {
- msec: 736
- hash: "7a1d64574a0a6b90695629fd443274e6"
- }
- Frame {
- msec: 752
- hash: "7a1d64574a0a6b90695629fd443274e6"
- }
- Frame {
- msec: 768
- hash: "7a1d64574a0a6b90695629fd443274e6"
- }
- Frame {
- msec: 784
- hash: "7a1d64574a0a6b90695629fd443274e6"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 800
- hash: "7a1d64574a0a6b90695629fd443274e6"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 816
- hash: "31e9c4500448142ee2be3171a2bd5385"
- }
- Frame {
- msec: 832
- hash: "31e9c4500448142ee2be3171a2bd5385"
- }
- Frame {
- msec: 848
- hash: "31e9c4500448142ee2be3171a2bd5385"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 864
- hash: "31e9c4500448142ee2be3171a2bd5385"
- }
- Frame {
- msec: 880
- hash: "31e9c4500448142ee2be3171a2bd5385"
- }
- Frame {
- msec: 896
- hash: "31e9c4500448142ee2be3171a2bd5385"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 912
- hash: "7fcfd3706ba11c43ac0a4c2f96b1d80d"
- }
- Frame {
- msec: 928
- hash: "7fcfd3706ba11c43ac0a4c2f96b1d80d"
- }
- Frame {
- msec: 944
- hash: "7fcfd3706ba11c43ac0a4c2f96b1d80d"
- }
- Frame {
- msec: 960
- hash: "7fcfd3706ba11c43ac0a4c2f96b1d80d"
- }
- Frame {
- msec: 976
- image: "wrap.1.png"
- }
- Frame {
- msec: 992
- hash: "7fcfd3706ba11c43ac0a4c2f96b1d80d"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1008
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Frame {
- msec: 1024
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Frame {
- msec: 1040
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Frame {
- msec: 1056
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Frame {
- msec: 1072
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1088
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Frame {
- msec: 1104
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Frame {
- msec: 1120
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Frame {
- msec: 1136
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Frame {
- msec: 1152
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Frame {
- msec: 1168
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Frame {
- msec: 1184
- hash: "c05191599361c4171c086630f9608cd0"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1200
- hash: "088e0567dd568019ccb2114d3108a1dd"
- }
- Frame {
- msec: 1216
- hash: "088e0567dd568019ccb2114d3108a1dd"
- }
- Frame {
- msec: 1232
- hash: "088e0567dd568019ccb2114d3108a1dd"
- }
- Frame {
- msec: 1248
- hash: "088e0567dd568019ccb2114d3108a1dd"
- }
- Frame {
- msec: 1264
- hash: "088e0567dd568019ccb2114d3108a1dd"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1280
- hash: "35fde81ed66c4804b2b31c0d93fb010a"
- }
- Frame {
- msec: 1296
- hash: "35fde81ed66c4804b2b31c0d93fb010a"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1312
- hash: "0b212b2b1354e99db328c30d4c8e8b4e"
- }
- Frame {
- msec: 1328
- hash: "0b212b2b1354e99db328c30d4c8e8b4e"
- }
- Frame {
- msec: 1344
- hash: "0b212b2b1354e99db328c30d4c8e8b4e"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1360
- hash: "0b212b2b1354e99db328c30d4c8e8b4e"
- }
- Frame {
- msec: 1376
- hash: "0b212b2b1354e99db328c30d4c8e8b4e"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1392
- hash: "0b212b2b1354e99db328c30d4c8e8b4e"
- }
- Frame {
- msec: 1408
- hash: "0b212b2b1354e99db328c30d4c8e8b4e"
- }
- Frame {
- msec: 1424
- hash: "0b212b2b1354e99db328c30d4c8e8b4e"
- }
- Frame {
- msec: 1440
- hash: "0b212b2b1354e99db328c30d4c8e8b4e"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1456
- hash: "1d19bc237d8de1598a629f2aea7e8e97"
- }
- Frame {
- msec: 1472
- hash: "1d19bc237d8de1598a629f2aea7e8e97"
- }
- Frame {
- msec: 1488
- hash: "1d19bc237d8de1598a629f2aea7e8e97"
- }
- Frame {
- msec: 1504
- hash: "1d19bc237d8de1598a629f2aea7e8e97"
- }
- Frame {
- msec: 1520
- hash: "1d19bc237d8de1598a629f2aea7e8e97"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1536
- hash: "1d19bc237d8de1598a629f2aea7e8e97"
- }
- Frame {
- msec: 1552
- hash: "1d19bc237d8de1598a629f2aea7e8e97"
- }
- Key {
- type: 6
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1568
- hash: "df3025b2de2cf6cee2b918c6d13834c6"
- }
- Frame {
- msec: 1584
- hash: "df3025b2de2cf6cee2b918c6d13834c6"
- }
- Frame {
- msec: 1600
- hash: "df3025b2de2cf6cee2b918c6d13834c6"
- }
- Frame {
- msec: 1616
- hash: "df3025b2de2cf6cee2b918c6d13834c6"
- }
- Frame {
- msec: 1632
- hash: "df3025b2de2cf6cee2b918c6d13834c6"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1648
- hash: "b19baef8a5d8efd96d5ec9e729a9d42a"
- }
- Frame {
- msec: 1664
- hash: "b19baef8a5d8efd96d5ec9e729a9d42a"
- }
- Frame {
- msec: 1680
- hash: "b19baef8a5d8efd96d5ec9e729a9d42a"
- }
- Frame {
- msec: 1696
- hash: "b19baef8a5d8efd96d5ec9e729a9d42a"
- }
- Frame {
- msec: 1712
- hash: "b19baef8a5d8efd96d5ec9e729a9d42a"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1728
- hash: "914e61f38d7f2b5a465037d6ef1ddaba"
- }
- Frame {
- msec: 1744
- hash: "914e61f38d7f2b5a465037d6ef1ddaba"
- }
- Frame {
- msec: 1760
- hash: "914e61f38d7f2b5a465037d6ef1ddaba"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1776
- hash: "914e61f38d7f2b5a465037d6ef1ddaba"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "e816134a8fef0bbee8e94c0f9561750b"
- }
- Frame {
- msec: 1808
- hash: "e816134a8fef0bbee8e94c0f9561750b"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1824
- hash: "e816134a8fef0bbee8e94c0f9561750b"
- }
- Frame {
- msec: 1840
- hash: "e816134a8fef0bbee8e94c0f9561750b"
- }
- Frame {
- msec: 1856
- hash: "e816134a8fef0bbee8e94c0f9561750b"
- }
- Frame {
- msec: 1872
- hash: "e816134a8fef0bbee8e94c0f9561750b"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1888
- hash: "e816134a8fef0bbee8e94c0f9561750b"
- }
- Frame {
- msec: 1904
- hash: "e816134a8fef0bbee8e94c0f9561750b"
- }
- Frame {
- msec: 1920
- hash: "e816134a8fef0bbee8e94c0f9561750b"
- }
- Frame {
- msec: 1936
- image: "wrap.2.png"
- }
- Frame {
- msec: 1952
- hash: "e816134a8fef0bbee8e94c0f9561750b"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1968
- hash: "9552729028c8e129e19c06ff35bb085b"
- }
- Frame {
- msec: 1984
- hash: "9552729028c8e129e19c06ff35bb085b"
- }
- Frame {
- msec: 2000
- hash: "9552729028c8e129e19c06ff35bb085b"
- }
- Frame {
- msec: 2016
- hash: "9552729028c8e129e19c06ff35bb085b"
- }
- Frame {
- msec: 2032
- hash: "9552729028c8e129e19c06ff35bb085b"
- }
- Frame {
- msec: 2048
- hash: "9552729028c8e129e19c06ff35bb085b"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2080
- hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
- }
- Frame {
- msec: 2096
- hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
- }
- Frame {
- msec: 2112
- hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2128
- hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
- }
- Frame {
- msec: 2144
- hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
- }
- Frame {
- msec: 2160
- hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
- }
- Frame {
- msec: 2176
- hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
- }
- Frame {
- msec: 2192
- hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
- }
- Frame {
- msec: 2208
- hash: "2dbdfe3bd309b98af7ed8980725f3ee7"
- }
- Key {
- type: 6
- key: 88
- modifiers: 0
- text: "78"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2224
- hash: "28748f90f61954b94377768788f1634d"
- }
- Frame {
- msec: 2240
- hash: "28748f90f61954b94377768788f1634d"
- }
- Frame {
- msec: 2256
- hash: "28748f90f61954b94377768788f1634d"
- }
- Frame {
- msec: 2272
- hash: "28748f90f61954b94377768788f1634d"
- }
- Frame {
- msec: 2288
- hash: "28748f90f61954b94377768788f1634d"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2304
- hash: "2cf8ad2ba8ddcde4dd8549f034a77005"
- }
- Key {
- type: 7
- key: 88
- modifiers: 0
- text: "78"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2320
- hash: "2cf8ad2ba8ddcde4dd8549f034a77005"
- }
- Frame {
- msec: 2336
- hash: "2cf8ad2ba8ddcde4dd8549f034a77005"
- }
- Frame {
- msec: 2352
- hash: "2cf8ad2ba8ddcde4dd8549f034a77005"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
- }
- Frame {
- msec: 2384
- hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2400
- hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
- }
- Frame {
- msec: 2416
- hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
- }
- Frame {
- msec: 2432
- hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
- }
- Frame {
- msec: 2464
- hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
- }
- Frame {
- msec: 2480
- hash: "95b6ce7c01461847a3f7aff88aa8ad9d"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2496
- hash: "81872138f3cafb1cf06009df77af1461"
- }
- Frame {
- msec: 2512
- hash: "81872138f3cafb1cf06009df77af1461"
- }
- Frame {
- msec: 2528
- hash: "81872138f3cafb1cf06009df77af1461"
- }
- Frame {
- msec: 2544
- hash: "81872138f3cafb1cf06009df77af1461"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2560
- hash: "81872138f3cafb1cf06009df77af1461"
- }
- Frame {
- msec: 2576
- hash: "81872138f3cafb1cf06009df77af1461"
- }
- Frame {
- msec: 2592
- hash: "81872138f3cafb1cf06009df77af1461"
- }
- Frame {
- msec: 2608
- hash: "81872138f3cafb1cf06009df77af1461"
- }
- Frame {
- msec: 2624
- hash: "81872138f3cafb1cf06009df77af1461"
- }
- Frame {
- msec: 2640
- hash: "81872138f3cafb1cf06009df77af1461"
- }
- Key {
- type: 6
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2656
- hash: "dfa35c08894d7ed748b8846fa3ce8fac"
- }
- Frame {
- msec: 2672
- hash: "dfa35c08894d7ed748b8846fa3ce8fac"
- }
- Frame {
- msec: 2688
- hash: "dfa35c08894d7ed748b8846fa3ce8fac"
- }
- Frame {
- msec: 2704
- hash: "dfa35c08894d7ed748b8846fa3ce8fac"
- }
- Key {
- type: 7
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2720
- hash: "dfa35c08894d7ed748b8846fa3ce8fac"
- }
- Frame {
- msec: 2736
- hash: "dfa35c08894d7ed748b8846fa3ce8fac"
- }
- Frame {
- msec: 2752
- hash: "dfa35c08894d7ed748b8846fa3ce8fac"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2768
- hash: "9decac3d9243bebdc7699fcb77a31f21"
- }
- Frame {
- msec: 2784
- hash: "9decac3d9243bebdc7699fcb77a31f21"
- }
- Frame {
- msec: 2800
- hash: "9decac3d9243bebdc7699fcb77a31f21"
- }
- Frame {
- msec: 2816
- hash: "9decac3d9243bebdc7699fcb77a31f21"
- }
- Frame {
- msec: 2832
- hash: "9decac3d9243bebdc7699fcb77a31f21"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2848
- hash: "6a1bb7dd22f3e090008ba265c30f9c2d"
- }
- Frame {
- msec: 2864
- hash: "6a1bb7dd22f3e090008ba265c30f9c2d"
- }
- Frame {
- msec: 2880
- hash: "6a1bb7dd22f3e090008ba265c30f9c2d"
- }
- Frame {
- msec: 2896
- image: "wrap.3.png"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2912
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Frame {
- msec: 2928
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2944
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Frame {
- msec: 2960
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2976
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Frame {
- msec: 2992
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Frame {
- msec: 3008
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Frame {
- msec: 3024
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Frame {
- msec: 3040
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Frame {
- msec: 3056
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Frame {
- msec: 3072
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Frame {
- msec: 3088
- hash: "ee39b3014e140aff2f974f3b919f85f4"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3104
- hash: "d448179ec6bba91f3f70be821710a8c7"
- }
- Frame {
- msec: 3120
- hash: "d448179ec6bba91f3f70be821710a8c7"
- }
- Frame {
- msec: 3136
- hash: "d448179ec6bba91f3f70be821710a8c7"
- }
- Frame {
- msec: 3152
- hash: "d448179ec6bba91f3f70be821710a8c7"
- }
- Frame {
- msec: 3168
- hash: "d448179ec6bba91f3f70be821710a8c7"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3184
- hash: "d448179ec6bba91f3f70be821710a8c7"
- }
- Frame {
- msec: 3200
- hash: "d448179ec6bba91f3f70be821710a8c7"
- }
- Frame {
- msec: 3216
- hash: "d448179ec6bba91f3f70be821710a8c7"
- }
- Frame {
- msec: 3232
- hash: "d448179ec6bba91f3f70be821710a8c7"
- }
- Frame {
- msec: 3248
- hash: "d448179ec6bba91f3f70be821710a8c7"
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3264
- hash: "e30b5aa9b5d08fba758fe781812f096d"
- }
- Frame {
- msec: 3280
- hash: "e30b5aa9b5d08fba758fe781812f096d"
- }
- Frame {
- msec: 3296
- hash: "e30b5aa9b5d08fba758fe781812f096d"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3312
- hash: "e30b5aa9b5d08fba758fe781812f096d"
- }
- Frame {
- msec: 3328
- hash: "e30b5aa9b5d08fba758fe781812f096d"
- }
- Frame {
- msec: 3344
- hash: "e30b5aa9b5d08fba758fe781812f096d"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3360
- hash: "ba932735c5079ad6562050b6e332d2e7"
- }
- Frame {
- msec: 3376
- hash: "ba932735c5079ad6562050b6e332d2e7"
- }
- Frame {
- msec: 3392
- hash: "ba932735c5079ad6562050b6e332d2e7"
- }
- Frame {
- msec: 3408
- hash: "ba932735c5079ad6562050b6e332d2e7"
- }
- Frame {
- msec: 3424
- hash: "ba932735c5079ad6562050b6e332d2e7"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3440
- hash: "ba932735c5079ad6562050b6e332d2e7"
- }
- Frame {
- msec: 3456
- hash: "ba932735c5079ad6562050b6e332d2e7"
- }
- Frame {
- msec: 3472
- hash: "ba932735c5079ad6562050b6e332d2e7"
- }
- Key {
- type: 6
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3488
- hash: "01dacbcc21c541e0cbf272ee01292b7c"
- }
- Frame {
- msec: 3504
- hash: "01dacbcc21c541e0cbf272ee01292b7c"
- }
- Frame {
- msec: 3520
- hash: "01dacbcc21c541e0cbf272ee01292b7c"
- }
- Frame {
- msec: 3536
- hash: "01dacbcc21c541e0cbf272ee01292b7c"
- }
- Key {
- type: 7
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3552
- hash: "01dacbcc21c541e0cbf272ee01292b7c"
- }
- Frame {
- msec: 3568
- hash: "01dacbcc21c541e0cbf272ee01292b7c"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3584
- hash: "7b493045fb2b7373525ce570d86542d7"
- }
- Frame {
- msec: 3600
- hash: "7b493045fb2b7373525ce570d86542d7"
- }
- Frame {
- msec: 3616
- hash: "7b493045fb2b7373525ce570d86542d7"
- }
- Frame {
- msec: 3632
- hash: "7b493045fb2b7373525ce570d86542d7"
- }
- Frame {
- msec: 3648
- hash: "7b493045fb2b7373525ce570d86542d7"
- }
- Frame {
- msec: 3664
- hash: "7b493045fb2b7373525ce570d86542d7"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3680
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3696
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3712
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3728
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3744
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3760
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3776
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3792
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3808
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3824
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3840
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3856
- image: "wrap.4.png"
- }
- Frame {
- msec: 3872
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3888
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Frame {
- msec: 3904
- hash: "7c11ac5b8dfee4708b7b49c2a1a7db57"
- }
- Key {
- type: 6
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3920
- hash: "46a6db4f63965f019fc1966e2a6caf98"
- }
- Frame {
- msec: 3936
- hash: "46a6db4f63965f019fc1966e2a6caf98"
- }
- Frame {
- msec: 3952
- hash: "46a6db4f63965f019fc1966e2a6caf98"
- }
- Frame {
- msec: 3968
- hash: "46a6db4f63965f019fc1966e2a6caf98"
- }
- Frame {
- msec: 3984
- hash: "46a6db4f63965f019fc1966e2a6caf98"
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4000
- hash: "46a6db4f63965f019fc1966e2a6caf98"
- }
- Frame {
- msec: 4016
- hash: "46a6db4f63965f019fc1966e2a6caf98"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4032
- hash: "abc8cf4650aa07a9a26ad04a082bc269"
- }
- Frame {
- msec: 4048
- hash: "abc8cf4650aa07a9a26ad04a082bc269"
- }
- Frame {
- msec: 4064
- hash: "abc8cf4650aa07a9a26ad04a082bc269"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4080
- hash: "abc8cf4650aa07a9a26ad04a082bc269"
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4096
- hash: "23ee54c88cd70b6c66137ce32702cf01"
- }
- Frame {
- msec: 4112
- hash: "23ee54c88cd70b6c66137ce32702cf01"
- }
- Frame {
- msec: 4128
- hash: "23ee54c88cd70b6c66137ce32702cf01"
- }
- Frame {
- msec: 4144
- hash: "23ee54c88cd70b6c66137ce32702cf01"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4160
- hash: "23ee54c88cd70b6c66137ce32702cf01"
- }
- Frame {
- msec: 4176
- hash: "23ee54c88cd70b6c66137ce32702cf01"
- }
- Frame {
- msec: 4192
- hash: "23ee54c88cd70b6c66137ce32702cf01"
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4208
- hash: "dc0899573a995421b57a6689d300a421"
- }
- Frame {
- msec: 4224
- hash: "dc0899573a995421b57a6689d300a421"
- }
- Frame {
- msec: 4240
- hash: "dc0899573a995421b57a6689d300a421"
- }
- Frame {
- msec: 4256
- hash: "dc0899573a995421b57a6689d300a421"
- }
- Frame {
- msec: 4272
- hash: "dc0899573a995421b57a6689d300a421"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4288
- hash: "4d42c63a0324c1573818ebb081d8927f"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4304
- hash: "4d42c63a0324c1573818ebb081d8927f"
- }
- Frame {
- msec: 4320
- hash: "4d42c63a0324c1573818ebb081d8927f"
- }
- Frame {
- msec: 4336
- hash: "4d42c63a0324c1573818ebb081d8927f"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4352
- hash: "4d42c63a0324c1573818ebb081d8927f"
- }
- Frame {
- msec: 4368
- hash: "4d42c63a0324c1573818ebb081d8927f"
- }
- Frame {
- msec: 4384
- hash: "4d42c63a0324c1573818ebb081d8927f"
- }
- Frame {
- msec: 4400
- hash: "4d42c63a0324c1573818ebb081d8927f"
- }
- Frame {
- msec: 4416
- hash: "4d42c63a0324c1573818ebb081d8927f"
- }
- Key {
- type: 6
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4432
- hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
- }
- Frame {
- msec: 4448
- hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
- }
- Frame {
- msec: 4464
- hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4480
- hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
- }
- Frame {
- msec: 4496
- hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
- }
- Frame {
- msec: 4512
- hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
- }
- Frame {
- msec: 4528
- hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
- }
- Frame {
- msec: 4544
- hash: "9d2239e4b71da17a6f8f2ef979f4bf85"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4560
- hash: "289059d77547c9ec548b33d8bbe9fca9"
- }
- Frame {
- msec: 4576
- hash: "289059d77547c9ec548b33d8bbe9fca9"
- }
- Frame {
- msec: 4592
- hash: "289059d77547c9ec548b33d8bbe9fca9"
- }
- Frame {
- msec: 4608
- hash: "289059d77547c9ec548b33d8bbe9fca9"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4624
- hash: "289059d77547c9ec548b33d8bbe9fca9"
- }
- Frame {
- msec: 4640
- hash: "289059d77547c9ec548b33d8bbe9fca9"
- }
- Frame {
- msec: 4656
- hash: "289059d77547c9ec548b33d8bbe9fca9"
- }
- Frame {
- msec: 4672
- hash: "289059d77547c9ec548b33d8bbe9fca9"
- }
- Key {
- type: 6
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4688
- hash: "4b60bfb67c5007b4054241e581ce92ac"
- }
- Frame {
- msec: 4704
- hash: "4b60bfb67c5007b4054241e581ce92ac"
- }
- Frame {
- msec: 4720
- hash: "4b60bfb67c5007b4054241e581ce92ac"
- }
- Frame {
- msec: 4736
- hash: "4b60bfb67c5007b4054241e581ce92ac"
- }
- Key {
- type: 7
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4752
- hash: "4b60bfb67c5007b4054241e581ce92ac"
- }
- Frame {
- msec: 4768
- hash: "4b60bfb67c5007b4054241e581ce92ac"
- }
- Frame {
- msec: 4784
- hash: "4b60bfb67c5007b4054241e581ce92ac"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4800
- hash: "dbabce81e44f912d6a30ff4cc3289da8"
- }
- Frame {
- msec: 4816
- image: "wrap.5.png"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4832
- hash: "dbabce81e44f912d6a30ff4cc3289da8"
- }
- Frame {
- msec: 4848
- hash: "dbabce81e44f912d6a30ff4cc3289da8"
- }
- Frame {
- msec: 4864
- hash: "dbabce81e44f912d6a30ff4cc3289da8"
- }
- Frame {
- msec: 4880
- hash: "dbabce81e44f912d6a30ff4cc3289da8"
- }
- Key {
- type: 6
- key: 46
- modifiers: 0
- text: "2e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4896
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 4912
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 4928
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 4944
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Key {
- type: 7
- key: 46
- modifiers: 0
- text: "2e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4960
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 4976
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 4992
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5008
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5024
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5040
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5056
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5072
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5088
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5104
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5120
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5136
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5152
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5168
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5184
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5200
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5216
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5232
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5248
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5264
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5280
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5296
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5312
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5328
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5344
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5360
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5376
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5392
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5408
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5424
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5440
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5456
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5472
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5488
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5504
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5520
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5536
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5552
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5568
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5584
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5600
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5616
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5632
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5648
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5664
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5680
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5696
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5712
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5728
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5744
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5760
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5776
- image: "wrap.6.png"
- }
- Frame {
- msec: 5792
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5808
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5824
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5840
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5856
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5872
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5888
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5904
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5920
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5936
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5952
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5968
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 5984
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6000
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6016
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6032
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6048
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6064
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6080
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6096
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6112
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6128
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6144
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6160
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6176
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6192
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6208
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6224
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6240
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6256
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6272
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6288
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6304
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6320
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6336
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6352
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6368
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6384
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6400
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6416
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6432
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6448
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6464
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6480
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6496
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6512
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6528
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6544
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6560
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6576
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6592
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6608
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6624
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6640
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6656
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6672
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6688
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6704
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6720
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6736
- image: "wrap.7.png"
- }
- Frame {
- msec: 6752
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6768
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6784
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6800
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6816
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6832
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6848
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
- Frame {
- msec: 6864
- hash: "e9633d239e0a9ca008ed033565322c24"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.0.png
deleted file mode 100644
index be025e5582..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.1.png
deleted file mode 100644
index 1b2cd047f3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.2.png
deleted file mode 100644
index 2e56d47ea2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.3.png
deleted file mode 100644
index 8abdfc2588..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.4.png
deleted file mode 100644
index 58428ceefa..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.5.png
deleted file mode 100644
index 3c23bd6b50..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.6.png
deleted file mode 100644
index 80b960c197..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.7.png
deleted file mode 100644
index 72472771c3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.8.png
deleted file mode 100644
index af5a996b7b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.9.png
deleted file mode 100644
index b254164fbe..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.qml
deleted file mode 100644
index 9630745588..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/cursorDelegate.qml
+++ /dev/null
@@ -1,1499 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "cursorDelegate.0.png"
- }
- Frame {
- msec: 32
- hash: "2fd338490edda276f7ee16232bf244d1"
- }
- Frame {
- msec: 48
- hash: "527a1c18503f580bcf926a70d9f30006"
- }
- Frame {
- msec: 64
- hash: "8b911c3e4a0fccf1dbeca50931780a2d"
- }
- Frame {
- msec: 80
- hash: "f631ad72bf36ccb0c5f3ff708f029b1b"
- }
- Frame {
- msec: 96
- hash: "d4099e6a2c1ff77a71231351f5bc32ff"
- }
- Frame {
- msec: 112
- hash: "0e531d158b1c14d6fc633e528846c336"
- }
- Frame {
- msec: 128
- hash: "5721d3397b9e66da4ee47a7f19107566"
- }
- Frame {
- msec: 144
- hash: "6647f5d3680f3523ec73b434d0c2f8da"
- }
- Frame {
- msec: 160
- hash: "73fb40e680c30b1a5fe95de9913a0591"
- }
- Frame {
- msec: 176
- hash: "c392c2599b29086a437afa292b06d63c"
- }
- Frame {
- msec: 192
- hash: "bcedd42d52bab532831b47c6ee2a99ac"
- }
- Frame {
- msec: 208
- hash: "089b150d5cc9315c6626edfc1bb66774"
- }
- Frame {
- msec: 224
- hash: "f6e83fdb13e4f00ba5004b081e2379ee"
- }
- Frame {
- msec: 240
- hash: "ca8336d47c002df3702a46be2b974ba7"
- }
- Frame {
- msec: 256
- hash: "f0d82431f1e35f76fd718af1d742cd13"
- }
- Frame {
- msec: 272
- hash: "78dc119673be7902ab25d508db771f04"
- }
- Frame {
- msec: 288
- hash: "2839bc67b7ac43353b976c2c7bc3b6c3"
- }
- Frame {
- msec: 304
- hash: "c1f9743c0505b6ca197c4bd0bbbd7bd3"
- }
- Frame {
- msec: 320
- hash: "2d714b10ce1e3e7dd1efb58ed4b62f90"
- }
- Frame {
- msec: 336
- hash: "c4f94bab5475eacfc757338ffd6d4a59"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 352
- hash: "c5caa8a08f09203c005e1cd6d80e8ccc"
- }
- Frame {
- msec: 368
- hash: "c96896be1a311c0cedc1c7ec1bd9e13e"
- }
- Frame {
- msec: 384
- hash: "d3d6dc1d8ff93e373583e3cbdca88b81"
- }
- Frame {
- msec: 400
- hash: "2a456146359c54c52f9e7a6cebcfa454"
- }
- Frame {
- msec: 416
- hash: "d127788c702c2ed037c709ffc331840e"
- }
- Frame {
- msec: 432
- hash: "8a5987a736b092e12198d969544d632c"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 448
- hash: "e8471c605f6a8cc187d879510ed7ebe7"
- }
- Frame {
- msec: 464
- hash: "6959b4f72422636ae59989c9def06d03"
- }
- Frame {
- msec: 480
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 496
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 512
- hash: "45a1fa0c871592f872574fdcd3fb586c"
- }
- Frame {
- msec: 528
- hash: "45a1fa0c871592f872574fdcd3fb586c"
- }
- Frame {
- msec: 544
- hash: "45a1fa0c871592f872574fdcd3fb586c"
- }
- Frame {
- msec: 560
- hash: "45a1fa0c871592f872574fdcd3fb586c"
- }
- Frame {
- msec: 576
- hash: "8567bf3fb7adb990501070fac62fda31"
- }
- Frame {
- msec: 592
- hash: "824b9fef000cfad45c86d180eb13c584"
- }
- Frame {
- msec: 608
- hash: "cb8989a5839bf284f0e8b3eb1bf68667"
- }
- Frame {
- msec: 624
- hash: "f23e6394ed3c2fc32c690095ccfc1a7f"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 640
- hash: "d32d30ebd0c292e66314f6b6005701b9"
- }
- Frame {
- msec: 656
- hash: "4ebda51f84f73eb6891f9c71ffba4b92"
- }
- Frame {
- msec: 672
- hash: "9a97e8cdb84e96f08f2af468d146fb45"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 688
- hash: "9cd5a0e60b7f679faba3dad78eac1ac3"
- }
- Frame {
- msec: 704
- hash: "2e18ff4ebead28620901d4a9ad050ffe"
- }
- Frame {
- msec: 720
- hash: "57a6a1bbfe4c4577e4334b63b977ca13"
- }
- Frame {
- msec: 736
- hash: "5f5806c2b30465845ed2bc36f1c60e14"
- }
- Frame {
- msec: 752
- hash: "10125c338dffa13dfd0bbff5fc33d757"
- }
- Frame {
- msec: 768
- hash: "b6c83fdee9081a1773a441cffb843c11"
- }
- Frame {
- msec: 784
- hash: "c26f3ac7cd2065b98434e3fb4bc7c4a7"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 800
- hash: "6cb47a37677280ef63b060767c669878"
- }
- Frame {
- msec: 816
- hash: "7f27c84cd7ae3f255b0df6029e13c48d"
- }
- Frame {
- msec: 832
- hash: "fec675b07b3f569014e9f35563761d49"
- }
- Frame {
- msec: 848
- hash: "cfd2439d79ad66232107022317fd5a4c"
- }
- Frame {
- msec: 864
- hash: "cec5331c1f6023335942e572992aa172"
- }
- Frame {
- msec: 880
- hash: "549d4736558332a64c5fc3462be71500"
- }
- Frame {
- msec: 896
- hash: "1d01fe566f850fe2297fd8ed6b1efa8d"
- }
- Frame {
- msec: 912
- hash: "cd1b61c7acd7067f9722c1a673b9a3ea"
- }
- Frame {
- msec: 928
- hash: "cb4fed177ff3df7212413450d4b73549"
- }
- Frame {
- msec: 944
- hash: "720d0e5c3e377e2c53d251e02577d6f6"
- }
- Frame {
- msec: 960
- hash: "1ab118400896a46a8d179b762343522f"
- }
- Frame {
- msec: 976
- image: "cursorDelegate.1.png"
- }
- Frame {
- msec: 992
- hash: "6cf8502f84b57001bf14fc4bab24911b"
- }
- Frame {
- msec: 1008
- hash: "5aa693852436f664da87d4360da0f477"
- }
- Frame {
- msec: 1024
- hash: "5aa693852436f664da87d4360da0f477"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1040
- hash: "6cf8502f84b57001bf14fc4bab24911b"
- }
- Frame {
- msec: 1056
- hash: "17499b49e462181383fde57dce81aef9"
- }
- Frame {
- msec: 1072
- hash: "1ab118400896a46a8d179b762343522f"
- }
- Frame {
- msec: 1088
- hash: "720d0e5c3e377e2c53d251e02577d6f6"
- }
- Frame {
- msec: 1104
- hash: "cb4fed177ff3df7212413450d4b73549"
- }
- Frame {
- msec: 1120
- hash: "cd1b61c7acd7067f9722c1a673b9a3ea"
- }
- Frame {
- msec: 1136
- hash: "1d01fe566f850fe2297fd8ed6b1efa8d"
- }
- Frame {
- msec: 1152
- hash: "549d4736558332a64c5fc3462be71500"
- }
- Frame {
- msec: 1168
- hash: "cec5331c1f6023335942e572992aa172"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1184
- hash: "a8af14ffccbd892f17c0235d62d10cd8"
- }
- Frame {
- msec: 1200
- hash: "81fbaaf1af513b2dc978ef0e358bbc6f"
- }
- Frame {
- msec: 1216
- hash: "204cfba6a668ba25ed37f12bfcdd97eb"
- }
- Frame {
- msec: 1232
- hash: "fa6c8f7f8a8730d412168002511b82e6"
- }
- Frame {
- msec: 1248
- hash: "0d491b55d03f5d5bb6cfce63bc98deae"
- }
- Frame {
- msec: 1264
- hash: "0e4d3edabdf6e0faa366abcc3b0ef521"
- }
- Frame {
- msec: 1280
- hash: "13f397452e74ef834662363b09b000b9"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1296
- hash: "bb064cac4cb117b4d28e26d04dd59d7c"
- }
- Frame {
- msec: 1312
- hash: "dfab74915a3f1e82c558ba8fb26d81fc"
- }
- Frame {
- msec: 1328
- hash: "7593cfb3073aa9d638c093e0f4c9857d"
- }
- Frame {
- msec: 1344
- hash: "fe4a725dcc97b7f320225e02dc88d34a"
- }
- Frame {
- msec: 1360
- hash: "67794fa0162684b2097164d6cd666f16"
- }
- Frame {
- msec: 1376
- hash: "747cfcd428eb59ca99749de261e561d4"
- }
- Frame {
- msec: 1392
- hash: "293fd7523f25e42d2acab401482a9af9"
- }
- Frame {
- msec: 1408
- hash: "2644c937db0488c14f833a9e9f7d9cf6"
- }
- Frame {
- msec: 1424
- hash: "d80500f7cce8d887d0c523060e4217af"
- }
- Frame {
- msec: 1440
- hash: "96265a45f0f25d9c0cd1168789b50952"
- }
- Frame {
- msec: 1456
- hash: "e862d11944ea38939faa5b24fa9183bf"
- }
- Frame {
- msec: 1472
- hash: "946c778fcc8ee4942a30d4654e103fec"
- }
- Frame {
- msec: 1488
- hash: "946c778fcc8ee4942a30d4654e103fec"
- }
- Frame {
- msec: 1504
- hash: "946c778fcc8ee4942a30d4654e103fec"
- }
- Frame {
- msec: 1520
- hash: "946c778fcc8ee4942a30d4654e103fec"
- }
- Frame {
- msec: 1536
- hash: "946c778fcc8ee4942a30d4654e103fec"
- }
- Frame {
- msec: 1552
- hash: "946c778fcc8ee4942a30d4654e103fec"
- }
- Frame {
- msec: 1568
- hash: "99e0e3d965bea36001298815d12b4d4c"
- }
- Frame {
- msec: 1584
- hash: "c552ace3096eca31d0fc256d2bd153e0"
- }
- Frame {
- msec: 1600
- hash: "203858ff0fc145ac60942c2b8e67ca20"
- }
- Frame {
- msec: 1616
- hash: "11ea7696ec3aa9a394cabd723bcada9e"
- }
- Frame {
- msec: 1632
- hash: "e0e24c0527e015d0bb05206771024d04"
- }
- Frame {
- msec: 1648
- hash: "995ccae48c4f0fc2ab40e793d074e78b"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1664
- hash: "cff7bee4ba1e8eb4c46e13f12f6059e1"
- }
- Frame {
- msec: 1680
- hash: "e43bd84ba7bdc4ea0370c79bfa7667bd"
- }
- Frame {
- msec: 1696
- hash: "b7dd97abf895eaea20836833f959f0c6"
- }
- Frame {
- msec: 1712
- hash: "b724e9874f0df5ed4ad9bdedbc4c45c9"
- }
- Frame {
- msec: 1728
- hash: "69d9d28793e65aa9a1829d07cc035e4d"
- }
- Frame {
- msec: 1744
- hash: "689fc2cf5feb1084fceda93eab9b7aac"
- }
- Frame {
- msec: 1760
- hash: "2bcc0f2fb8cccf7904c982cd60d3fefb"
- }
- Frame {
- msec: 1776
- hash: "d55a868304da7e9af57cd775f2c283c1"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "b2591af5120258c99e84f31311396675"
- }
- Frame {
- msec: 1808
- hash: "4f9908bdbad583a6a956a21d6ab05505"
- }
- Frame {
- msec: 1824
- hash: "dd1c43a94dcabae975f0dba67c2742da"
- }
- Frame {
- msec: 1840
- hash: "f9b8c8987bad613fe23fcf9d5fe995b8"
- }
- Frame {
- msec: 1856
- hash: "9bd4431207a85e0effefb9cf36a2651b"
- }
- Frame {
- msec: 1872
- hash: "cd7c4c097231797649f2d24a729e3587"
- }
- Frame {
- msec: 1888
- hash: "f2ac503f2aab55df922f90a6b9baeb0f"
- }
- Frame {
- msec: 1904
- hash: "f356c05f9445c2fb260a29a58431269c"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1920
- hash: "5580f8c543d67378b0f54117070f69bd"
- }
- Frame {
- msec: 1936
- image: "cursorDelegate.2.png"
- }
- Frame {
- msec: 1952
- hash: "634c5597e64c34b039c70f614f0100e1"
- }
- Frame {
- msec: 1968
- hash: "7f0bde32846ae8172cfd02f38d34dc48"
- }
- Frame {
- msec: 1984
- hash: "bc9092f889ffd6a6682ed9754c6697a2"
- }
- Frame {
- msec: 2000
- hash: "3ef935e3a4a0d409af7dd38f2433cdfe"
- }
- Frame {
- msec: 2016
- hash: "2a044024b38499e801810a19d313e01f"
- }
- Frame {
- msec: 2032
- hash: "3ef935e3a4a0d409af7dd38f2433cdfe"
- }
- Frame {
- msec: 2048
- hash: "bc9092f889ffd6a6682ed9754c6697a2"
- }
- Frame {
- msec: 2064
- hash: "7f0bde32846ae8172cfd02f38d34dc48"
- }
- Frame {
- msec: 2080
- hash: "634c5597e64c34b039c70f614f0100e1"
- }
- Frame {
- msec: 2096
- hash: "80f3bf6ea745da047da936578b87ee00"
- }
- Frame {
- msec: 2112
- hash: "5580f8c543d67378b0f54117070f69bd"
- }
- Frame {
- msec: 2128
- hash: "f356c05f9445c2fb260a29a58431269c"
- }
- Frame {
- msec: 2144
- hash: "f2ac503f2aab55df922f90a6b9baeb0f"
- }
- Frame {
- msec: 2160
- hash: "cd7c4c097231797649f2d24a729e3587"
- }
- Frame {
- msec: 2176
- hash: "9bd4431207a85e0effefb9cf36a2651b"
- }
- Frame {
- msec: 2192
- hash: "f9b8c8987bad613fe23fcf9d5fe995b8"
- }
- Frame {
- msec: 2208
- hash: "dd1c43a94dcabae975f0dba67c2742da"
- }
- Frame {
- msec: 2224
- hash: "4f9908bdbad583a6a956a21d6ab05505"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2240
- hash: "b2591af5120258c99e84f31311396675"
- }
- Frame {
- msec: 2256
- hash: "5c40e466b5af2e4b67dbb4ea96b24146"
- }
- Frame {
- msec: 2272
- hash: "899a30ca4014231c8e9f15be4e0c3ee6"
- }
- Frame {
- msec: 2288
- hash: "a44bbb13a336fdd4aedaf4c5c6ee399a"
- }
- Frame {
- msec: 2304
- hash: "3b1b3e228ccbd61f9dfb896391da0b5b"
- }
- Frame {
- msec: 2320
- hash: "22f5ec3d2eda574d1976604b82307924"
- }
- Frame {
- msec: 2336
- hash: "9e63d1a15c954d2960eecf54e5eeb172"
- }
- Frame {
- msec: 2352
- hash: "64ce03b10500b5a98b5c826362d8140e"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "c96896be1a311c0cedc1c7ec1bd9e13e"
- }
- Frame {
- msec: 2384
- hash: "d3d6dc1d8ff93e373583e3cbdca88b81"
- }
- Frame {
- msec: 2400
- hash: "2a456146359c54c52f9e7a6cebcfa454"
- }
- Frame {
- msec: 2416
- hash: "d127788c702c2ed037c709ffc331840e"
- }
- Frame {
- msec: 2432
- hash: "8a5987a736b092e12198d969544d632c"
- }
- Frame {
- msec: 2448
- hash: "e8471c605f6a8cc187d879510ed7ebe7"
- }
- Frame {
- msec: 2464
- hash: "6959b4f72422636ae59989c9def06d03"
- }
- Frame {
- msec: 2480
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2496
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 2512
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 2528
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 2544
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 2560
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 2576
- hash: "aa52467f87fbd766baa5137ddf18e0f6"
- }
- Frame {
- msec: 2592
- hash: "bc9549a04b9bc898feda61b7fce45b3f"
- }
- Frame {
- msec: 2608
- hash: "606e69ad9b6e3a82e08ae4bbabb34680"
- }
- Frame {
- msec: 2624
- hash: "257ed9eae13221c5d47103043ef4ad5c"
- }
- Frame {
- msec: 2640
- hash: "f5b44d257447499e0268e9a8730d88e7"
- }
- Frame {
- msec: 2656
- hash: "8f03a92b2b0b04ee0ac45e7631df78ce"
- }
- Frame {
- msec: 2672
- hash: "054e88b3d80940006b24fdf233a70682"
- }
- Frame {
- msec: 2688
- hash: "20896fbba7e1970957ff20d33541730c"
- }
- Frame {
- msec: 2704
- hash: "238fca62069b7c6e1b6919afca518dbe"
- }
- Frame {
- msec: 2720
- hash: "764e14ba052d8340d6d674d6f417643d"
- }
- Frame {
- msec: 2736
- hash: "278fb36637ff60d1949da9e9b887726f"
- }
- Frame {
- msec: 2752
- hash: "f51251c5ec7b0071248d3fa5db1c12fd"
- }
- Frame {
- msec: 2768
- hash: "785d38e036e7dd809037de3885067455"
- }
- Frame {
- msec: 2784
- hash: "4291bb6217f363aab48812359626de36"
- }
- Frame {
- msec: 2800
- hash: "e139ad6787f1c4a1b89d4030703076e5"
- }
- Frame {
- msec: 2816
- hash: "4c23976fb1b3b583153cbd72f2db10f4"
- }
- Frame {
- msec: 2832
- hash: "5e0a3d848a749ecd4f9a572f10664f4b"
- }
- Frame {
- msec: 2848
- hash: "1acc382cfe2f5872982440e8a85eb57b"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2864
- hash: "eba94c6ae3dc4eb26c8d074137c7aa0f"
- }
- Frame {
- msec: 2880
- hash: "7c75307fbb765bd69b888d500247b595"
- }
- Frame {
- msec: 2896
- image: "cursorDelegate.3.png"
- }
- Frame {
- msec: 2912
- hash: "da73d23a925d93194aeb64d1522adc02"
- }
- Frame {
- msec: 2928
- hash: "d661872854338121d867b35d9e44ae6d"
- }
- Frame {
- msec: 2944
- hash: "969b5cf20c7c4e18723a8b8a70ea68ec"
- }
- Frame {
- msec: 2960
- hash: "c7318ea4b4a4ac49308bef41d3bc264d"
- }
- Frame {
- msec: 2976
- hash: "dd6bd11cc0bc877dbd70c55d4f5bab29"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2992
- hash: "21905ed4264a52c9b404149abedabe33"
- }
- Frame {
- msec: 3008
- hash: "e952374e5967619679af711157b561cd"
- }
- Frame {
- msec: 3024
- hash: "e952374e5967619679af711157b561cd"
- }
- Frame {
- msec: 3040
- hash: "21905ed4264a52c9b404149abedabe33"
- }
- Frame {
- msec: 3056
- hash: "dd6bd11cc0bc877dbd70c55d4f5bab29"
- }
- Frame {
- msec: 3072
- hash: "c7318ea4b4a4ac49308bef41d3bc264d"
- }
- Frame {
- msec: 3088
- hash: "969b5cf20c7c4e18723a8b8a70ea68ec"
- }
- Frame {
- msec: 3104
- hash: "d661872854338121d867b35d9e44ae6d"
- }
- Frame {
- msec: 3120
- hash: "da73d23a925d93194aeb64d1522adc02"
- }
- Frame {
- msec: 3136
- hash: "2c0261e2223d7212e047dd4af6246a8f"
- }
- Frame {
- msec: 3152
- hash: "7c75307fbb765bd69b888d500247b595"
- }
- Frame {
- msec: 3168
- hash: "eba94c6ae3dc4eb26c8d074137c7aa0f"
- }
- Frame {
- msec: 3184
- hash: "e6eaa9959334f24ef3cf68d44d7340f1"
- }
- Frame {
- msec: 3200
- hash: "3adb8604d872bc8ff5498841c6da71b5"
- }
- Frame {
- msec: 3216
- hash: "e602eeaac3ce53033154297e73802c02"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3232
- hash: "85afa80a1c333674cfbfcc38cedc798d"
- }
- Frame {
- msec: 3248
- hash: "72679887fb26b7eb2553d6e554e26679"
- }
- Frame {
- msec: 3264
- hash: "d25f21361d9cea41b17277f1ffecac62"
- }
- Frame {
- msec: 3280
- hash: "24db38727e1a58d515119181ea41e209"
- }
- Frame {
- msec: 3296
- hash: "e7ddd84f438fd2d463a3b9552dad345a"
- }
- Frame {
- msec: 3312
- hash: "621e406f5b9204eb5d82c4f66fdf6a61"
- }
- Frame {
- msec: 3328
- hash: "2a8befe073dda8589197cf05eeeaaf59"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3344
- hash: "104f0e21a041236f48dab6fe2c1c5aa1"
- }
- Frame {
- msec: 3360
- hash: "0f8f74614b0b7295bb9df8fa0b1f6877"
- }
- Frame {
- msec: 3376
- hash: "3a3cc6cfd3200e06a2816f2746edf699"
- }
- Frame {
- msec: 3392
- hash: "83032d1da6907ebe1ab9fddf314d0bc1"
- }
- Frame {
- msec: 3408
- hash: "b93878281f21c85c211908086f2899e7"
- }
- Frame {
- msec: 3424
- hash: "a554a6ecd96f37f114f1fd616e0aeab2"
- }
- Frame {
- msec: 3440
- hash: "8943d47912a4206e61836d99cca835da"
- }
- Frame {
- msec: 3456
- hash: "4d06d264f71d75421c9a6d5a87d6a9ba"
- }
- Frame {
- msec: 3472
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 3488
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 3504
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 3520
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 3536
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 3552
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 3568
- hash: "ca17401d638025fde8aad18b9a358029"
- }
- Frame {
- msec: 3584
- hash: "3542537f0b0e1375d81c7f0365bbdf1d"
- }
- Frame {
- msec: 3600
- hash: "235b68812a3cb48fc09bd8319aef40f1"
- }
- Frame {
- msec: 3616
- hash: "3aa88f646534068d13e9c4f23af52019"
- }
- Frame {
- msec: 3632
- hash: "8f037bdef4940fdb1936900ad5aee36e"
- }
- Frame {
- msec: 3648
- hash: "18e8239c50ca62a5bd96d983ab5ff46d"
- }
- Frame {
- msec: 3664
- hash: "d62f6887bdad9decb48ebaf63a6330a3"
- }
- Frame {
- msec: 3680
- hash: "0af7997ec1a755a761fc1ab47ef30137"
- }
- Frame {
- msec: 3696
- hash: "b3a384f93ef5f36466f0a638182b66cb"
- }
- Frame {
- msec: 3712
- hash: "fceb3ee105028e29dca001197c63e524"
- }
- Frame {
- msec: 3728
- hash: "5c16dc7aee02eefa95d0c6211f81ba48"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3744
- hash: "e4c3193ad0885084becbeaaaa899fff4"
- }
- Frame {
- msec: 3760
- hash: "84afa9118845126960309537e529ea74"
- }
- Frame {
- msec: 3776
- hash: "6e18f95c4252aff3ee5447a08153ee53"
- }
- Frame {
- msec: 3792
- hash: "59facabe2430703113665d0153402472"
- }
- Frame {
- msec: 3808
- hash: "316bce2e605a4df04d41a4f7620086bd"
- }
- Frame {
- msec: 3824
- hash: "7dcba8f0dd9fd67518f0502d904624fd"
- }
- Frame {
- msec: 3840
- hash: "cb9166d113c5c7495916f6b7f850407c"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3856
- image: "cursorDelegate.4.png"
- }
- Frame {
- msec: 3872
- hash: "7cc78c7ab5820a698b62c452dfc0d1db"
- }
- Frame {
- msec: 3888
- hash: "5f068715dc1244895e6e09afd6e846a9"
- }
- Frame {
- msec: 3904
- hash: "c279e7293539593bfc8250d37f78791c"
- }
- Frame {
- msec: 3920
- hash: "d01ff855befa456a213d4f78f22fe46c"
- }
- Frame {
- msec: 3936
- hash: "16e20d2e663e64daa1920b165604f342"
- }
- Frame {
- msec: 3952
- hash: "2feebd6865e71afd30c73e342fb2cab1"
- }
- Frame {
- msec: 3968
- hash: "8c417cb9ef300c895323060ceb860bd9"
- }
- Frame {
- msec: 3984
- hash: "05903a78cad8d331349f93a1cea75d7d"
- }
- Frame {
- msec: 4000
- hash: "e142bb264ab7877a9b40596d497ea2c1"
- }
- Frame {
- msec: 4016
- hash: "717e5e965b9ff188fd9200927968d359"
- }
- Frame {
- msec: 4032
- hash: "e142bb264ab7877a9b40596d497ea2c1"
- }
- Frame {
- msec: 4048
- hash: "05903a78cad8d331349f93a1cea75d7d"
- }
- Frame {
- msec: 4064
- hash: "8c417cb9ef300c895323060ceb860bd9"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 4080
- hash: "2feebd6865e71afd30c73e342fb2cab1"
- }
- Frame {
- msec: 4096
- hash: "16e20d2e663e64daa1920b165604f342"
- }
- Frame {
- msec: 4112
- hash: "d01ff855befa456a213d4f78f22fe46c"
- }
- Frame {
- msec: 4128
- hash: "c279e7293539593bfc8250d37f78791c"
- }
- Frame {
- msec: 4144
- hash: "5f068715dc1244895e6e09afd6e846a9"
- }
- Frame {
- msec: 4160
- hash: "7cc78c7ab5820a698b62c452dfc0d1db"
- }
- Frame {
- msec: 4176
- hash: "194b8b8843cf8a7d90ec910ee4021d9c"
- }
- Frame {
- msec: 4192
- hash: "cb9166d113c5c7495916f6b7f850407c"
- }
- Frame {
- msec: 4208
- hash: "7dcba8f0dd9fd67518f0502d904624fd"
- }
- Frame {
- msec: 4224
- hash: "316bce2e605a4df04d41a4f7620086bd"
- }
- Frame {
- msec: 4240
- hash: "59facabe2430703113665d0153402472"
- }
- Frame {
- msec: 4256
- hash: "6e18f95c4252aff3ee5447a08153ee53"
- }
- Frame {
- msec: 4272
- hash: "84afa9118845126960309537e529ea74"
- }
- Frame {
- msec: 4288
- hash: "e4c3193ad0885084becbeaaaa899fff4"
- }
- Frame {
- msec: 4304
- hash: "6a7b8f8ae1959681afc7e76c242ddf63"
- }
- Frame {
- msec: 4320
- hash: "94457c4fd09b63fe9df738af422a3716"
- }
- Frame {
- msec: 4336
- hash: "29189dea05961b2ed7d525b17bc99513"
- }
- Frame {
- msec: 4352
- hash: "11fc3e52587bbedf0016c829d2d849d1"
- }
- Frame {
- msec: 4368
- hash: "57178e2a3d404d4301ee89a6202ad7cc"
- }
- Frame {
- msec: 4384
- hash: "151778e9dd76fbf6d9e98b86469ec01e"
- }
- Frame {
- msec: 4400
- hash: "bfab5d3f368c06f2ef5e22b7e16090ad"
- }
- Frame {
- msec: 4416
- hash: "ef29b8ff8fcf221368056aa249f706a1"
- }
- Frame {
- msec: 4432
- hash: "cd14458426f94efbbc729112e6a481c5"
- }
- Frame {
- msec: 4448
- hash: "cbafbb1c359a0c0e7182c4449d04b052"
- }
- Frame {
- msec: 4464
- hash: "b56e3f531bb6b3f2c62a6972910038b3"
- }
- Frame {
- msec: 4480
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4496
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4512
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4528
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4544
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4560
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4576
- hash: "3d6db6e3ee77ee75341ce16dc4a56c59"
- }
- Frame {
- msec: 4592
- hash: "ff43ccdb14ae4d12ffead2eb261a5056"
- }
- Frame {
- msec: 4608
- hash: "fb73ac1e61834f2f0263e53a3c00a857"
- }
- Frame {
- msec: 4624
- hash: "6bd66d118ff27b0cea7944ea22c727c9"
- }
- Frame {
- msec: 4640
- hash: "0b474aa5492386c319bf72280dae7896"
- }
- Frame {
- msec: 4656
- hash: "81952cf37f0965a603bf06a05ef610fa"
- }
- Frame {
- msec: 4672
- hash: "ad7606f147498c755284d111a1af7710"
- }
- Frame {
- msec: 4688
- hash: "144abb4208f9cc4f823e0d4abb3207d8"
- }
- Frame {
- msec: 4704
- hash: "0b4f3fafaf262f16e887938eda9624a3"
- }
- Frame {
- msec: 4720
- hash: "e729d3fde3db0f72b1080c7dc2eded1a"
- }
- Frame {
- msec: 4736
- hash: "36ffc8e16ebcb9c4499c4ff037b8b293"
- }
- Frame {
- msec: 4752
- hash: "c49853a23d2e8b966836888acce19ecc"
- }
- Frame {
- msec: 4768
- hash: "3873af5aa871bdb1d4f538333b11cf33"
- }
- Frame {
- msec: 4784
- hash: "6d02efe848b27b3e221a8332099fb83f"
- }
- Frame {
- msec: 4800
- hash: "2f08f365916d892f0789e93b674cb41b"
- }
- Frame {
- msec: 4816
- image: "cursorDelegate.5.png"
- }
- Frame {
- msec: 4832
- hash: "3adb8604d872bc8ff5498841c6da71b5"
- }
- Frame {
- msec: 4848
- hash: "e6eaa9959334f24ef3cf68d44d7340f1"
- }
- Frame {
- msec: 4864
- hash: "eba94c6ae3dc4eb26c8d074137c7aa0f"
- }
- Frame {
- msec: 4880
- hash: "7c75307fbb765bd69b888d500247b595"
- }
- Frame {
- msec: 4896
- hash: "2c0261e2223d7212e047dd4af6246a8f"
- }
- Frame {
- msec: 4912
- hash: "da73d23a925d93194aeb64d1522adc02"
- }
- Frame {
- msec: 4928
- hash: "d661872854338121d867b35d9e44ae6d"
- }
- Frame {
- msec: 4944
- hash: "969b5cf20c7c4e18723a8b8a70ea68ec"
- }
- Frame {
- msec: 4960
- hash: "c7318ea4b4a4ac49308bef41d3bc264d"
- }
- Frame {
- msec: 4976
- hash: "dd6bd11cc0bc877dbd70c55d4f5bab29"
- }
- Frame {
- msec: 4992
- hash: "21905ed4264a52c9b404149abedabe33"
- }
- Frame {
- msec: 5008
- hash: "e952374e5967619679af711157b561cd"
- }
- Frame {
- msec: 5024
- hash: "e952374e5967619679af711157b561cd"
- }
- Frame {
- msec: 5040
- hash: "21905ed4264a52c9b404149abedabe33"
- }
- Frame {
- msec: 5056
- hash: "dd6bd11cc0bc877dbd70c55d4f5bab29"
- }
- Frame {
- msec: 5072
- hash: "c7318ea4b4a4ac49308bef41d3bc264d"
- }
- Frame {
- msec: 5088
- hash: "969b5cf20c7c4e18723a8b8a70ea68ec"
- }
- Frame {
- msec: 5104
- hash: "d661872854338121d867b35d9e44ae6d"
- }
- Frame {
- msec: 5120
- hash: "da73d23a925d93194aeb64d1522adc02"
- }
- Frame {
- msec: 5136
- hash: "2c0261e2223d7212e047dd4af6246a8f"
- }
- Frame {
- msec: 5152
- hash: "7c75307fbb765bd69b888d500247b595"
- }
- Frame {
- msec: 5168
- hash: "eba94c6ae3dc4eb26c8d074137c7aa0f"
- }
- Frame {
- msec: 5184
- hash: "e6eaa9959334f24ef3cf68d44d7340f1"
- }
- Frame {
- msec: 5200
- hash: "3adb8604d872bc8ff5498841c6da71b5"
- }
- Frame {
- msec: 5216
- hash: "e602eeaac3ce53033154297e73802c02"
- }
- Frame {
- msec: 5232
- hash: "2f08f365916d892f0789e93b674cb41b"
- }
- Frame {
- msec: 5248
- hash: "6d02efe848b27b3e221a8332099fb83f"
- }
- Frame {
- msec: 5264
- hash: "3873af5aa871bdb1d4f538333b11cf33"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.0.png
deleted file mode 100644
index 7d0d0aee4a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.1.png
deleted file mode 100644
index 7d612bf2bb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.qml
deleted file mode 100644
index 8c7e3808b1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/linkActivated.qml
+++ /dev/null
@@ -1,191 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "linkActivated.0.png"
- }
- Frame {
- msec: 32
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 48
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 64
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 80
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 96
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 112
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 128
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 144
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 160
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 176
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 192
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 208
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 224
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 240
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 256
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 21; y: 13
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 272
- hash: "9482227cbc77e9083218c1452e8644d8"
- }
- Frame {
- msec: 288
- hash: "9482227cbc77e9083218c1452e8644d8"
- }
- Frame {
- msec: 304
- hash: "9482227cbc77e9083218c1452e8644d8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 22; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 320
- hash: "9482227cbc77e9083218c1452e8644d8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 23; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 23; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 336
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 352
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 368
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 384
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 400
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 416
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 432
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 448
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 464
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 480
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 496
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 512
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 528
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 544
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 560
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 576
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 592
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 608
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.png
deleted file mode 100644
index 59fc0fc492..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.png
deleted file mode 100644
index 2747b50831..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.png
deleted file mode 100644
index 74efe73bb1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.png
deleted file mode 100644
index 02f6e17b09..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.4.png
deleted file mode 100644
index 59fc0fc492..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.qml
deleted file mode 100644
index a4ba005c6b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/qt-669.qml
+++ /dev/null
@@ -1,1371 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "qt-669.0.png"
- }
- Frame {
- msec: 32
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 48
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 64
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 80
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 96
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 112
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 128
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 144
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 160
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 176
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 192
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 208
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 224
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 240
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 256
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 272
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 288
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 304
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 320
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 336
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 352
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 368
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 384
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 400
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 416
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 432
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 448
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 464
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 480
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 496
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 512
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 528
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 560
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 576
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 592
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 608
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 624
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 640
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 656
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 672
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 688
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 704
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 720
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 736
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 752
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 768
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 784
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 800
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 816
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 832
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 848
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 864
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 880
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 896
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 912
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 928
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 944
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 960
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 976
- image: "qt-669.1.png"
- }
- Frame {
- msec: 992
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 1008
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1024
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 1040
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 1056
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 1072
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 1088
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1104
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 1120
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 1136
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1152
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 1168
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 1184
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 1200
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 1216
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1232
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 1248
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 1264
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 1280
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1296
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 1312
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 1328
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 1344
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1360
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1376
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1392
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1408
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1424
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1440
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1456
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1472
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1488
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1504
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1520
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1536
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1552
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1568
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1584
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1600
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1616
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1632
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1648
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1664
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1680
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1696
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1712
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1728
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1744
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1760
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1776
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1792
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1808
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1824
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Frame {
- msec: 1840
- hash: "da047993eb77afffee6b8f0f210ca2d6"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1856
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1872
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1888
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1904
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1920
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1936
- image: "qt-669.2.png"
- }
- Frame {
- msec: 1952
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1968
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 1984
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2000
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 2016
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 2032
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 2048
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Frame {
- msec: 2064
- hash: "6f08f7b6337d5ebb305579bb71ba31d8"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2080
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 2096
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 2112
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 2128
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 2144
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 2176
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 2192
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 2208
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Frame {
- msec: 2224
- hash: "b80db720c6371aeaf99f4787fec2c5a3"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2240
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 2256
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2272
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 2288
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 2304
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 2320
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Frame {
- msec: 2336
- hash: "c8b5e39f4930399527236905cdbcb546"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2352
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2368
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2384
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2400
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2416
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2432
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2448
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2464
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2480
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2496
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2512
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2528
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2544
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2560
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2576
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Frame {
- msec: 2592
- hash: "3624b85c9362dfeff911cd5426f11ada"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2608
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 2624
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 2640
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 2656
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 2672
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2688
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 2704
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 2720
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 2736
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Frame {
- msec: 2752
- hash: "fa22742b8778a3b63ce7d6699dbf7482"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2768
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 2784
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 2800
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2816
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 2832
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 2848
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Frame {
- msec: 2864
- hash: "b069c174a1b9589ed3137cd01f870b17"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2880
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 2896
- image: "qt-669.3.png"
- }
- Frame {
- msec: 2912
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 2928
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2944
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 2960
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 2976
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 2992
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Frame {
- msec: 3008
- hash: "53f9d63bacad27fd73c2f84b82599dbc"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3024
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3040
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3056
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3072
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3088
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3104
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3120
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3136
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3152
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3168
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3184
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3200
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3216
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3232
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3248
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3264
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3280
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3296
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3312
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3328
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3344
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3360
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3376
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3392
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3408
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3424
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3440
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3456
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3472
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3488
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3504
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3520
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3536
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3552
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3568
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3584
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3600
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3616
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3632
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3648
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3664
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3680
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Frame {
- msec: 3696
- hash: "9294b20b7160322e1f2eecaee6ebf856"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3712
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3728
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3744
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3760
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3776
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3792
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3808
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3824
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3840
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3856
- image: "qt-669.4.png"
- }
- Frame {
- msec: 3872
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3888
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3904
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3920
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3936
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3952
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3968
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 3984
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4000
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4016
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4032
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4048
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4064
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4080
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4096
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4112
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4128
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4144
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4160
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4176
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4192
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4208
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4224
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4240
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4256
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4272
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4288
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
- Frame {
- msec: 4304
- hash: "80122e3e0d124c01b2769c1c88aa4a13"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.0.png
deleted file mode 100644
index a1c3c39043..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.1.png
deleted file mode 100644
index bfc91f5152..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png
deleted file mode 100644
index 56f6ecea8b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png
deleted file mode 100644
index 56f6ecea8b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.11.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.png
deleted file mode 100644
index 56f6ecea8b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.12.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.2.png
deleted file mode 100644
index f1829fa1b6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.3.png
deleted file mode 100644
index b7f41db045..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.4.png
deleted file mode 100644
index 9e58c3a523..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.5.png
deleted file mode 100644
index 8dbcc4174f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.6.png
deleted file mode 100644
index 302974b0cf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.png
deleted file mode 100644
index f8bc3b4602..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.8.png
deleted file mode 100644
index b435da67bc..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png
deleted file mode 100644
index e156cd5eab..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml
deleted file mode 100644
index a03948cdb2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/usingMultilineEdit.qml
+++ /dev/null
@@ -1,4687 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "usingMultilineEdit.0.png"
- }
- Frame {
- msec: 32
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 48
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 64
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 80
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 96
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 112
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 128
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 144
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 160
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 176
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 192
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 208
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 224
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 240
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 256
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 272
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 288
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 304
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 320
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 118; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 336
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 352
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 368
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 384
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 400
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 118; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 416
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 432
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 448
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 464
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 480
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 496
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 512
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 528
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 544
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 560
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 576
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 592
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 608
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 624
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Frame {
- msec: 640
- hash: "b59ca5ccc1bd1d1192cc109d66a31d0b"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 117; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 656
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 672
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 117; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 688
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 704
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 720
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 736
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 752
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 768
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 784
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 800
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 816
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 832
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 848
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 864
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 880
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 896
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 912
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 928
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 944
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 960
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 976
- image: "usingMultilineEdit.1.png"
- }
- Frame {
- msec: 992
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1008
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1024
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1040
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1056
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1072
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1088
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1104
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1120
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1136
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1152
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1168
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1184
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1200
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1216
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1232
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1248
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1264
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1280
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Frame {
- msec: 1296
- hash: "2414ab7436ed58a29eaf3ef15b5ced79"
- }
- Key {
- type: 6
- key: 44
- modifiers: 0
- text: "2c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1312
- hash: "91757521cdb0617645a2a6cb831f51f3"
- }
- Frame {
- msec: 1328
- hash: "91757521cdb0617645a2a6cb831f51f3"
- }
- Frame {
- msec: 1344
- hash: "91757521cdb0617645a2a6cb831f51f3"
- }
- Frame {
- msec: 1360
- hash: "91757521cdb0617645a2a6cb831f51f3"
- }
- Frame {
- msec: 1376
- hash: "91757521cdb0617645a2a6cb831f51f3"
- }
- Key {
- type: 7
- key: 44
- modifiers: 0
- text: "2c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1392
- hash: "91757521cdb0617645a2a6cb831f51f3"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1408
- hash: "a7e2d2f2668dcb902d3ab0e413d9b639"
- }
- Frame {
- msec: 1424
- hash: "a7e2d2f2668dcb902d3ab0e413d9b639"
- }
- Frame {
- msec: 1440
- hash: "a7e2d2f2668dcb902d3ab0e413d9b639"
- }
- Frame {
- msec: 1456
- hash: "a7e2d2f2668dcb902d3ab0e413d9b639"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1472
- hash: "a7e2d2f2668dcb902d3ab0e413d9b639"
- }
- Frame {
- msec: 1488
- hash: "a7e2d2f2668dcb902d3ab0e413d9b639"
- }
- Frame {
- msec: 1504
- hash: "a7e2d2f2668dcb902d3ab0e413d9b639"
- }
- Frame {
- msec: 1520
- hash: "a7e2d2f2668dcb902d3ab0e413d9b639"
- }
- Frame {
- msec: 1536
- hash: "a7e2d2f2668dcb902d3ab0e413d9b639"
- }
- Frame {
- msec: 1552
- hash: "a7e2d2f2668dcb902d3ab0e413d9b639"
- }
- Key {
- type: 6
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1568
- hash: "1602f7c814daec9612795d1e109b8f14"
- }
- Frame {
- msec: 1584
- hash: "1602f7c814daec9612795d1e109b8f14"
- }
- Frame {
- msec: 1600
- hash: "1602f7c814daec9612795d1e109b8f14"
- }
- Key {
- type: 7
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1616
- hash: "1602f7c814daec9612795d1e109b8f14"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1632
- hash: "84e1e7c90b2134d037146d8a7cd4c413"
- }
- Frame {
- msec: 1648
- hash: "84e1e7c90b2134d037146d8a7cd4c413"
- }
- Frame {
- msec: 1664
- hash: "84e1e7c90b2134d037146d8a7cd4c413"
- }
- Frame {
- msec: 1680
- hash: "84e1e7c90b2134d037146d8a7cd4c413"
- }
- Frame {
- msec: 1696
- hash: "84e1e7c90b2134d037146d8a7cd4c413"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1712
- hash: "84e1e7c90b2134d037146d8a7cd4c413"
- }
- Frame {
- msec: 1728
- hash: "84e1e7c90b2134d037146d8a7cd4c413"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1744
- hash: "87109c5f296e5b56aaecc09a2decae4d"
- }
- Frame {
- msec: 1760
- hash: "87109c5f296e5b56aaecc09a2decae4d"
- }
- Frame {
- msec: 1776
- hash: "87109c5f296e5b56aaecc09a2decae4d"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "87109c5f296e5b56aaecc09a2decae4d"
- }
- Frame {
- msec: 1808
- hash: "87109c5f296e5b56aaecc09a2decae4d"
- }
- Frame {
- msec: 1824
- hash: "87109c5f296e5b56aaecc09a2decae4d"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1840
- hash: "29f766ca17ac45522ca2079cce9a1015"
- }
- Frame {
- msec: 1856
- hash: "29f766ca17ac45522ca2079cce9a1015"
- }
- Frame {
- msec: 1872
- hash: "29f766ca17ac45522ca2079cce9a1015"
- }
- Frame {
- msec: 1888
- hash: "29f766ca17ac45522ca2079cce9a1015"
- }
- Frame {
- msec: 1904
- hash: "29f766ca17ac45522ca2079cce9a1015"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1920
- hash: "be6de699f29278ee3a39c3d8ed90f808"
- }
- Frame {
- msec: 1936
- image: "usingMultilineEdit.2.png"
- }
- Frame {
- msec: 1952
- hash: "be6de699f29278ee3a39c3d8ed90f808"
- }
- Frame {
- msec: 1968
- hash: "be6de699f29278ee3a39c3d8ed90f808"
- }
- Key {
- type: 6
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1984
- hash: "ef413406c3e7aa03ced4e06661dfafcc"
- }
- Frame {
- msec: 2000
- hash: "ef413406c3e7aa03ced4e06661dfafcc"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2016
- hash: "ef413406c3e7aa03ced4e06661dfafcc"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2032
- hash: "d29b729a45533ef77af530ab2f125bd1"
- }
- Frame {
- msec: 2048
- hash: "d29b729a45533ef77af530ab2f125bd1"
- }
- Key {
- type: 7
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "d29b729a45533ef77af530ab2f125bd1"
- }
- Frame {
- msec: 2080
- hash: "d29b729a45533ef77af530ab2f125bd1"
- }
- Frame {
- msec: 2096
- hash: "d29b729a45533ef77af530ab2f125bd1"
- }
- Frame {
- msec: 2112
- hash: "d29b729a45533ef77af530ab2f125bd1"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2128
- hash: "d29b729a45533ef77af530ab2f125bd1"
- }
- Frame {
- msec: 2144
- hash: "d29b729a45533ef77af530ab2f125bd1"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "3b2069cbaa6640664dbe1b80f3cf0670"
- }
- Frame {
- msec: 2176
- hash: "3b2069cbaa6640664dbe1b80f3cf0670"
- }
- Frame {
- msec: 2192
- hash: "3b2069cbaa6640664dbe1b80f3cf0670"
- }
- Frame {
- msec: 2208
- hash: "3b2069cbaa6640664dbe1b80f3cf0670"
- }
- Frame {
- msec: 2224
- hash: "3b2069cbaa6640664dbe1b80f3cf0670"
- }
- Frame {
- msec: 2240
- hash: "3b2069cbaa6640664dbe1b80f3cf0670"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2256
- hash: "6ef4fd1a5d53c16670163384ef4c8f06"
- }
- Frame {
- msec: 2272
- hash: "6ef4fd1a5d53c16670163384ef4c8f06"
- }
- Frame {
- msec: 2288
- hash: "6ef4fd1a5d53c16670163384ef4c8f06"
- }
- Frame {
- msec: 2304
- hash: "6ef4fd1a5d53c16670163384ef4c8f06"
- }
- Frame {
- msec: 2320
- hash: "6ef4fd1a5d53c16670163384ef4c8f06"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2336
- hash: "6ef4fd1a5d53c16670163384ef4c8f06"
- }
- Frame {
- msec: 2352
- hash: "6ef4fd1a5d53c16670163384ef4c8f06"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "c656f82ce3471c70d5f8050c5bd904e6"
- }
- Frame {
- msec: 2384
- hash: "c656f82ce3471c70d5f8050c5bd904e6"
- }
- Frame {
- msec: 2400
- hash: "c656f82ce3471c70d5f8050c5bd904e6"
- }
- Frame {
- msec: 2416
- hash: "c656f82ce3471c70d5f8050c5bd904e6"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2432
- hash: "c656f82ce3471c70d5f8050c5bd904e6"
- }
- Key {
- type: 6
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "991d345c4a62087543afa032e8d4bd2f"
- }
- Frame {
- msec: 2464
- hash: "991d345c4a62087543afa032e8d4bd2f"
- }
- Frame {
- msec: 2480
- hash: "991d345c4a62087543afa032e8d4bd2f"
- }
- Frame {
- msec: 2496
- hash: "991d345c4a62087543afa032e8d4bd2f"
- }
- Frame {
- msec: 2512
- hash: "991d345c4a62087543afa032e8d4bd2f"
- }
- Frame {
- msec: 2528
- hash: "991d345c4a62087543afa032e8d4bd2f"
- }
- Key {
- type: 7
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2544
- hash: "991d345c4a62087543afa032e8d4bd2f"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2560
- hash: "9b55130d7cb0922aaeed3a5aad103f98"
- }
- Frame {
- msec: 2576
- hash: "9b55130d7cb0922aaeed3a5aad103f98"
- }
- Frame {
- msec: 2592
- hash: "9b55130d7cb0922aaeed3a5aad103f98"
- }
- Frame {
- msec: 2608
- hash: "9b55130d7cb0922aaeed3a5aad103f98"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2624
- hash: "9b55130d7cb0922aaeed3a5aad103f98"
- }
- Frame {
- msec: 2640
- hash: "9b55130d7cb0922aaeed3a5aad103f98"
- }
- Frame {
- msec: 2656
- hash: "9b55130d7cb0922aaeed3a5aad103f98"
- }
- Frame {
- msec: 2672
- hash: "9b55130d7cb0922aaeed3a5aad103f98"
- }
- Frame {
- msec: 2688
- hash: "9b55130d7cb0922aaeed3a5aad103f98"
- }
- Key {
- type: 6
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2704
- hash: "9b323c8f49dc890af8849a0de8a7db4d"
- }
- Frame {
- msec: 2720
- hash: "9b323c8f49dc890af8849a0de8a7db4d"
- }
- Frame {
- msec: 2736
- hash: "9b323c8f49dc890af8849a0de8a7db4d"
- }
- Frame {
- msec: 2752
- hash: "9b323c8f49dc890af8849a0de8a7db4d"
- }
- Frame {
- msec: 2768
- hash: "9b323c8f49dc890af8849a0de8a7db4d"
- }
- Frame {
- msec: 2784
- hash: "9b323c8f49dc890af8849a0de8a7db4d"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2800
- hash: "c3c761352c46bd89c400c6638180fa9a"
- }
- Key {
- type: 7
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2816
- hash: "c3c761352c46bd89c400c6638180fa9a"
- }
- Frame {
- msec: 2832
- hash: "c3c761352c46bd89c400c6638180fa9a"
- }
- Frame {
- msec: 2848
- hash: "c3c761352c46bd89c400c6638180fa9a"
- }
- Frame {
- msec: 2864
- hash: "c3c761352c46bd89c400c6638180fa9a"
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2880
- hash: "c3c761352c46bd89c400c6638180fa9a"
- }
- Frame {
- msec: 2896
- image: "usingMultilineEdit.3.png"
- }
- Frame {
- msec: 2912
- hash: "c3c761352c46bd89c400c6638180fa9a"
- }
- Frame {
- msec: 2928
- hash: "c3c761352c46bd89c400c6638180fa9a"
- }
- Key {
- type: 6
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2944
- hash: "93af025fc4cf949167efac7ed3bc5258"
- }
- Frame {
- msec: 2960
- hash: "93af025fc4cf949167efac7ed3bc5258"
- }
- Frame {
- msec: 2976
- hash: "93af025fc4cf949167efac7ed3bc5258"
- }
- Key {
- type: 7
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2992
- hash: "41fe34c5246a438886e85fdc30513a08"
- }
- Frame {
- msec: 3008
- hash: "41fe34c5246a438886e85fdc30513a08"
- }
- Frame {
- msec: 3024
- hash: "41fe34c5246a438886e85fdc30513a08"
- }
- Frame {
- msec: 3040
- hash: "41fe34c5246a438886e85fdc30513a08"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3056
- hash: "41fe34c5246a438886e85fdc30513a08"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3072
- hash: "db7bd05984a1ca713382f109780b8e5d"
- }
- Frame {
- msec: 3088
- hash: "db7bd05984a1ca713382f109780b8e5d"
- }
- Frame {
- msec: 3104
- hash: "db7bd05984a1ca713382f109780b8e5d"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3120
- hash: "db7bd05984a1ca713382f109780b8e5d"
- }
- Key {
- type: 7
- key: 32
- modifiers: 33554432
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3136
- hash: "db7bd05984a1ca713382f109780b8e5d"
- }
- Frame {
- msec: 3152
- hash: "db7bd05984a1ca713382f109780b8e5d"
- }
- Key {
- type: 6
- key: 73
- modifiers: 33554432
- text: "49"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3168
- hash: "85bed6c44d017fb45591ee821a6e8c82"
- }
- Frame {
- msec: 3184
- hash: "85bed6c44d017fb45591ee821a6e8c82"
- }
- Frame {
- msec: 3200
- hash: "85bed6c44d017fb45591ee821a6e8c82"
- }
- Frame {
- msec: 3216
- hash: "85bed6c44d017fb45591ee821a6e8c82"
- }
- Key {
- type: 7
- key: 73
- modifiers: 33554432
- text: "49"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3232
- hash: "85bed6c44d017fb45591ee821a6e8c82"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3248
- hash: "70e09c15e0db15327b278c20508cd77e"
- }
- Frame {
- msec: 3264
- hash: "70e09c15e0db15327b278c20508cd77e"
- }
- Frame {
- msec: 3280
- hash: "70e09c15e0db15327b278c20508cd77e"
- }
- Frame {
- msec: 3296
- hash: "70e09c15e0db15327b278c20508cd77e"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3312
- hash: "70e09c15e0db15327b278c20508cd77e"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3328
- hash: "7bdf47aad57a3e53683819927a9ba6f7"
- }
- Frame {
- msec: 3344
- hash: "7bdf47aad57a3e53683819927a9ba6f7"
- }
- Frame {
- msec: 3360
- hash: "7bdf47aad57a3e53683819927a9ba6f7"
- }
- Frame {
- msec: 3376
- hash: "7bdf47aad57a3e53683819927a9ba6f7"
- }
- Frame {
- msec: 3392
- hash: "7bdf47aad57a3e53683819927a9ba6f7"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3408
- hash: "7bdf47aad57a3e53683819927a9ba6f7"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3424
- hash: "cd302294ea4a6015f4093e3ce0640a15"
- }
- Frame {
- msec: 3440
- hash: "cd302294ea4a6015f4093e3ce0640a15"
- }
- Frame {
- msec: 3456
- hash: "cd302294ea4a6015f4093e3ce0640a15"
- }
- Frame {
- msec: 3472
- hash: "cd302294ea4a6015f4093e3ce0640a15"
- }
- Frame {
- msec: 3488
- hash: "cd302294ea4a6015f4093e3ce0640a15"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 78
- modifiers: 0
- text: "6e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3504
- hash: "6679b8bffbcf389e1a56e9e494c9041c"
- }
- Frame {
- msec: 3520
- hash: "6679b8bffbcf389e1a56e9e494c9041c"
- }
- Frame {
- msec: 3536
- hash: "6679b8bffbcf389e1a56e9e494c9041c"
- }
- Frame {
- msec: 3552
- hash: "6679b8bffbcf389e1a56e9e494c9041c"
- }
- Frame {
- msec: 3568
- hash: "6679b8bffbcf389e1a56e9e494c9041c"
- }
- Frame {
- msec: 3584
- hash: "6679b8bffbcf389e1a56e9e494c9041c"
- }
- Key {
- type: 7
- key: 78
- modifiers: 0
- text: "6e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3600
- hash: "6679b8bffbcf389e1a56e9e494c9041c"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3616
- hash: "6cf8306437867645e5459cd4c9733ef7"
- }
- Frame {
- msec: 3632
- hash: "6cf8306437867645e5459cd4c9733ef7"
- }
- Frame {
- msec: 3648
- hash: "6cf8306437867645e5459cd4c9733ef7"
- }
- Frame {
- msec: 3664
- hash: "6cf8306437867645e5459cd4c9733ef7"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3680
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3696
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3712
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3728
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3744
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3760
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3776
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3792
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3808
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3824
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3840
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3856
- image: "usingMultilineEdit.4.png"
- }
- Frame {
- msec: 3872
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3888
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3904
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3920
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3936
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3952
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Frame {
- msec: 3968
- hash: "31c0880fb6b8995881f0983685c51c81"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3984
- hash: "34c2a53d8852e17ab2b7990eb6156343"
- }
- Frame {
- msec: 4000
- hash: "34c2a53d8852e17ab2b7990eb6156343"
- }
- Frame {
- msec: 4016
- hash: "34c2a53d8852e17ab2b7990eb6156343"
- }
- Frame {
- msec: 4032
- hash: "34c2a53d8852e17ab2b7990eb6156343"
- }
- Frame {
- msec: 4048
- hash: "34c2a53d8852e17ab2b7990eb6156343"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4064
- hash: "75a0e73d34f90ca26b4c7e94a7a6ecd2"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4080
- hash: "75a0e73d34f90ca26b4c7e94a7a6ecd2"
- }
- Frame {
- msec: 4096
- hash: "75a0e73d34f90ca26b4c7e94a7a6ecd2"
- }
- Frame {
- msec: 4112
- hash: "75a0e73d34f90ca26b4c7e94a7a6ecd2"
- }
- Frame {
- msec: 4128
- hash: "75a0e73d34f90ca26b4c7e94a7a6ecd2"
- }
- Key {
- type: 6
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4144
- hash: "296a65279cec34eb93083f3938bf9b16"
- }
- Frame {
- msec: 4160
- hash: "296a65279cec34eb93083f3938bf9b16"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4176
- hash: "296a65279cec34eb93083f3938bf9b16"
- }
- Frame {
- msec: 4192
- hash: "296a65279cec34eb93083f3938bf9b16"
- }
- Frame {
- msec: 4208
- hash: "296a65279cec34eb93083f3938bf9b16"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4224
- hash: "902a4133742f9a99195a059f7f6b91df"
- }
- Frame {
- msec: 4240
- hash: "902a4133742f9a99195a059f7f6b91df"
- }
- Key {
- type: 7
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4256
- hash: "902a4133742f9a99195a059f7f6b91df"
- }
- Frame {
- msec: 4272
- hash: "902a4133742f9a99195a059f7f6b91df"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4288
- hash: "902a4133742f9a99195a059f7f6b91df"
- }
- Frame {
- msec: 4304
- hash: "902a4133742f9a99195a059f7f6b91df"
- }
- Frame {
- msec: 4320
- hash: "902a4133742f9a99195a059f7f6b91df"
- }
- Frame {
- msec: 4336
- hash: "902a4133742f9a99195a059f7f6b91df"
- }
- Frame {
- msec: 4352
- hash: "902a4133742f9a99195a059f7f6b91df"
- }
- Frame {
- msec: 4368
- hash: "902a4133742f9a99195a059f7f6b91df"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4384
- hash: "7e92966a300a81511c5fcb9e447b9029"
- }
- Frame {
- msec: 4400
- hash: "7e92966a300a81511c5fcb9e447b9029"
- }
- Frame {
- msec: 4416
- hash: "7e92966a300a81511c5fcb9e447b9029"
- }
- Frame {
- msec: 4432
- hash: "7e92966a300a81511c5fcb9e447b9029"
- }
- Frame {
- msec: 4448
- hash: "7e92966a300a81511c5fcb9e447b9029"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4464
- hash: "7e92966a300a81511c5fcb9e447b9029"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4480
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4496
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4512
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4528
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4544
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4560
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4576
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4592
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 4608
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4624
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4640
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4656
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4672
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4688
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4704
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4720
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4736
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4752
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4768
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4784
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4800
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Frame {
- msec: 4816
- image: "usingMultilineEdit.5.png"
- }
- Frame {
- msec: 4832
- hash: "d22869235a5e4689db64d97f0b5af6c0"
- }
- Key {
- type: 6
- key: 63
- modifiers: 33554432
- text: "3f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4848
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 4864
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 4880
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 4896
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 4912
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 4928
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 4944
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Key {
- type: 7
- key: 63
- modifiers: 33554432
- text: "3f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4960
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 4976
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 4992
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5008
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5024
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5040
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5056
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5072
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5088
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5104
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5120
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5136
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5152
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5168
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5184
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5200
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5216
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5232
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5248
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5264
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5280
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5296
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5312
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5328
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5344
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5360
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5376
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5392
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5408
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5424
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5440
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5456
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5472
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5488
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5504
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5520
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5536
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5552
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5568
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5584
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5600
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5616
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5632
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5648
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5664
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5680
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5696
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5712
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5728
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5744
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Frame {
- msec: 5760
- hash: "8153431eabfb3a6916aa37319d9fd379"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 48; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5776
- image: "usingMultilineEdit.6.png"
- }
- Frame {
- msec: 5792
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 5808
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 5824
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5840
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5856
- hash: "4b0c9ae119bd6c9f6331cbefc53afa3d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5872
- hash: "4b0c9ae119bd6c9f6331cbefc53afa3d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5888
- hash: "e6b3b80f052fec9f67b02a7f36676b5d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5904
- hash: "37d1ee8e1c914d499dd7920576dadcae"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 58
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5920
- hash: "37d1ee8e1c914d499dd7920576dadcae"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 69
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5936
- hash: "34f7bd61afb22009181d79841bc59fa1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 62; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5952
- hash: "23ea9471d132daab6193b0809c8bd98e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5968
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 97
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5984
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 101
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6000
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6016
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 116
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6032
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6048
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 124
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6064
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6080
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 134
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6096
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 140
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6112
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6128
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6144
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6160
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6176
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6192
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Frame {
- msec: 6208
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Frame {
- msec: 6224
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Frame {
- msec: 6240
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Frame {
- msec: 6256
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6272
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6288
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6304
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6320
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 63; y: 98
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6336
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6352
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 72
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6368
- hash: "e35d1c5a15474388727942b41fdcec0f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 58
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6384
- hash: "1b24d0c17446cfadc351127f842ac5fd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6400
- hash: "1b24d0c17446cfadc351127f842ac5fd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6416
- hash: "f0b06fefc9e18b836ffe081215efe584"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 16
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 6
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6432
- hash: "9ed30cb00df82cce04e8c8b76d056013"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -2
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6448
- hash: "4d37a34962e019f47201da6baddebca8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: -23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6464
- hash: "cd83055403901b1a7a99dfda3798ca7e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6480
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6496
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6512
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6528
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6544
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6560
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6576
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6592
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Frame {
- msec: 6608
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Frame {
- msec: 6624
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Frame {
- msec: 6640
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Frame {
- msec: 6656
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Frame {
- msec: 6672
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -47
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6688
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 44; y: -42
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6704
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 44; y: -39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6720
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: -28
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6736
- image: "usingMultilineEdit.7.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6752
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: -18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: -14
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6768
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: -10
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6784
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -6
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: -3
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6800
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: -1
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 0
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6816
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 2
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 3
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6832
- hash: "71cdc5a9144234556630430361779ff7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6848
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6864
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6880
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 55; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6896
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 6912
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 6928
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 6944
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 6960
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 6976
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 6992
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 7008
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 7024
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 7040
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 7056
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 7072
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Frame {
- msec: 7088
- hash: "0fba30df8b6cac2f911fbd2b7c48fca6"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 59; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7104
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7120
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7136
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7152
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7168
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 59; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7184
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7200
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7216
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7232
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7248
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7264
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7280
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7296
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7312
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7328
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7344
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7360
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7376
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7392
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7408
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7424
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7440
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7456
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7472
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7488
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7504
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7520
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7536
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7552
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Frame {
- msec: 7568
- hash: "df53c57d83cf38d96893f379d8a0c1a7"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7584
- hash: "bdc721eb51436b121826d4163cbf596f"
- }
- Frame {
- msec: 7600
- hash: "bdc721eb51436b121826d4163cbf596f"
- }
- Frame {
- msec: 7616
- hash: "bdc721eb51436b121826d4163cbf596f"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7632
- hash: "bdc721eb51436b121826d4163cbf596f"
- }
- Frame {
- msec: 7648
- hash: "bdc721eb51436b121826d4163cbf596f"
- }
- Frame {
- msec: 7664
- hash: "bdc721eb51436b121826d4163cbf596f"
- }
- Frame {
- msec: 7680
- hash: "bdc721eb51436b121826d4163cbf596f"
- }
- Frame {
- msec: 7696
- image: "usingMultilineEdit.8.png"
- }
- Frame {
- msec: 7712
- hash: "bdc721eb51436b121826d4163cbf596f"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7728
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7744
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7760
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7776
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7792
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7808
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7824
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7840
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7856
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7872
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7888
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7904
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7920
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7936
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Frame {
- msec: 7952
- hash: "7d378c1c1e54d2d13b602f1cf1a56a2f"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 7968
- hash: "bc028efd0fc3d999269d047fe4d64e27"
- }
- Frame {
- msec: 7984
- hash: "bc028efd0fc3d999269d047fe4d64e27"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 8000
- hash: "b18fe0d9cfed62d53e152e3f294dc8b3"
- }
- Frame {
- msec: 8016
- hash: "b18fe0d9cfed62d53e152e3f294dc8b3"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 8032
- hash: "eca1a9d5eed543b913d1d2b19cef3286"
- }
- Frame {
- msec: 8048
- hash: "eca1a9d5eed543b913d1d2b19cef3286"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 8064
- hash: "01f1ac2c199086a701a784a3a47fdb71"
- }
- Frame {
- msec: 8080
- hash: "01f1ac2c199086a701a784a3a47fdb71"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8096
- hash: "01f1ac2c199086a701a784a3a47fdb71"
- }
- Frame {
- msec: 8112
- hash: "01f1ac2c199086a701a784a3a47fdb71"
- }
- Frame {
- msec: 8128
- hash: "01f1ac2c199086a701a784a3a47fdb71"
- }
- Frame {
- msec: 8144
- hash: "01f1ac2c199086a701a784a3a47fdb71"
- }
- Frame {
- msec: 8160
- hash: "01f1ac2c199086a701a784a3a47fdb71"
- }
- Frame {
- msec: 8176
- hash: "01f1ac2c199086a701a784a3a47fdb71"
- }
- Frame {
- msec: 8192
- hash: "01f1ac2c199086a701a784a3a47fdb71"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8208
- hash: "c8254066bc7b4bae0934425226d59a2b"
- }
- Frame {
- msec: 8224
- hash: "c8254066bc7b4bae0934425226d59a2b"
- }
- Frame {
- msec: 8240
- hash: "c8254066bc7b4bae0934425226d59a2b"
- }
- Frame {
- msec: 8256
- hash: "c8254066bc7b4bae0934425226d59a2b"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8272
- hash: "c8254066bc7b4bae0934425226d59a2b"
- }
- Frame {
- msec: 8288
- hash: "c8254066bc7b4bae0934425226d59a2b"
- }
- Frame {
- msec: 8304
- hash: "c8254066bc7b4bae0934425226d59a2b"
- }
- Frame {
- msec: 8320
- hash: "c8254066bc7b4bae0934425226d59a2b"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8336
- hash: "7bd48f4441ba1971bf49cb5b9e174935"
- }
- Frame {
- msec: 8352
- hash: "7bd48f4441ba1971bf49cb5b9e174935"
- }
- Frame {
- msec: 8368
- hash: "7bd48f4441ba1971bf49cb5b9e174935"
- }
- Frame {
- msec: 8384
- hash: "7bd48f4441ba1971bf49cb5b9e174935"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8400
- hash: "7bd48f4441ba1971bf49cb5b9e174935"
- }
- Frame {
- msec: 8416
- hash: "7bd48f4441ba1971bf49cb5b9e174935"
- }
- Frame {
- msec: 8432
- hash: "7bd48f4441ba1971bf49cb5b9e174935"
- }
- Frame {
- msec: 8448
- hash: "7bd48f4441ba1971bf49cb5b9e174935"
- }
- Frame {
- msec: 8464
- hash: "7bd48f4441ba1971bf49cb5b9e174935"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8480
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8496
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8512
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8528
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8544
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8560
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8576
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8592
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8608
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8624
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8640
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8656
- image: "usingMultilineEdit.9.png"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8672
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8688
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8704
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8720
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8736
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8752
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8768
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8784
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8800
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8816
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8832
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8848
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8864
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8880
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8896
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8912
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8928
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8944
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8960
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8976
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 8992
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9008
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9024
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9040
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9056
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9072
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9088
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9104
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9120
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9136
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9152
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9168
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9184
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9200
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 70; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9216
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9232
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9248
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9264
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9280
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 70; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9296
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9312
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9328
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9344
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9360
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9376
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9392
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9408
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9424
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Frame {
- msec: 9440
- hash: "edf44121a60ee9d975954863c2ed848c"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 71; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9456
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9472
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9488
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9504
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9520
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9536
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 71; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9552
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9568
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9584
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9600
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9616
- image: "usingMultilineEdit.10.png"
- }
- Frame {
- msec: 9632
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9648
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9664
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 9680
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9696
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9712
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9728
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9744
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9760
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9776
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9792
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9808
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9824
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9840
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9856
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9872
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9888
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9904
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9920
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9936
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9952
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9968
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 9984
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10000
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10016
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10032
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10048
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10064
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10080
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10096
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10112
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10128
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10144
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10160
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10176
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10192
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10208
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10224
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10240
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10256
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10272
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10288
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10304
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10320
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10336
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Frame {
- msec: 10352
- hash: "956f4f8cfca76cfee9babea29b0715ea"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10368
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10384
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10400
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10416
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10432
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10448
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10464
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10480
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10496
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10512
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10528
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10544
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10560
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10576
- image: "usingMultilineEdit.11.png"
- }
- Frame {
- msec: 10592
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10608
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10624
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10640
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10656
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10672
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10688
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10704
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10720
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10736
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10752
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10768
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10784
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10800
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10816
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10832
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10848
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10864
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10880
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10896
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10912
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10928
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10944
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10960
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10976
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 10992
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11008
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11024
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11040
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11056
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11072
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11088
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11104
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11120
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11136
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11152
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11168
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11184
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11200
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11216
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11232
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11248
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11264
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11280
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11296
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11312
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11328
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11344
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11360
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11376
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11392
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11408
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11424
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11440
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11456
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11472
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11488
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11504
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11520
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11536
- image: "usingMultilineEdit.12.png"
- }
- Frame {
- msec: 11552
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11568
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11584
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11600
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
- Frame {
- msec: 11616
- hash: "b58ab2c31823e7b0be144fba3e77368a"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png
deleted file mode 100644
index da3b971118..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png
deleted file mode 100644
index 8ea07878d4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png
deleted file mode 100644
index 33328db562..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png
deleted file mode 100644
index 222ba535c7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png
deleted file mode 100644
index 970e73d42b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png
deleted file mode 100644
index 4dc64a12f7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png
deleted file mode 100644
index 99d451c486..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.7.png
deleted file mode 100644
index d624a719d1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml
deleted file mode 100644
index 13834f0347..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data-X11/wrap.qml
+++ /dev/null
@@ -1,2467 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "wrap.0.png"
- }
- Key {
- type: 6
- key: 84
- modifiers: 33554432
- text: "54"
- autorep: false
- count: 1
- }
- Frame {
- msec: 32
- hash: "ca07773bf0df96be1f23d13c4d6e2bfd"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 48
- hash: "ca07773bf0df96be1f23d13c4d6e2bfd"
- }
- Frame {
- msec: 64
- hash: "ca07773bf0df96be1f23d13c4d6e2bfd"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 80
- hash: "ca07773bf0df96be1f23d13c4d6e2bfd"
- }
- Frame {
- msec: 96
- hash: "ca07773bf0df96be1f23d13c4d6e2bfd"
- }
- Key {
- type: 6
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 112
- hash: "fc223de2e1f35db08d9689bc41f02304"
- }
- Frame {
- msec: 128
- hash: "fc223de2e1f35db08d9689bc41f02304"
- }
- Frame {
- msec: 144
- hash: "fc223de2e1f35db08d9689bc41f02304"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 160
- hash: "dc208fb5236b0a2a54bf9aaf7a9d60cd"
- }
- Frame {
- msec: 176
- hash: "dc208fb5236b0a2a54bf9aaf7a9d60cd"
- }
- Frame {
- msec: 192
- hash: "dc208fb5236b0a2a54bf9aaf7a9d60cd"
- }
- Key {
- type: 7
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 208
- hash: "dc208fb5236b0a2a54bf9aaf7a9d60cd"
- }
- Frame {
- msec: 224
- hash: "dc208fb5236b0a2a54bf9aaf7a9d60cd"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 240
- hash: "c017468afd522089b5c9f42dd61be1b4"
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 256
- hash: "c017468afd522089b5c9f42dd61be1b4"
- }
- Frame {
- msec: 272
- hash: "c017468afd522089b5c9f42dd61be1b4"
- }
- Frame {
- msec: 288
- hash: "c017468afd522089b5c9f42dd61be1b4"
- }
- Frame {
- msec: 304
- hash: "c017468afd522089b5c9f42dd61be1b4"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 320
- hash: "c017468afd522089b5c9f42dd61be1b4"
- }
- Frame {
- msec: 336
- hash: "c017468afd522089b5c9f42dd61be1b4"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 352
- hash: "84b1f1bf26af0da07006bb102d22693f"
- }
- Frame {
- msec: 368
- hash: "84b1f1bf26af0da07006bb102d22693f"
- }
- Frame {
- msec: 384
- hash: "84b1f1bf26af0da07006bb102d22693f"
- }
- Frame {
- msec: 400
- hash: "84b1f1bf26af0da07006bb102d22693f"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 416
- hash: "84b1f1bf26af0da07006bb102d22693f"
- }
- Frame {
- msec: 432
- hash: "84b1f1bf26af0da07006bb102d22693f"
- }
- Frame {
- msec: 448
- hash: "84b1f1bf26af0da07006bb102d22693f"
- }
- Frame {
- msec: 464
- hash: "84b1f1bf26af0da07006bb102d22693f"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 480
- hash: "a16f5aa01bd07de4ef7f868b7b6116f7"
- }
- Frame {
- msec: 496
- hash: "a16f5aa01bd07de4ef7f868b7b6116f7"
- }
- Frame {
- msec: 512
- hash: "a16f5aa01bd07de4ef7f868b7b6116f7"
- }
- Frame {
- msec: 528
- hash: "a16f5aa01bd07de4ef7f868b7b6116f7"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "e25e16d0d7b223b243d466630b901f68"
- }
- Frame {
- msec: 560
- hash: "e25e16d0d7b223b243d466630b901f68"
- }
- Frame {
- msec: 576
- hash: "e25e16d0d7b223b243d466630b901f68"
- }
- Frame {
- msec: 592
- hash: "e25e16d0d7b223b243d466630b901f68"
- }
- Frame {
- msec: 608
- hash: "e25e16d0d7b223b243d466630b901f68"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 624
- hash: "a53520edb9c117aa53abc42fce3505be"
- }
- Frame {
- msec: 640
- hash: "a53520edb9c117aa53abc42fce3505be"
- }
- Frame {
- msec: 656
- hash: "a53520edb9c117aa53abc42fce3505be"
- }
- Frame {
- msec: 672
- hash: "a53520edb9c117aa53abc42fce3505be"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 688
- hash: "a53520edb9c117aa53abc42fce3505be"
- }
- Frame {
- msec: 704
- hash: "a53520edb9c117aa53abc42fce3505be"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 720
- hash: "a7ef30038b24e8bf946bdd38aaac6430"
- }
- Frame {
- msec: 736
- hash: "a7ef30038b24e8bf946bdd38aaac6430"
- }
- Frame {
- msec: 752
- hash: "a7ef30038b24e8bf946bdd38aaac6430"
- }
- Frame {
- msec: 768
- hash: "a7ef30038b24e8bf946bdd38aaac6430"
- }
- Frame {
- msec: 784
- hash: "a7ef30038b24e8bf946bdd38aaac6430"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 800
- hash: "a7ef30038b24e8bf946bdd38aaac6430"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 816
- hash: "026b29fc03bd22e15ff725d34dee91eb"
- }
- Frame {
- msec: 832
- hash: "026b29fc03bd22e15ff725d34dee91eb"
- }
- Frame {
- msec: 848
- hash: "026b29fc03bd22e15ff725d34dee91eb"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 864
- hash: "026b29fc03bd22e15ff725d34dee91eb"
- }
- Frame {
- msec: 880
- hash: "026b29fc03bd22e15ff725d34dee91eb"
- }
- Frame {
- msec: 896
- hash: "026b29fc03bd22e15ff725d34dee91eb"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 912
- hash: "2b1cef34dff32e36e3c44f2ffb2be66e"
- }
- Frame {
- msec: 928
- hash: "2b1cef34dff32e36e3c44f2ffb2be66e"
- }
- Frame {
- msec: 944
- hash: "2b1cef34dff32e36e3c44f2ffb2be66e"
- }
- Frame {
- msec: 960
- hash: "2b1cef34dff32e36e3c44f2ffb2be66e"
- }
- Frame {
- msec: 976
- image: "wrap.1.png"
- }
- Frame {
- msec: 992
- hash: "2b1cef34dff32e36e3c44f2ffb2be66e"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1008
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Frame {
- msec: 1024
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Frame {
- msec: 1040
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Frame {
- msec: 1056
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Frame {
- msec: 1072
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1088
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Frame {
- msec: 1104
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Frame {
- msec: 1120
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Frame {
- msec: 1136
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Frame {
- msec: 1152
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Frame {
- msec: 1168
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Frame {
- msec: 1184
- hash: "f619bc4148876effc459127009d4cc3a"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1200
- hash: "c7fbee3129141e8493b7bc4f85fdc2d0"
- }
- Frame {
- msec: 1216
- hash: "c7fbee3129141e8493b7bc4f85fdc2d0"
- }
- Frame {
- msec: 1232
- hash: "c7fbee3129141e8493b7bc4f85fdc2d0"
- }
- Frame {
- msec: 1248
- hash: "c7fbee3129141e8493b7bc4f85fdc2d0"
- }
- Frame {
- msec: 1264
- hash: "c7fbee3129141e8493b7bc4f85fdc2d0"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1280
- hash: "f2a45d80148ee1b5f1cd8cb6ddd0c5ed"
- }
- Frame {
- msec: 1296
- hash: "f2a45d80148ee1b5f1cd8cb6ddd0c5ed"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1312
- hash: "147efa341e4dc39cdd555c2c81e5c603"
- }
- Frame {
- msec: 1328
- hash: "147efa341e4dc39cdd555c2c81e5c603"
- }
- Frame {
- msec: 1344
- hash: "147efa341e4dc39cdd555c2c81e5c603"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1360
- hash: "147efa341e4dc39cdd555c2c81e5c603"
- }
- Frame {
- msec: 1376
- hash: "147efa341e4dc39cdd555c2c81e5c603"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1392
- hash: "147efa341e4dc39cdd555c2c81e5c603"
- }
- Frame {
- msec: 1408
- hash: "147efa341e4dc39cdd555c2c81e5c603"
- }
- Frame {
- msec: 1424
- hash: "147efa341e4dc39cdd555c2c81e5c603"
- }
- Frame {
- msec: 1440
- hash: "147efa341e4dc39cdd555c2c81e5c603"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1456
- hash: "d5b19a6d767a08f488cc8fc5c427a2dd"
- }
- Frame {
- msec: 1472
- hash: "d5b19a6d767a08f488cc8fc5c427a2dd"
- }
- Frame {
- msec: 1488
- hash: "d5b19a6d767a08f488cc8fc5c427a2dd"
- }
- Frame {
- msec: 1504
- hash: "d5b19a6d767a08f488cc8fc5c427a2dd"
- }
- Frame {
- msec: 1520
- hash: "d5b19a6d767a08f488cc8fc5c427a2dd"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1536
- hash: "d5b19a6d767a08f488cc8fc5c427a2dd"
- }
- Frame {
- msec: 1552
- hash: "d5b19a6d767a08f488cc8fc5c427a2dd"
- }
- Key {
- type: 6
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1568
- hash: "bf6265ca859f700fb07f8b992255787d"
- }
- Frame {
- msec: 1584
- hash: "bf6265ca859f700fb07f8b992255787d"
- }
- Frame {
- msec: 1600
- hash: "bf6265ca859f700fb07f8b992255787d"
- }
- Frame {
- msec: 1616
- hash: "bf6265ca859f700fb07f8b992255787d"
- }
- Frame {
- msec: 1632
- hash: "bf6265ca859f700fb07f8b992255787d"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1648
- hash: "329e4cd26283eb08188d96b2b0325733"
- }
- Frame {
- msec: 1664
- hash: "329e4cd26283eb08188d96b2b0325733"
- }
- Frame {
- msec: 1680
- hash: "329e4cd26283eb08188d96b2b0325733"
- }
- Frame {
- msec: 1696
- hash: "329e4cd26283eb08188d96b2b0325733"
- }
- Frame {
- msec: 1712
- hash: "329e4cd26283eb08188d96b2b0325733"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1728
- hash: "7b5ac2afafbbaf1e13c70a11461820ad"
- }
- Frame {
- msec: 1744
- hash: "7b5ac2afafbbaf1e13c70a11461820ad"
- }
- Frame {
- msec: 1760
- hash: "7b5ac2afafbbaf1e13c70a11461820ad"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1776
- hash: "7b5ac2afafbbaf1e13c70a11461820ad"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "bcfa1aa48767f70541a70cb5f85792ba"
- }
- Frame {
- msec: 1808
- hash: "bcfa1aa48767f70541a70cb5f85792ba"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1824
- hash: "bcfa1aa48767f70541a70cb5f85792ba"
- }
- Frame {
- msec: 1840
- hash: "bcfa1aa48767f70541a70cb5f85792ba"
- }
- Frame {
- msec: 1856
- hash: "bcfa1aa48767f70541a70cb5f85792ba"
- }
- Frame {
- msec: 1872
- hash: "bcfa1aa48767f70541a70cb5f85792ba"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1888
- hash: "bcfa1aa48767f70541a70cb5f85792ba"
- }
- Frame {
- msec: 1904
- hash: "bcfa1aa48767f70541a70cb5f85792ba"
- }
- Frame {
- msec: 1920
- hash: "bcfa1aa48767f70541a70cb5f85792ba"
- }
- Frame {
- msec: 1936
- image: "wrap.2.png"
- }
- Frame {
- msec: 1952
- hash: "bcfa1aa48767f70541a70cb5f85792ba"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1968
- hash: "e89f7cf38b3b596298d6c649a1207469"
- }
- Frame {
- msec: 1984
- hash: "e89f7cf38b3b596298d6c649a1207469"
- }
- Frame {
- msec: 2000
- hash: "e89f7cf38b3b596298d6c649a1207469"
- }
- Frame {
- msec: 2016
- hash: "e89f7cf38b3b596298d6c649a1207469"
- }
- Frame {
- msec: 2032
- hash: "e89f7cf38b3b596298d6c649a1207469"
- }
- Frame {
- msec: 2048
- hash: "e89f7cf38b3b596298d6c649a1207469"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "18e71331b42a115f7f9d5c09e235b944"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2080
- hash: "18e71331b42a115f7f9d5c09e235b944"
- }
- Frame {
- msec: 2096
- hash: "18e71331b42a115f7f9d5c09e235b944"
- }
- Frame {
- msec: 2112
- hash: "18e71331b42a115f7f9d5c09e235b944"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2128
- hash: "18e71331b42a115f7f9d5c09e235b944"
- }
- Frame {
- msec: 2144
- hash: "18e71331b42a115f7f9d5c09e235b944"
- }
- Frame {
- msec: 2160
- hash: "18e71331b42a115f7f9d5c09e235b944"
- }
- Frame {
- msec: 2176
- hash: "18e71331b42a115f7f9d5c09e235b944"
- }
- Frame {
- msec: 2192
- hash: "18e71331b42a115f7f9d5c09e235b944"
- }
- Frame {
- msec: 2208
- hash: "18e71331b42a115f7f9d5c09e235b944"
- }
- Key {
- type: 6
- key: 88
- modifiers: 0
- text: "78"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2224
- hash: "3630abd7cc6ab303d08f30dea7b1eec1"
- }
- Frame {
- msec: 2240
- hash: "3630abd7cc6ab303d08f30dea7b1eec1"
- }
- Frame {
- msec: 2256
- hash: "3630abd7cc6ab303d08f30dea7b1eec1"
- }
- Frame {
- msec: 2272
- hash: "3630abd7cc6ab303d08f30dea7b1eec1"
- }
- Frame {
- msec: 2288
- hash: "3630abd7cc6ab303d08f30dea7b1eec1"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2304
- hash: "83e7b8c680cda95ec0a669b8030a3efd"
- }
- Key {
- type: 7
- key: 88
- modifiers: 0
- text: "78"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2320
- hash: "83e7b8c680cda95ec0a669b8030a3efd"
- }
- Frame {
- msec: 2336
- hash: "83e7b8c680cda95ec0a669b8030a3efd"
- }
- Frame {
- msec: 2352
- hash: "83e7b8c680cda95ec0a669b8030a3efd"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "cc826833607ae754e633d21ca67a6b5a"
- }
- Frame {
- msec: 2384
- hash: "cc826833607ae754e633d21ca67a6b5a"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2400
- hash: "cc826833607ae754e633d21ca67a6b5a"
- }
- Frame {
- msec: 2416
- hash: "cc826833607ae754e633d21ca67a6b5a"
- }
- Frame {
- msec: 2432
- hash: "cc826833607ae754e633d21ca67a6b5a"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "cc826833607ae754e633d21ca67a6b5a"
- }
- Frame {
- msec: 2464
- hash: "cc826833607ae754e633d21ca67a6b5a"
- }
- Frame {
- msec: 2480
- hash: "cc826833607ae754e633d21ca67a6b5a"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2496
- hash: "2b4c812fac4e84909cc8fc70d8966a27"
- }
- Frame {
- msec: 2512
- hash: "2b4c812fac4e84909cc8fc70d8966a27"
- }
- Frame {
- msec: 2528
- hash: "2b4c812fac4e84909cc8fc70d8966a27"
- }
- Frame {
- msec: 2544
- hash: "2b4c812fac4e84909cc8fc70d8966a27"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2560
- hash: "2b4c812fac4e84909cc8fc70d8966a27"
- }
- Frame {
- msec: 2576
- hash: "2b4c812fac4e84909cc8fc70d8966a27"
- }
- Frame {
- msec: 2592
- hash: "2b4c812fac4e84909cc8fc70d8966a27"
- }
- Frame {
- msec: 2608
- hash: "2b4c812fac4e84909cc8fc70d8966a27"
- }
- Frame {
- msec: 2624
- hash: "2b4c812fac4e84909cc8fc70d8966a27"
- }
- Frame {
- msec: 2640
- hash: "2b4c812fac4e84909cc8fc70d8966a27"
- }
- Key {
- type: 6
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2656
- hash: "c1aabf4b43cbae0d7654ba78fc870fdd"
- }
- Frame {
- msec: 2672
- hash: "c1aabf4b43cbae0d7654ba78fc870fdd"
- }
- Frame {
- msec: 2688
- hash: "c1aabf4b43cbae0d7654ba78fc870fdd"
- }
- Frame {
- msec: 2704
- hash: "c1aabf4b43cbae0d7654ba78fc870fdd"
- }
- Key {
- type: 7
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2720
- hash: "c1aabf4b43cbae0d7654ba78fc870fdd"
- }
- Frame {
- msec: 2736
- hash: "c1aabf4b43cbae0d7654ba78fc870fdd"
- }
- Frame {
- msec: 2752
- hash: "c1aabf4b43cbae0d7654ba78fc870fdd"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2768
- hash: "a707dd726c777a661e4f12d27a75cf63"
- }
- Frame {
- msec: 2784
- hash: "a707dd726c777a661e4f12d27a75cf63"
- }
- Frame {
- msec: 2800
- hash: "a707dd726c777a661e4f12d27a75cf63"
- }
- Frame {
- msec: 2816
- hash: "a707dd726c777a661e4f12d27a75cf63"
- }
- Frame {
- msec: 2832
- hash: "a707dd726c777a661e4f12d27a75cf63"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2848
- hash: "bdaa69c1074f9820901ce31ea24383ca"
- }
- Frame {
- msec: 2864
- hash: "bdaa69c1074f9820901ce31ea24383ca"
- }
- Frame {
- msec: 2880
- hash: "bdaa69c1074f9820901ce31ea24383ca"
- }
- Frame {
- msec: 2896
- image: "wrap.3.png"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2912
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Frame {
- msec: 2928
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2944
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Frame {
- msec: 2960
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2976
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Frame {
- msec: 2992
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Frame {
- msec: 3008
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Frame {
- msec: 3024
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Frame {
- msec: 3040
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Frame {
- msec: 3056
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Frame {
- msec: 3072
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Frame {
- msec: 3088
- hash: "f703f87031be4f9d7409fb145343c02b"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3104
- hash: "cb2660df955b757b00661a1acb5f22d2"
- }
- Frame {
- msec: 3120
- hash: "cb2660df955b757b00661a1acb5f22d2"
- }
- Frame {
- msec: 3136
- hash: "cb2660df955b757b00661a1acb5f22d2"
- }
- Frame {
- msec: 3152
- hash: "cb2660df955b757b00661a1acb5f22d2"
- }
- Frame {
- msec: 3168
- hash: "cb2660df955b757b00661a1acb5f22d2"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3184
- hash: "cb2660df955b757b00661a1acb5f22d2"
- }
- Frame {
- msec: 3200
- hash: "cb2660df955b757b00661a1acb5f22d2"
- }
- Frame {
- msec: 3216
- hash: "cb2660df955b757b00661a1acb5f22d2"
- }
- Frame {
- msec: 3232
- hash: "cb2660df955b757b00661a1acb5f22d2"
- }
- Frame {
- msec: 3248
- hash: "cb2660df955b757b00661a1acb5f22d2"
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3264
- hash: "8ea510d25195956fa42eabfe3bb9f230"
- }
- Frame {
- msec: 3280
- hash: "8ea510d25195956fa42eabfe3bb9f230"
- }
- Frame {
- msec: 3296
- hash: "8ea510d25195956fa42eabfe3bb9f230"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3312
- hash: "8ea510d25195956fa42eabfe3bb9f230"
- }
- Frame {
- msec: 3328
- hash: "8ea510d25195956fa42eabfe3bb9f230"
- }
- Frame {
- msec: 3344
- hash: "8ea510d25195956fa42eabfe3bb9f230"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3360
- hash: "26b58aef7b1f50a5d261718e8266a3fb"
- }
- Frame {
- msec: 3376
- hash: "26b58aef7b1f50a5d261718e8266a3fb"
- }
- Frame {
- msec: 3392
- hash: "26b58aef7b1f50a5d261718e8266a3fb"
- }
- Frame {
- msec: 3408
- hash: "26b58aef7b1f50a5d261718e8266a3fb"
- }
- Frame {
- msec: 3424
- hash: "26b58aef7b1f50a5d261718e8266a3fb"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3440
- hash: "26b58aef7b1f50a5d261718e8266a3fb"
- }
- Frame {
- msec: 3456
- hash: "26b58aef7b1f50a5d261718e8266a3fb"
- }
- Frame {
- msec: 3472
- hash: "26b58aef7b1f50a5d261718e8266a3fb"
- }
- Key {
- type: 6
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3488
- hash: "012854de1c9d1a772994d02f52bdcd7c"
- }
- Frame {
- msec: 3504
- hash: "012854de1c9d1a772994d02f52bdcd7c"
- }
- Frame {
- msec: 3520
- hash: "012854de1c9d1a772994d02f52bdcd7c"
- }
- Frame {
- msec: 3536
- hash: "012854de1c9d1a772994d02f52bdcd7c"
- }
- Key {
- type: 7
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3552
- hash: "012854de1c9d1a772994d02f52bdcd7c"
- }
- Frame {
- msec: 3568
- hash: "012854de1c9d1a772994d02f52bdcd7c"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3584
- hash: "660a31e1c0d573f4155cfa8fe2323413"
- }
- Frame {
- msec: 3600
- hash: "660a31e1c0d573f4155cfa8fe2323413"
- }
- Frame {
- msec: 3616
- hash: "660a31e1c0d573f4155cfa8fe2323413"
- }
- Frame {
- msec: 3632
- hash: "660a31e1c0d573f4155cfa8fe2323413"
- }
- Frame {
- msec: 3648
- hash: "660a31e1c0d573f4155cfa8fe2323413"
- }
- Frame {
- msec: 3664
- hash: "660a31e1c0d573f4155cfa8fe2323413"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3680
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3696
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3712
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3728
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3744
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3760
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3776
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3792
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3808
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3824
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3840
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3856
- image: "wrap.4.png"
- }
- Frame {
- msec: 3872
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3888
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Frame {
- msec: 3904
- hash: "bea00f5e628e40b679eb8829c16c6260"
- }
- Key {
- type: 6
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3920
- hash: "c5c60cd10a1106161cde5f51dbdec5ad"
- }
- Frame {
- msec: 3936
- hash: "c5c60cd10a1106161cde5f51dbdec5ad"
- }
- Frame {
- msec: 3952
- hash: "c5c60cd10a1106161cde5f51dbdec5ad"
- }
- Frame {
- msec: 3968
- hash: "c5c60cd10a1106161cde5f51dbdec5ad"
- }
- Frame {
- msec: 3984
- hash: "c5c60cd10a1106161cde5f51dbdec5ad"
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4000
- hash: "c5c60cd10a1106161cde5f51dbdec5ad"
- }
- Frame {
- msec: 4016
- hash: "c5c60cd10a1106161cde5f51dbdec5ad"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4032
- hash: "41c26e6a4c911f9ecd082c4d3366806b"
- }
- Frame {
- msec: 4048
- hash: "41c26e6a4c911f9ecd082c4d3366806b"
- }
- Frame {
- msec: 4064
- hash: "41c26e6a4c911f9ecd082c4d3366806b"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4080
- hash: "41c26e6a4c911f9ecd082c4d3366806b"
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4096
- hash: "e212938ce981ed4e8d7a993468bc9377"
- }
- Frame {
- msec: 4112
- hash: "e212938ce981ed4e8d7a993468bc9377"
- }
- Frame {
- msec: 4128
- hash: "e212938ce981ed4e8d7a993468bc9377"
- }
- Frame {
- msec: 4144
- hash: "e212938ce981ed4e8d7a993468bc9377"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4160
- hash: "e212938ce981ed4e8d7a993468bc9377"
- }
- Frame {
- msec: 4176
- hash: "e212938ce981ed4e8d7a993468bc9377"
- }
- Frame {
- msec: 4192
- hash: "e212938ce981ed4e8d7a993468bc9377"
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4208
- hash: "55df0528a97d77d0a4b513aeedd34440"
- }
- Frame {
- msec: 4224
- hash: "55df0528a97d77d0a4b513aeedd34440"
- }
- Frame {
- msec: 4240
- hash: "55df0528a97d77d0a4b513aeedd34440"
- }
- Frame {
- msec: 4256
- hash: "55df0528a97d77d0a4b513aeedd34440"
- }
- Frame {
- msec: 4272
- hash: "55df0528a97d77d0a4b513aeedd34440"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4288
- hash: "2165091c97a891560bf3afab879e6dbc"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4304
- hash: "2165091c97a891560bf3afab879e6dbc"
- }
- Frame {
- msec: 4320
- hash: "2165091c97a891560bf3afab879e6dbc"
- }
- Frame {
- msec: 4336
- hash: "2165091c97a891560bf3afab879e6dbc"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4352
- hash: "2165091c97a891560bf3afab879e6dbc"
- }
- Frame {
- msec: 4368
- hash: "2165091c97a891560bf3afab879e6dbc"
- }
- Frame {
- msec: 4384
- hash: "2165091c97a891560bf3afab879e6dbc"
- }
- Frame {
- msec: 4400
- hash: "2165091c97a891560bf3afab879e6dbc"
- }
- Frame {
- msec: 4416
- hash: "2165091c97a891560bf3afab879e6dbc"
- }
- Key {
- type: 6
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4432
- hash: "a3d7968e13768c4ec538fe9ba7edf142"
- }
- Frame {
- msec: 4448
- hash: "a3d7968e13768c4ec538fe9ba7edf142"
- }
- Frame {
- msec: 4464
- hash: "a3d7968e13768c4ec538fe9ba7edf142"
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4480
- hash: "a3d7968e13768c4ec538fe9ba7edf142"
- }
- Frame {
- msec: 4496
- hash: "a3d7968e13768c4ec538fe9ba7edf142"
- }
- Frame {
- msec: 4512
- hash: "a3d7968e13768c4ec538fe9ba7edf142"
- }
- Frame {
- msec: 4528
- hash: "a3d7968e13768c4ec538fe9ba7edf142"
- }
- Frame {
- msec: 4544
- hash: "a3d7968e13768c4ec538fe9ba7edf142"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4560
- hash: "3b18ada8637d4024acfe88718765f71c"
- }
- Frame {
- msec: 4576
- hash: "3b18ada8637d4024acfe88718765f71c"
- }
- Frame {
- msec: 4592
- hash: "3b18ada8637d4024acfe88718765f71c"
- }
- Frame {
- msec: 4608
- hash: "3b18ada8637d4024acfe88718765f71c"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4624
- hash: "3b18ada8637d4024acfe88718765f71c"
- }
- Frame {
- msec: 4640
- hash: "3b18ada8637d4024acfe88718765f71c"
- }
- Frame {
- msec: 4656
- hash: "3b18ada8637d4024acfe88718765f71c"
- }
- Frame {
- msec: 4672
- hash: "3b18ada8637d4024acfe88718765f71c"
- }
- Key {
- type: 6
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4688
- hash: "c419775870b0c5e41b5156c840e6a298"
- }
- Frame {
- msec: 4704
- hash: "c419775870b0c5e41b5156c840e6a298"
- }
- Frame {
- msec: 4720
- hash: "c419775870b0c5e41b5156c840e6a298"
- }
- Frame {
- msec: 4736
- hash: "c419775870b0c5e41b5156c840e6a298"
- }
- Key {
- type: 7
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4752
- hash: "c419775870b0c5e41b5156c840e6a298"
- }
- Frame {
- msec: 4768
- hash: "c419775870b0c5e41b5156c840e6a298"
- }
- Frame {
- msec: 4784
- hash: "c419775870b0c5e41b5156c840e6a298"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4800
- hash: "81a744f02650728c7557a27c94056e64"
- }
- Frame {
- msec: 4816
- image: "wrap.5.png"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4832
- hash: "81a744f02650728c7557a27c94056e64"
- }
- Frame {
- msec: 4848
- hash: "81a744f02650728c7557a27c94056e64"
- }
- Frame {
- msec: 4864
- hash: "81a744f02650728c7557a27c94056e64"
- }
- Frame {
- msec: 4880
- hash: "81a744f02650728c7557a27c94056e64"
- }
- Key {
- type: 6
- key: 46
- modifiers: 0
- text: "2e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4896
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 4912
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 4928
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 4944
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Key {
- type: 7
- key: 46
- modifiers: 0
- text: "2e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4960
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 4976
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 4992
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5008
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5024
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5040
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5056
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5072
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5088
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5104
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5120
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5136
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5152
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5168
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5184
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5200
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5216
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5232
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5248
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5264
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5280
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5296
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5312
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5328
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5344
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5360
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5376
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5392
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5408
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5424
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5440
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5456
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5472
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5488
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5504
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5520
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5536
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5552
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5568
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5584
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5600
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5616
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5632
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5648
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5664
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5680
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5696
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5712
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5728
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5744
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5760
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5776
- image: "wrap.6.png"
- }
- Frame {
- msec: 5792
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5808
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5824
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5840
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5856
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5872
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5888
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5904
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5920
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5936
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5952
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5968
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 5984
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6000
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6016
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6032
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6048
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6064
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6080
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6096
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6112
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6128
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6144
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6160
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6176
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6192
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6208
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6224
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6240
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6256
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6272
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6288
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6304
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6320
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6336
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6352
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6368
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6384
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6400
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6416
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6432
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6448
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6464
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6480
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6496
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6512
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6528
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6544
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6560
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6576
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6592
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6608
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6624
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6640
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6656
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6672
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6688
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6704
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6720
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6736
- image: "wrap.7.png"
- }
- Frame {
- msec: 6752
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6768
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6784
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6800
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6816
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6832
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6848
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
- Frame {
- msec: 6864
- hash: "ed1520bf20159e60c6a75bbf07f3a6ee"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.0.png
deleted file mode 100644
index b24344c344..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.1.png
deleted file mode 100644
index 5e29359b0c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.2.png
deleted file mode 100644
index 0ffee647ff..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.3.png
deleted file mode 100644
index 6c56e9c331..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.4.png
deleted file mode 100644
index 276170d3ea..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.5.png
deleted file mode 100644
index 3d8709fd16..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.6.png
deleted file mode 100644
index 80b960c197..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.7.png
deleted file mode 100644
index 72472771c3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.8.png
deleted file mode 100644
index af5a996b7b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.9.png
deleted file mode 100644
index b254164fbe..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.qml
deleted file mode 100644
index 38190433d1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/cursorDelegate.qml
+++ /dev/null
@@ -1,1499 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "6e8324bf913d9df21a59ab4337257c15"
- }
- Frame {
- msec: 32
- hash: "4e068995d68e8939e6560e35b685e839"
- }
- Frame {
- msec: 48
- hash: "761b09bce25b3b240093d16ad02268d7"
- }
- Frame {
- msec: 64
- hash: "1ecb6d7d08d4e4e14db28e24a60eccc4"
- }
- Frame {
- msec: 80
- hash: "642417a56b3d6b8b35f5aec1bf0a9d2c"
- }
- Frame {
- msec: 96
- hash: "2e24870a44d3fc6c6d5c920bab29d417"
- }
- Frame {
- msec: 112
- hash: "9a59d0672f2a752943561af89fd71d7f"
- }
- Frame {
- msec: 128
- hash: "c359dd36910678a30f935a13c8680ee4"
- }
- Frame {
- msec: 144
- hash: "245f1e127549e9b28c7574ffb143fcde"
- }
- Frame {
- msec: 160
- hash: "8df3d3dbce673311d88c055e8dffaeb5"
- }
- Frame {
- msec: 176
- hash: "590fdeaddb3df033a1908a8a95fcd17a"
- }
- Frame {
- msec: 192
- hash: "a158891c8d2ee3899463412a3363e48c"
- }
- Frame {
- msec: 208
- hash: "e9ec2c82f46b36fbd0285ce6795c7cf9"
- }
- Frame {
- msec: 224
- hash: "0a02598af770dfe1d332f10c9482e770"
- }
- Frame {
- msec: 240
- hash: "8765475468bccbd0df897a533241f3c5"
- }
- Frame {
- msec: 256
- hash: "4cd9deed66bfdfadde8f8bf34f0e5513"
- }
- Frame {
- msec: 272
- hash: "139bf5a1811beb2438df4ecfa3bbaac7"
- }
- Frame {
- msec: 288
- hash: "9d51555afd71a7035e67a543846dcf7f"
- }
- Frame {
- msec: 304
- hash: "de187b58fc8dfaad2d62e9463691b0c0"
- }
- Frame {
- msec: 320
- hash: "9f88ac6d71246b06ca7ce9d8d983c91b"
- }
- Frame {
- msec: 336
- hash: "a43c12a7d6597d171112dc43085a439e"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 352
- hash: "ad38f32755f669837ec2243e355ebc85"
- }
- Frame {
- msec: 368
- hash: "d87bd14345c785cc7e78a5c5462b90ec"
- }
- Frame {
- msec: 384
- hash: "77850031e012246dd967ac689e353eb3"
- }
- Frame {
- msec: 400
- hash: "f1bd048cd9167a8f162d1c39aca4f7c1"
- }
- Frame {
- msec: 416
- hash: "0fa030c5da23f23a0665a535e23b84a2"
- }
- Frame {
- msec: 432
- hash: "af3a5f1982459164dfec26746172b0eb"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 448
- hash: "0de90659472b63dd41a5602197ff502e"
- }
- Frame {
- msec: 464
- hash: "81e40abf91017614a52e03bb2474549f"
- }
- Frame {
- msec: 480
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 496
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 512
- hash: "0416581d32ab84680dfc26b6f546d2c5"
- }
- Frame {
- msec: 528
- hash: "0416581d32ab84680dfc26b6f546d2c5"
- }
- Frame {
- msec: 544
- hash: "0416581d32ab84680dfc26b6f546d2c5"
- }
- Frame {
- msec: 560
- hash: "0416581d32ab84680dfc26b6f546d2c5"
- }
- Frame {
- msec: 576
- hash: "ac98b973e6d12193829139661d3e5847"
- }
- Frame {
- msec: 592
- hash: "366907376adae4d88d42d1b9e7533ec0"
- }
- Frame {
- msec: 608
- hash: "5f486d0a21c74f2ba50afcafa8c15453"
- }
- Frame {
- msec: 624
- hash: "a3bf6dde525e528745272a8e43fc895c"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 640
- hash: "4ffb297d2a98a3d13b848af569b1b5b5"
- }
- Frame {
- msec: 656
- hash: "3679a17658e417bf08fc86d4bef0d4e9"
- }
- Frame {
- msec: 672
- hash: "5c6a25284ffd13350425e792fd143421"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 688
- hash: "09a2c1032d0206e20340ae4267525f98"
- }
- Frame {
- msec: 704
- hash: "0036070d9a7ee854b3612858af46ab59"
- }
- Frame {
- msec: 720
- hash: "8774509eaa5fc29385da89214ef77589"
- }
- Frame {
- msec: 736
- hash: "6d4f8ebf046148e5079f498396c119b4"
- }
- Frame {
- msec: 752
- hash: "4c7d5d2f77116c96357b0791348af058"
- }
- Frame {
- msec: 768
- hash: "398c927a3525d5b90a5dd7a05ba9467b"
- }
- Frame {
- msec: 784
- hash: "d84b45f6acb8cbd399d4ed6bf80ce132"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 800
- hash: "40c597d9e04e8e0daf62f58b9e7973b3"
- }
- Frame {
- msec: 816
- hash: "2c7fdd47e29d924e3e008a6840e0e6be"
- }
- Frame {
- msec: 832
- hash: "2b3229bb1aa220499114f274cf643ce9"
- }
- Frame {
- msec: 848
- hash: "e55446874c1a343ce3607d679d69d1d4"
- }
- Frame {
- msec: 864
- hash: "6824708eb176a9cf92f241d4054800dd"
- }
- Frame {
- msec: 880
- hash: "d386230dd416740625eb4f677ef4531b"
- }
- Frame {
- msec: 896
- hash: "9b2fbddab890dbe43e84e85bf320e6c1"
- }
- Frame {
- msec: 912
- hash: "1d1065aca7eb47f0096bc2c8c4320880"
- }
- Frame {
- msec: 928
- hash: "d97ba6e2bfc021fe993afdb5b28316ba"
- }
- Frame {
- msec: 944
- hash: "3a3a2f340bf1ccb14eab0562d7ecfe87"
- }
- Frame {
- msec: 960
- image: "cursorDelegate.0.png"
- }
- Frame {
- msec: 976
- hash: "ea4f4c1de5bfb1be43ab0188afb7189c"
- }
- Frame {
- msec: 992
- hash: "399ca2d4411d3fb226c94bd32a17d0cd"
- }
- Frame {
- msec: 1008
- hash: "ca78503396613536c8e4076884354cb1"
- }
- Frame {
- msec: 1024
- hash: "ca78503396613536c8e4076884354cb1"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1040
- hash: "399ca2d4411d3fb226c94bd32a17d0cd"
- }
- Frame {
- msec: 1056
- hash: "ea4f4c1de5bfb1be43ab0188afb7189c"
- }
- Frame {
- msec: 1072
- hash: "d23d7492b85e4f30994ecd64e8273ff6"
- }
- Frame {
- msec: 1088
- hash: "3a3a2f340bf1ccb14eab0562d7ecfe87"
- }
- Frame {
- msec: 1104
- hash: "d97ba6e2bfc021fe993afdb5b28316ba"
- }
- Frame {
- msec: 1120
- hash: "1d1065aca7eb47f0096bc2c8c4320880"
- }
- Frame {
- msec: 1136
- hash: "9b2fbddab890dbe43e84e85bf320e6c1"
- }
- Frame {
- msec: 1152
- hash: "d386230dd416740625eb4f677ef4531b"
- }
- Frame {
- msec: 1168
- hash: "6824708eb176a9cf92f241d4054800dd"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1184
- hash: "e8e14dbba33578a36d9c69214333c537"
- }
- Frame {
- msec: 1200
- hash: "95c6e967f6f445748945c51943cf532f"
- }
- Frame {
- msec: 1216
- hash: "d145d4cbd0e3a98686b3bac1c5c17093"
- }
- Frame {
- msec: 1232
- hash: "09348a4108a585dd23c3a252a5c596f6"
- }
- Frame {
- msec: 1248
- hash: "55126f2c879771e1aa5ced51b54c827a"
- }
- Frame {
- msec: 1264
- hash: "ebb36a4c2fcb85107033ec2731fc5743"
- }
- Frame {
- msec: 1280
- hash: "0581a4432d4b3d0c1555a31e772c2575"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1296
- hash: "b4030774f06935f1b43fc8f1a69e53a5"
- }
- Frame {
- msec: 1312
- hash: "655e1739c130888ff83a3b69bb0ab7e3"
- }
- Frame {
- msec: 1328
- hash: "99fc97c572e7c8949693b32910e6eefb"
- }
- Frame {
- msec: 1344
- hash: "e9c8bb13c2549047c05d671daa378496"
- }
- Frame {
- msec: 1360
- hash: "cb344e0d39b5b07ca7d094bf30ce9f53"
- }
- Frame {
- msec: 1376
- hash: "15ba6e62c693f2bf74bdf86668139985"
- }
- Frame {
- msec: 1392
- hash: "48133ec73eb9723059eb6e6af3139f2b"
- }
- Frame {
- msec: 1408
- hash: "0b19e777a04f03774f2d5f5398bdb10f"
- }
- Frame {
- msec: 1424
- hash: "fc41d9a9aedf9274a68b33603ed6ccd0"
- }
- Frame {
- msec: 1440
- hash: "fa6e65f0c835b12dc10463711bd73350"
- }
- Frame {
- msec: 1456
- hash: "25a02c3388e52df550a0332efde90fcd"
- }
- Frame {
- msec: 1472
- hash: "2390443be82acf291856be59fa18fc26"
- }
- Frame {
- msec: 1488
- hash: "2390443be82acf291856be59fa18fc26"
- }
- Frame {
- msec: 1504
- hash: "2390443be82acf291856be59fa18fc26"
- }
- Frame {
- msec: 1520
- hash: "2390443be82acf291856be59fa18fc26"
- }
- Frame {
- msec: 1536
- hash: "2390443be82acf291856be59fa18fc26"
- }
- Frame {
- msec: 1552
- hash: "2390443be82acf291856be59fa18fc26"
- }
- Frame {
- msec: 1568
- hash: "284cd356d551a048d4a000b90217ac72"
- }
- Frame {
- msec: 1584
- hash: "94fb20c3767e09d1b4254ee6122cf24e"
- }
- Frame {
- msec: 1600
- hash: "bfac920384425ce9f34505b44eceb523"
- }
- Frame {
- msec: 1616
- hash: "4a2d434efcb9a57f2013dc6b366e0e4e"
- }
- Frame {
- msec: 1632
- hash: "d0fbe98dc34c4bb0d1ceb7e4678cc1d5"
- }
- Frame {
- msec: 1648
- hash: "28ab147983a71e93e5610f53e14bd113"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1664
- hash: "2e6ee60fe9ff07fa4558134e6b1d6da8"
- }
- Frame {
- msec: 1680
- hash: "f181e578e865981d7a2073080b381ec1"
- }
- Frame {
- msec: 1696
- hash: "d7c0558ea16829b52ea6d09814c301b9"
- }
- Frame {
- msec: 1712
- hash: "c9304cb66c04566cf4374b46ab85e6e7"
- }
- Frame {
- msec: 1728
- hash: "024dde64822afc9eea63974851fe57e1"
- }
- Frame {
- msec: 1744
- hash: "8e4520e95a8acc8f1d4b710c4a14898f"
- }
- Frame {
- msec: 1760
- hash: "6b271c3f1d9d49bbd80a8ee33f3fc09c"
- }
- Frame {
- msec: 1776
- hash: "eb76a46632856bf07b005cad2ba2f6ab"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "a29bd83f6b4e877f3c7b89c82dfcab54"
- }
- Frame {
- msec: 1808
- hash: "dca39b6b6fff5e4a6309e4c0e42811c0"
- }
- Frame {
- msec: 1824
- hash: "88ad3f9f638a97bed98f00ec7d78dfe4"
- }
- Frame {
- msec: 1840
- hash: "5697a705f36283213bbe4b5848baa764"
- }
- Frame {
- msec: 1856
- hash: "8850842afae3060a91d612f7b869fd48"
- }
- Frame {
- msec: 1872
- hash: "4f08dbd1cab0bfcc8b9f232d46cf42db"
- }
- Frame {
- msec: 1888
- hash: "f7df5b96d0983a918e3c81aa7bee3950"
- }
- Frame {
- msec: 1904
- hash: "b28681bcb414d428588acda377fef838"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1920
- image: "cursorDelegate.1.png"
- }
- Frame {
- msec: 1936
- hash: "5c154b54776ed555563d3e5196a8aedd"
- }
- Frame {
- msec: 1952
- hash: "ee64c0452b325880de3a4fea599c18cc"
- }
- Frame {
- msec: 1968
- hash: "0776e1557b2d32db1c7c43331c532331"
- }
- Frame {
- msec: 1984
- hash: "24b68da9a63bbf00ffffeca649f771fa"
- }
- Frame {
- msec: 2000
- hash: "00d49d91b51f5bd428c07e9be65f551a"
- }
- Frame {
- msec: 2016
- hash: "874d4b599cb92cd9160960e3b3af74e0"
- }
- Frame {
- msec: 2032
- hash: "00d49d91b51f5bd428c07e9be65f551a"
- }
- Frame {
- msec: 2048
- hash: "24b68da9a63bbf00ffffeca649f771fa"
- }
- Frame {
- msec: 2064
- hash: "0776e1557b2d32db1c7c43331c532331"
- }
- Frame {
- msec: 2080
- hash: "ee64c0452b325880de3a4fea599c18cc"
- }
- Frame {
- msec: 2096
- hash: "5c154b54776ed555563d3e5196a8aedd"
- }
- Frame {
- msec: 2112
- hash: "a5f90da82b51bc866648304a20a1dcd3"
- }
- Frame {
- msec: 2128
- hash: "b28681bcb414d428588acda377fef838"
- }
- Frame {
- msec: 2144
- hash: "f7df5b96d0983a918e3c81aa7bee3950"
- }
- Frame {
- msec: 2160
- hash: "4f08dbd1cab0bfcc8b9f232d46cf42db"
- }
- Frame {
- msec: 2176
- hash: "8850842afae3060a91d612f7b869fd48"
- }
- Frame {
- msec: 2192
- hash: "5697a705f36283213bbe4b5848baa764"
- }
- Frame {
- msec: 2208
- hash: "88ad3f9f638a97bed98f00ec7d78dfe4"
- }
- Frame {
- msec: 2224
- hash: "dca39b6b6fff5e4a6309e4c0e42811c0"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2240
- hash: "a29bd83f6b4e877f3c7b89c82dfcab54"
- }
- Frame {
- msec: 2256
- hash: "7defd2ecefeb86b457a2ee76d97424ee"
- }
- Frame {
- msec: 2272
- hash: "ccf6d45e8822d72482d9b585909b612b"
- }
- Frame {
- msec: 2288
- hash: "996dddf091394513adda1b1f00bf0c68"
- }
- Frame {
- msec: 2304
- hash: "3cf94e90eddb4b0815762b89f58f8325"
- }
- Frame {
- msec: 2320
- hash: "ab9f876450526b37774c6c4a5794c7b1"
- }
- Frame {
- msec: 2336
- hash: "9109880e9201e92eb17ae87a3648dca7"
- }
- Frame {
- msec: 2352
- hash: "0e759f2f279057c1f4d1147be5b41214"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "d87bd14345c785cc7e78a5c5462b90ec"
- }
- Frame {
- msec: 2384
- hash: "77850031e012246dd967ac689e353eb3"
- }
- Frame {
- msec: 2400
- hash: "f1bd048cd9167a8f162d1c39aca4f7c1"
- }
- Frame {
- msec: 2416
- hash: "0fa030c5da23f23a0665a535e23b84a2"
- }
- Frame {
- msec: 2432
- hash: "af3a5f1982459164dfec26746172b0eb"
- }
- Frame {
- msec: 2448
- hash: "0de90659472b63dd41a5602197ff502e"
- }
- Frame {
- msec: 2464
- hash: "81e40abf91017614a52e03bb2474549f"
- }
- Frame {
- msec: 2480
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2496
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 2512
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 2528
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 2544
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 2560
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 2576
- hash: "e26dbfb26415b21198add56d5de02cb2"
- }
- Frame {
- msec: 2592
- hash: "fa2877a963417789b82170b32e0af7a0"
- }
- Frame {
- msec: 2608
- hash: "860b39f92c412a7d946f882d8f99d837"
- }
- Frame {
- msec: 2624
- hash: "d7b8c52aef183965a97d82a18b03ed94"
- }
- Frame {
- msec: 2640
- hash: "b1ce9cf0ebd8e1e783e5bd43bbd72072"
- }
- Frame {
- msec: 2656
- hash: "d214b419ec5b4cff8f877bdeb1b9ef96"
- }
- Frame {
- msec: 2672
- hash: "95e7057104508b3919d722d4befde7b7"
- }
- Frame {
- msec: 2688
- hash: "270489ec5da5bf9a93fa4e52f47a71f5"
- }
- Frame {
- msec: 2704
- hash: "46646e396ab0c1c20427dadd71d45ba9"
- }
- Frame {
- msec: 2720
- hash: "65e2fd167565f876310d56fa9203c118"
- }
- Frame {
- msec: 2736
- hash: "aff0da79bd9bd8c285139d7737a1316f"
- }
- Frame {
- msec: 2752
- hash: "bf264fe7d774a597a3ff0965d912fa90"
- }
- Frame {
- msec: 2768
- hash: "f00358343437f6e058848c7237601632"
- }
- Frame {
- msec: 2784
- hash: "88c9e1d58397a81ed23931c7fdae1e7d"
- }
- Frame {
- msec: 2800
- hash: "44d46b459f6bb89510e52b0d999fd499"
- }
- Frame {
- msec: 2816
- hash: "0c196a24c9ca7143d382688db678d855"
- }
- Frame {
- msec: 2832
- hash: "9df6d3d3b9981cb907ab89e65b743e97"
- }
- Frame {
- msec: 2848
- hash: "501a644d6cde64ad041b086e00fd3950"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2864
- hash: "83f297406b1c6311da3a216024836d15"
- }
- Frame {
- msec: 2880
- image: "cursorDelegate.2.png"
- }
- Frame {
- msec: 2896
- hash: "93f79f8717948bde8ee55c668af2d397"
- }
- Frame {
- msec: 2912
- hash: "881b5c2ccd0bbdaea4d61abbec600fc5"
- }
- Frame {
- msec: 2928
- hash: "be72fe7c27901db62f2dbd9a757e4838"
- }
- Frame {
- msec: 2944
- hash: "c83c973fb1253ccab333fb1e604155b8"
- }
- Frame {
- msec: 2960
- hash: "dd6072d204812c23e24db1e7a81c6f57"
- }
- Frame {
- msec: 2976
- hash: "fb342743dc5ab9ade2b8a48a2a11dc8f"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2992
- hash: "fc8ede705bfe8f339fe47041c502b0d6"
- }
- Frame {
- msec: 3008
- hash: "00fa0306d3fdc7e384cfc0660a3a355d"
- }
- Frame {
- msec: 3024
- hash: "00fa0306d3fdc7e384cfc0660a3a355d"
- }
- Frame {
- msec: 3040
- hash: "fc8ede705bfe8f339fe47041c502b0d6"
- }
- Frame {
- msec: 3056
- hash: "fb342743dc5ab9ade2b8a48a2a11dc8f"
- }
- Frame {
- msec: 3072
- hash: "dd6072d204812c23e24db1e7a81c6f57"
- }
- Frame {
- msec: 3088
- hash: "c83c973fb1253ccab333fb1e604155b8"
- }
- Frame {
- msec: 3104
- hash: "be72fe7c27901db62f2dbd9a757e4838"
- }
- Frame {
- msec: 3120
- hash: "881b5c2ccd0bbdaea4d61abbec600fc5"
- }
- Frame {
- msec: 3136
- hash: "93f79f8717948bde8ee55c668af2d397"
- }
- Frame {
- msec: 3152
- hash: "1bb236db749ef514c00d0a3dd698d24f"
- }
- Frame {
- msec: 3168
- hash: "83f297406b1c6311da3a216024836d15"
- }
- Frame {
- msec: 3184
- hash: "3d284b4000d2849ed4af2f7c1b859492"
- }
- Frame {
- msec: 3200
- hash: "de315e6836334fd0a2da855f5be4ff30"
- }
- Frame {
- msec: 3216
- hash: "5ca117709284f4a1cbd64cdba4079340"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3232
- hash: "308a4220f5c74fd56bd218cd695b9822"
- }
- Frame {
- msec: 3248
- hash: "4ac4e09e987f2ba9661ed52fb1bdf236"
- }
- Frame {
- msec: 3264
- hash: "9ffd39a8a540ec88ff2b20a16ef083ee"
- }
- Frame {
- msec: 3280
- hash: "4a36ed8e68811954fef171d5734ccbaf"
- }
- Frame {
- msec: 3296
- hash: "714a6231aca70cfa8e83ea71b7ae90dc"
- }
- Frame {
- msec: 3312
- hash: "1fa9e35449ee87c972e3189ad0651a68"
- }
- Frame {
- msec: 3328
- hash: "d602008fada2f4edb6ad00fe759f9db9"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3344
- hash: "bf16cc38f109e761b5ac2b0c63a1a2fe"
- }
- Frame {
- msec: 3360
- hash: "30f26041533455ed92c4984f55e3c6ff"
- }
- Frame {
- msec: 3376
- hash: "5838d666902bc693de505522dad13254"
- }
- Frame {
- msec: 3392
- hash: "6c8ada09b627050e4340da6e8ddd646e"
- }
- Frame {
- msec: 3408
- hash: "b33cd5bbb90d435dd7ea3ab67bef88ee"
- }
- Frame {
- msec: 3424
- hash: "692d4029938c01044b4210958dd1ee7e"
- }
- Frame {
- msec: 3440
- hash: "7e2e55555ee2c7e172e61ddb6365355d"
- }
- Frame {
- msec: 3456
- hash: "87ca0584879b25336a1023ac3252fc9a"
- }
- Frame {
- msec: 3472
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 3488
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 3504
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 3520
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 3536
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 3552
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 3568
- hash: "8c6052eb4cf03d7742a73874d9f15285"
- }
- Frame {
- msec: 3584
- hash: "8a1b63c42867f87a1cf4b47944b3860a"
- }
- Frame {
- msec: 3600
- hash: "90712efd7c17b0ad33d2c2c02e9eaa97"
- }
- Frame {
- msec: 3616
- hash: "8099972420ffd03e2bfc3ea45918a543"
- }
- Frame {
- msec: 3632
- hash: "2b78b1179a34319c287a6659406e23c3"
- }
- Frame {
- msec: 3648
- hash: "ad9458ab4d6376c87350a2356c280f94"
- }
- Frame {
- msec: 3664
- hash: "a74bc230e310a2826b2fed962db22f7a"
- }
- Frame {
- msec: 3680
- hash: "bd72e8f4757050c41673a6f0d38f2285"
- }
- Frame {
- msec: 3696
- hash: "379bad4fa4b605cb6a16434bdb031e2b"
- }
- Frame {
- msec: 3712
- hash: "e144a8e9586f29f9b2f042b47e7739ae"
- }
- Frame {
- msec: 3728
- hash: "bd74c9e79bc1a88dd6a17a3aed21e368"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3744
- hash: "144724168f42372e10ec6c39662a5ed8"
- }
- Frame {
- msec: 3760
- hash: "d8859888802e7b54e2d2a44cf252eb54"
- }
- Frame {
- msec: 3776
- hash: "20561e2faf7e8fe1d6337248e6cd5e94"
- }
- Frame {
- msec: 3792
- hash: "184cff262d1004ce702c117a6b5b9699"
- }
- Frame {
- msec: 3808
- hash: "61b156acacefa6e4f4ddd8adaca90d08"
- }
- Frame {
- msec: 3824
- hash: "0906852b1e62a936694a22d6ffa4f5dd"
- }
- Frame {
- msec: 3840
- image: "cursorDelegate.3.png"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3856
- hash: "cc0fb2ae2dd1ccad94c453bc4c4b6d32"
- }
- Frame {
- msec: 3872
- hash: "6a6baee5ca76d331c47fca4d0f7168e5"
- }
- Frame {
- msec: 3888
- hash: "32032d7ce55af41c97ac5bf33aca40bb"
- }
- Frame {
- msec: 3904
- hash: "a8781226e5e494324a34e120aa446cd1"
- }
- Frame {
- msec: 3920
- hash: "0dd5df088fcc0228a97ffe715c95e2b6"
- }
- Frame {
- msec: 3936
- hash: "774b161fe9645bc69b89e580b3e41f71"
- }
- Frame {
- msec: 3952
- hash: "5756d7ffd8ff656db54f4329ea909553"
- }
- Frame {
- msec: 3968
- hash: "2b4a5c97ff4d8792a7706bb78385ec35"
- }
- Frame {
- msec: 3984
- hash: "f9765e4def564b64861402e1a873b169"
- }
- Frame {
- msec: 4000
- hash: "287b07ef6288dcea13fffd2b95aafd54"
- }
- Frame {
- msec: 4016
- hash: "7abcb9d6cf223c1655f6265f780a321a"
- }
- Frame {
- msec: 4032
- hash: "287b07ef6288dcea13fffd2b95aafd54"
- }
- Frame {
- msec: 4048
- hash: "f9765e4def564b64861402e1a873b169"
- }
- Frame {
- msec: 4064
- hash: "2b4a5c97ff4d8792a7706bb78385ec35"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 4080
- hash: "5756d7ffd8ff656db54f4329ea909553"
- }
- Frame {
- msec: 4096
- hash: "774b161fe9645bc69b89e580b3e41f71"
- }
- Frame {
- msec: 4112
- hash: "0dd5df088fcc0228a97ffe715c95e2b6"
- }
- Frame {
- msec: 4128
- hash: "a8781226e5e494324a34e120aa446cd1"
- }
- Frame {
- msec: 4144
- hash: "32032d7ce55af41c97ac5bf33aca40bb"
- }
- Frame {
- msec: 4160
- hash: "6a6baee5ca76d331c47fca4d0f7168e5"
- }
- Frame {
- msec: 4176
- hash: "cc0fb2ae2dd1ccad94c453bc4c4b6d32"
- }
- Frame {
- msec: 4192
- hash: "2d1b406be294727a278ba6bbc97be62a"
- }
- Frame {
- msec: 4208
- hash: "0906852b1e62a936694a22d6ffa4f5dd"
- }
- Frame {
- msec: 4224
- hash: "61b156acacefa6e4f4ddd8adaca90d08"
- }
- Frame {
- msec: 4240
- hash: "184cff262d1004ce702c117a6b5b9699"
- }
- Frame {
- msec: 4256
- hash: "20561e2faf7e8fe1d6337248e6cd5e94"
- }
- Frame {
- msec: 4272
- hash: "d8859888802e7b54e2d2a44cf252eb54"
- }
- Frame {
- msec: 4288
- hash: "144724168f42372e10ec6c39662a5ed8"
- }
- Frame {
- msec: 4304
- hash: "d2da36fbf73289f545133bd608af66a2"
- }
- Frame {
- msec: 4320
- hash: "b1d7da6b42a31bba91148ab37b111945"
- }
- Frame {
- msec: 4336
- hash: "6f226a3b20d95e17df69e2c4e5aff3d1"
- }
- Frame {
- msec: 4352
- hash: "1109da0f043a9418661fc05e53fe3b45"
- }
- Frame {
- msec: 4368
- hash: "f3e901db9efd1d9fadf1cb6858040d51"
- }
- Frame {
- msec: 4384
- hash: "c8e50c0e924b11a3f1943abb9a4008a4"
- }
- Frame {
- msec: 4400
- hash: "431226a27488ed1dba237de3d43f94c5"
- }
- Frame {
- msec: 4416
- hash: "420d316430c84f10d7cd24d29b918149"
- }
- Frame {
- msec: 4432
- hash: "ccbd4d1e4865ebd9b0fe923e6ab05e5c"
- }
- Frame {
- msec: 4448
- hash: "231bff73758a1c6f7c7c0365159ba3e6"
- }
- Frame {
- msec: 4464
- hash: "d1ac7ceda7303bbf3392d33f47037ed6"
- }
- Frame {
- msec: 4480
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4496
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4512
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4528
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4544
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4560
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4576
- hash: "a2ad07326fafcb3012cdb869f39af466"
- }
- Frame {
- msec: 4592
- hash: "8622eb25a6da44926b5161bce213a483"
- }
- Frame {
- msec: 4608
- hash: "fe563aa9dae9655871f82a779063cdbd"
- }
- Frame {
- msec: 4624
- hash: "775cd79b012f79b773449a0ad8457149"
- }
- Frame {
- msec: 4640
- hash: "01e9fab344a148a0877a7332d561be5a"
- }
- Frame {
- msec: 4656
- hash: "935566d139599a30197850774fb059ba"
- }
- Frame {
- msec: 4672
- hash: "4aae1ac532624417decddd978f516b6e"
- }
- Frame {
- msec: 4688
- hash: "34dc78df6e9941988712c1f8f79c3db0"
- }
- Frame {
- msec: 4704
- hash: "23a96c11d5917c44bd48239ed2b5777f"
- }
- Frame {
- msec: 4720
- hash: "f8f13e097eae3152db3ccebff1343fe0"
- }
- Frame {
- msec: 4736
- hash: "02f8fca7c4ab80ecf425e4b39e966b86"
- }
- Frame {
- msec: 4752
- hash: "c3356367750e797ff81bc4102f948134"
- }
- Frame {
- msec: 4768
- hash: "7b5de3772b8bcb4b10f3d265d5603afb"
- }
- Frame {
- msec: 4784
- hash: "ed3c741639232377f61867fd353ce58a"
- }
- Frame {
- msec: 4800
- image: "cursorDelegate.4.png"
- }
- Frame {
- msec: 4816
- hash: "5ca117709284f4a1cbd64cdba4079340"
- }
- Frame {
- msec: 4832
- hash: "de315e6836334fd0a2da855f5be4ff30"
- }
- Frame {
- msec: 4848
- hash: "3d284b4000d2849ed4af2f7c1b859492"
- }
- Frame {
- msec: 4864
- hash: "83f297406b1c6311da3a216024836d15"
- }
- Frame {
- msec: 4880
- hash: "1bb236db749ef514c00d0a3dd698d24f"
- }
- Frame {
- msec: 4896
- hash: "93f79f8717948bde8ee55c668af2d397"
- }
- Frame {
- msec: 4912
- hash: "881b5c2ccd0bbdaea4d61abbec600fc5"
- }
- Frame {
- msec: 4928
- hash: "be72fe7c27901db62f2dbd9a757e4838"
- }
- Frame {
- msec: 4944
- hash: "c83c973fb1253ccab333fb1e604155b8"
- }
- Frame {
- msec: 4960
- hash: "dd6072d204812c23e24db1e7a81c6f57"
- }
- Frame {
- msec: 4976
- hash: "fb342743dc5ab9ade2b8a48a2a11dc8f"
- }
- Frame {
- msec: 4992
- hash: "fc8ede705bfe8f339fe47041c502b0d6"
- }
- Frame {
- msec: 5008
- hash: "00fa0306d3fdc7e384cfc0660a3a355d"
- }
- Frame {
- msec: 5024
- hash: "00fa0306d3fdc7e384cfc0660a3a355d"
- }
- Frame {
- msec: 5040
- hash: "fc8ede705bfe8f339fe47041c502b0d6"
- }
- Frame {
- msec: 5056
- hash: "fb342743dc5ab9ade2b8a48a2a11dc8f"
- }
- Frame {
- msec: 5072
- hash: "dd6072d204812c23e24db1e7a81c6f57"
- }
- Frame {
- msec: 5088
- hash: "c83c973fb1253ccab333fb1e604155b8"
- }
- Frame {
- msec: 5104
- hash: "be72fe7c27901db62f2dbd9a757e4838"
- }
- Frame {
- msec: 5120
- hash: "881b5c2ccd0bbdaea4d61abbec600fc5"
- }
- Frame {
- msec: 5136
- hash: "93f79f8717948bde8ee55c668af2d397"
- }
- Frame {
- msec: 5152
- hash: "1bb236db749ef514c00d0a3dd698d24f"
- }
- Frame {
- msec: 5168
- hash: "83f297406b1c6311da3a216024836d15"
- }
- Frame {
- msec: 5184
- hash: "3d284b4000d2849ed4af2f7c1b859492"
- }
- Frame {
- msec: 5200
- hash: "de315e6836334fd0a2da855f5be4ff30"
- }
- Frame {
- msec: 5216
- hash: "5ca117709284f4a1cbd64cdba4079340"
- }
- Frame {
- msec: 5232
- hash: "4f0d49aff27a1c83287d38e760c10f16"
- }
- Frame {
- msec: 5248
- hash: "ed3c741639232377f61867fd353ce58a"
- }
- Frame {
- msec: 5264
- hash: "7b5de3772b8bcb4b10f3d265d5603afb"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.0.png
deleted file mode 100644
index 431bed842a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.1.png
deleted file mode 100644
index d8d6bac21f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.2.png
deleted file mode 100644
index 27e02e5ca0..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.3.png
deleted file mode 100644
index 00549b393d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.4.png
deleted file mode 100644
index 5c2a88542e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.5.png
deleted file mode 100644
index 5c2a88542e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.6.png
deleted file mode 100644
index fd7f0104d2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.qml
deleted file mode 100644
index dff5452022..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/flickableEdit.qml
+++ /dev/null
@@ -1,3551 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "flickableEdit.0.png"
- }
- Frame {
- msec: 32
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 48
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 64
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 80
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 96
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 112
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 128
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 144
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 160
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 176
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 192
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 208
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 224
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 240
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 256
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 272
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 288
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 304
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 320
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 336
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 352
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 368
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 384
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 400
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 416
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 432
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 448
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 464
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 480
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 496
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 512
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 528
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 544
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 560
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 576
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 592
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 608
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 624
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 640
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 656
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 672
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 688
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 704
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 720
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 736
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 752
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 768
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 784
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 800
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 816
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 832
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 848
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 864
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 880
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 896
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 29; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 912
- hash: "1a426d2b8854412a3c91f927588f63ce"
- }
- Frame {
- msec: 928
- hash: "1a426d2b8854412a3c91f927588f63ce"
- }
- Frame {
- msec: 944
- hash: "1a426d2b8854412a3c91f927588f63ce"
- }
- Frame {
- msec: 960
- hash: "1a426d2b8854412a3c91f927588f63ce"
- }
- Frame {
- msec: 976
- image: "flickableEdit.1.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 30; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 32; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 992
- hash: "1a426d2b8854412a3c91f927588f63ce"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 33; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 34; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1008
- hash: "1a426d2b8854412a3c91f927588f63ce"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 36; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 39; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1024
- hash: "4626e25f67dfd0fe3846322455762b3b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 41; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 44; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1040
- hash: "4626e25f67dfd0fe3846322455762b3b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1056
- hash: "e506425ea4a8eb6d94442ac0bccd0911"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1072
- hash: "3c45be5d00748154f9abce8d525b5791"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1088
- hash: "3e33ff0dfd478bad91472fa2bb4908a0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1104
- hash: "3e33ff0dfd478bad91472fa2bb4908a0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1120
- hash: "e8e7e98f3d7dbcdb4040ae81ef656e02"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 73; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 75; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1136
- hash: "e8e7e98f3d7dbcdb4040ae81ef656e02"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 78; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 80; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1152
- hash: "309c25ff85a361dfebd6464984fd9d79"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 83; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1168
- hash: "4b4fc7d9263af761222bb23f41021731"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 87; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1184
- hash: "4b4fc7d9263af761222bb23f41021731"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 93; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1200
- hash: "bd00eeda31cfc8d59a2c9677e771dadb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 99; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 103; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1216
- hash: "adce307d674b8425fa39b69958d6acc5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1232
- hash: "36e04d9124f32a21784f3017cc26ee71"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 114; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 116; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1248
- hash: "36e04d9124f32a21784f3017cc26ee71"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 119; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1264
- hash: "c6548ac358dd0eb4fa07ed305039d4e2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 124; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1280
- hash: "a0c4b8e21b0b04edaf7b32b2ab40edb2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 128; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 130; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1296
- hash: "a0c4b8e21b0b04edaf7b32b2ab40edb2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 132; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 134; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1312
- hash: "d32fb36408859c35dacc5787374b6ae4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 136; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 137; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1328
- hash: "d32fb36408859c35dacc5787374b6ae4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 139; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 141; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1344
- hash: "d32fb36408859c35dacc5787374b6ae4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 143; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 144; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1360
- hash: "90f44df899138e894b1a7e42657b8331"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 146; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 147; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1376
- hash: "90f44df899138e894b1a7e42657b8331"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 148; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 149; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1392
- hash: "8ec6bb08aac10a622df934421f64beb4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 150; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 151; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1408
- hash: "d4e52b7ca07033e4f2124607454fd81b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 152; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 154; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1424
- hash: "499d7c3d9cfb35db68f6eece23130e6b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 155; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1440
- hash: "499d7c3d9cfb35db68f6eece23130e6b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 157; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1456
- hash: "3ea13a21a5bbe336408c76ab17ff4268"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 158; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 160; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1472
- hash: "3ea13a21a5bbe336408c76ab17ff4268"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 161; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1488
- hash: "3ea13a21a5bbe336408c76ab17ff4268"
- }
- Frame {
- msec: 1504
- hash: "3ea13a21a5bbe336408c76ab17ff4268"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 162; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1520
- hash: "3ea13a21a5bbe336408c76ab17ff4268"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 164; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1536
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 165; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1552
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 167; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1568
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 169; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1584
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1600
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 170; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1616
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1632
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1648
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1664
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1680
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1696
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1712
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1728
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1744
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1760
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1776
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1792
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1808
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1824
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1840
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 170; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1856
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1872
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1888
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1904
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 1920
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 1936
- image: "flickableEdit.2.png"
- }
- Frame {
- msec: 1952
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 1968
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 1984
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2000
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2016
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2032
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2048
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2064
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2080
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2096
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2112
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2128
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2144
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2160
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2176
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2192
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2208
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2224
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2240
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2256
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2272
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2288
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2304
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2320
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2336
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2352
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2368
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2384
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2400
- hash: "4b8bc23e0153e6925c3e3a065fcc8dcd"
- }
- Frame {
- msec: 2416
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2432
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2448
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2464
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2480
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2496
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2512
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2528
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2544
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2560
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2576
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2592
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2608
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2624
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2640
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2656
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2672
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2688
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Frame {
- msec: 2704
- hash: "06bc360da9134471bf6e8e6ff36cbaa4"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 21; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2720
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2736
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2752
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2768
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2784
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2800
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2816
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2832
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2848
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2864
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2880
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2896
- image: "flickableEdit.3.png"
- }
- Frame {
- msec: 2912
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2928
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 22; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2944
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2960
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 23; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2976
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Frame {
- msec: 2992
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 24; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3008
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 25; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3024
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 26; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3040
- hash: "9d2c8b1f0f7da6a4914a54cf76393861"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 27; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 29; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3056
- hash: "e5daa45e1d798fdf2562dbb9a1a2c97b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 30; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 31; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3072
- hash: "698b572adf95ddc235b781b126a1cc10"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 33; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 35; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3088
- hash: "7a87fe9484b00f8c7039e3129fc24fb5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 37; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 40; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3104
- hash: "2f17e7980a28789d0f262e3682c2da27"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 42; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3120
- hash: "0757f4c05233a25e6a8825b2c6052d8d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3136
- hash: "799da712f376033efdbaf9a342e4bc3f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3152
- hash: "bf7b2a29664fe4acf52d56c73cf079b1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 62; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3168
- hash: "7928b280e7a9ab89217c9abf3b709cd2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 72; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3184
- hash: "3102339f3e18640f6b508e88aafefb79"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 75; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 78; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3200
- hash: "98cddfbea5b96f9dd08c5a3655155d35"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 84; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3216
- hash: "5604b2f85c3a90f8b29da3fec2f6c509"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 87; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3232
- hash: "5ca4055c8dded5d30c326d6d304da28d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 94; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3248
- hash: "b0afe256f8f89a77a5fa87c023cda469"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 101; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 104; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3264
- hash: "d7408be78c80e2b6e5848ee696a79ee0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 108; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3280
- hash: "f7e12621527fd52e21595cfbf804879c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3296
- hash: "6b8c9413ba1a791e42b06aaa711cdb4e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 127; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3312
- hash: "1c80e0f89033dedc66b236561042f4f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 131; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 135; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3328
- hash: "6ec06d8844ff57e34af5316895250858"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 146; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3344
- hash: "f3c0159243555e919fd736866b00a5ab"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 151; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 157; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3360
- hash: "973ced5d6155240490acd6241610429d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 164; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 169; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3376
- hash: "0aee5feb94508f70c62cc3255c53bc8a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 175; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 182; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3392
- hash: "840cc661a50dd8bc1af8f6d53ccbece5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 187; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 191; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3408
- hash: "34a470358ccfb7592cf47399ab6dbc19"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 195; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 198; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3424
- hash: "25c53ff3977ca8422c545c1608782833"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 202; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 205; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3440
- hash: "d4388550549d54e31640cda4672c3bfb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 209; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 213; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3456
- hash: "8904c3b225a5e732fca4fc605d0fc12a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 216; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 219; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3472
- hash: "415a630fc6a963e99a0e13bf5e461849"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 223; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 226; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3488
- hash: "1526e90e0345e20a3455554c8f249de7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 229; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 233; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3504
- hash: "2b215748d63e505469d343919b245af9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 235; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 238; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3520
- hash: "6821e559cb1e45b0cd731c90c3b16934"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 241; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 243; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3536
- hash: "334ddaa8c2cd0506528fe20a21991b03"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 245; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 247; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3552
- hash: "6e651889e91d3de96d9aaf91f4ed9a2c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 250; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 251; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3568
- hash: "0554f22d8079ef0213dc25f9f1b59055"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 252; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 253; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3584
- hash: "1eb0805e4c706af1c7cfa113d32edda1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 255; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 256; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3600
- hash: "482f30ca992e9f92241523a47125d9b4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 257; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 259; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3616
- hash: "6b2bec317fad51fe85bab6a00ced9655"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 261; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 262; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3632
- hash: "acc661684f507375518fc73fe081f61e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 263; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 265; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3648
- hash: "f77143d0d7a3cf8c0163bf950940ad07"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 266; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 267; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3664
- hash: "8d0407ae3f55305e1d9780deaa30c064"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 268; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3680
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 3696
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 3712
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3728
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3744
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3760
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3776
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3792
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3808
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3824
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3840
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3856
- image: "flickableEdit.4.png"
- }
- Frame {
- msec: 3872
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3888
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3904
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3920
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3936
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3952
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3968
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 3984
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4000
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4016
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4032
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4048
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4064
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4080
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4096
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4112
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4128
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4144
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4160
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4176
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4192
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4208
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4224
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4240
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4256
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4272
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4288
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4304
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4320
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4336
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4352
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4368
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4384
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4400
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4416
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4432
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4448
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4464
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4480
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4496
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4512
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4528
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4544
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4560
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4576
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4592
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4608
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4624
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4640
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4656
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4672
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4688
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4704
- hash: "c536946f28abb221cc38d6f438887e17"
- }
- Frame {
- msec: 4720
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4736
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4752
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4768
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4784
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4800
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4816
- image: "flickableEdit.5.png"
- }
- Frame {
- msec: 4832
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4848
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4864
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Frame {
- msec: 4880
- hash: "91bd6701cbb1e836a01d1619e0421503"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 266; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4896
- hash: "e5a6693779ffb4e8a333756690a8f9e0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 264; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 262; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4912
- hash: "6acabe70146611091621ef5079cc97ec"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 259; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 256; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4928
- hash: "f75b5eaa04bfec866f088f665edb225e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 253; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 249; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4944
- hash: "1888acd9f3e48348c22e324d67ab2724"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 245; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 240; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4960
- hash: "cd24be347f20371f9d0796fa4a38ad0c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 235; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 231; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4976
- hash: "f39bc67a8e83340f8e89cf11c89fb27c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 227; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 222; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4992
- hash: "80d8019485231c061ba1cf81fd4c42ca"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 217; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 213; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5008
- hash: "72893900dfd007ea25a7d75982be6320"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 207; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 203; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5024
- hash: "f3d02c4d2f0b8b75b0b6159c0ba8f4db"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 199; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 195; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5040
- hash: "8ecdf1325bb2084bf6212216bd86b324"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 190; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 186; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5056
- hash: "be5c62268b337c9d7f69ab01b02c816d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 182; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 178; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5072
- hash: "a0eea6c818a1cb71809aff4613e9655d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 175; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 171; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5088
- hash: "27fcf1d4cd00dc7ac54fa92f9c7e2ac2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 165; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5104
- hash: "32f6bdc5e2f6ce34436a21dd8ee348dd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 162; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 159; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5120
- hash: "4c11c9075429acd4acddc6ede4e5fe69"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 154; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 151; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5136
- hash: "8fdaf03e0b03698613092303945787d4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 148; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 145; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5152
- hash: "d9bc269f21d5eade8bb9555d05a86744"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 142; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 138; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5168
- hash: "f9dd0735682dba198febffcc85c9835a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 135; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 131; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5184
- hash: "a98869bb654e3b4c1f4d9d0e7e24197a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 128; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 124; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5200
- hash: "50ceb9d6d58129b71009079a0028e7c4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 121; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5216
- hash: "6b8c9413ba1a791e42b06aaa711cdb4e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 114; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5232
- hash: "f7e12621527fd52e21595cfbf804879c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 108; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 105; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5248
- hash: "d7408be78c80e2b6e5848ee696a79ee0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 103; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 99; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5264
- hash: "e648f25a978b9f14cf71d5f1d90edf15"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 93; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5280
- hash: "64ce73aa32f2c08f4cee9a35a103a1d0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 88; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5296
- hash: "1db1d100eb1f97a7c85ab8df3e558188"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 86; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 84; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5312
- hash: "5604b2f85c3a90f8b29da3fec2f6c509"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 79; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5328
- hash: "fb57c6295d512821945754020ea6a3ce"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 77; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 75; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5344
- hash: "14dfd5b78901c9f63e4f5d0889f77805"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 73; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 72; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5360
- hash: "cc105198e78269be1240785b791c8612"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5376
- hash: "1ef97830b4f1be66a4f443ee4573547b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5392
- hash: "0ef86edc381e75c39ba067404817edb8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 63; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 60; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5408
- hash: "6a7605f59eb364fbc166aeea7b54695a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5424
- hash: "e86bb3698ad8b46e70237088ea056ab0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5440
- hash: "56db36cde05d74d6bf8eec0b21515b20"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5456
- hash: "05adc602e827635ca43c0cff2b5b857d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5472
- hash: "cbdcdf9b7e640a79e2269247bb4d6cc2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 41; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5488
- hash: "bc014e9feb5e69c4042385a6753d1884"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 38; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 37; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5504
- hash: "544e9ddbedae500955e6cec79eae709c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 35; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 33; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5520
- hash: "ec17a9dba3846c1919b67eaf3d234471"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 30; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 28; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5536
- hash: "8ab538f8baa170798c93e6eb4d5441f8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 27; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 26; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5552
- hash: "1b1636fecff90e602b87dbf84a986d2a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 25; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 24; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5568
- hash: "27a84ee3fb8b306e22e50ba753828b7c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 23; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5584
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 5600
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 23; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5616
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 5632
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 5648
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 5664
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 5680
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 5696
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 5712
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5728
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5744
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5760
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5776
- image: "flickableEdit.6.png"
- }
- Frame {
- msec: 5792
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5808
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5824
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5840
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5856
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5872
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5888
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5904
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5920
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5936
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5952
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5968
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 5984
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6000
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6016
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6032
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6048
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6064
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6080
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6096
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6112
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6128
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6144
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6160
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6176
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6192
- hash: "46af738f612bfe0fbf4f83eb847dacb7"
- }
- Frame {
- msec: 6208
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6224
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6240
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6256
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6272
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6288
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6304
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6320
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6336
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6352
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6368
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6384
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6400
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6416
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
- Frame {
- msec: 6432
- hash: "ee9cd90fbe594efb411315a97b702a40"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.0.png
deleted file mode 100644
index 7d0d0aee4a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.1.png
deleted file mode 100644
index 7d612bf2bb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.qml
deleted file mode 100644
index 8c7e3808b1..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/linkActivated.qml
+++ /dev/null
@@ -1,191 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "linkActivated.0.png"
- }
- Frame {
- msec: 32
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 48
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 64
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 80
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 96
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 112
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 128
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 144
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 160
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 176
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 192
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 208
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 224
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 240
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Frame {
- msec: 256
- hash: "53d97d0966197ea41364511dea13752f"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 21; y: 13
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 272
- hash: "9482227cbc77e9083218c1452e8644d8"
- }
- Frame {
- msec: 288
- hash: "9482227cbc77e9083218c1452e8644d8"
- }
- Frame {
- msec: 304
- hash: "9482227cbc77e9083218c1452e8644d8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 22; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 320
- hash: "9482227cbc77e9083218c1452e8644d8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 23; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 23; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 336
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 352
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 368
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 384
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 400
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 416
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 432
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 448
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 464
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 480
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 496
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 512
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 528
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 544
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 560
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 576
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 592
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
- Frame {
- msec: 608
- hash: "29c47cec5d015e6cab0762c3db0fa714"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.0.png
deleted file mode 100644
index 95a835aaec..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.1.png
deleted file mode 100644
index 409192c6eb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.2.png
deleted file mode 100644
index cd2f11213e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.3.png
deleted file mode 100644
index 7191c1ef69..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.qml
deleted file mode 100644
index 5926e0455b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/qt-669.qml
+++ /dev/null
@@ -1,1371 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 32
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 48
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 64
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 80
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 96
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 112
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 128
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 144
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 160
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 176
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 192
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 208
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 224
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 240
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 256
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 272
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 288
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 304
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 320
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 336
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 352
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 368
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 384
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 400
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 416
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 432
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 448
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 464
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 480
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 496
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 512
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 528
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 560
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 576
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 592
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 608
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 624
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 640
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 656
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 672
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 688
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 704
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 720
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 736
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 752
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 768
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 784
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 800
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 816
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 832
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 848
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 864
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 880
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 896
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 912
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 928
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 944
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 960
- image: "qt-669.0.png"
- }
- Frame {
- msec: 976
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 992
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 1008
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1024
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 1040
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 1056
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 1072
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 1088
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1104
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 1120
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 1136
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1152
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 1168
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 1184
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 1200
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 1216
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1232
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 1248
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 1264
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 1280
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1296
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 1312
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 1328
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 1344
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1360
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1376
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1392
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1408
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1424
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1440
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1456
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1472
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1488
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1504
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1520
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1536
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1552
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1568
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1584
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1600
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1616
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1632
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1648
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1664
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1680
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1696
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1712
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1728
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1744
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1760
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1776
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1792
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1808
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1824
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Frame {
- msec: 1840
- hash: "a3b98f215b2329e29d17b61eba0f9e45"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1856
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1872
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1888
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1904
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1920
- image: "qt-669.1.png"
- }
- Frame {
- msec: 1936
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1952
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1968
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 1984
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2000
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 2016
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 2032
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 2048
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Frame {
- msec: 2064
- hash: "d85314199885fdf9cc8e666c3fb723fb"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2080
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 2096
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 2112
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 2128
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 2144
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 2176
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 2192
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 2208
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Frame {
- msec: 2224
- hash: "1313880b796ae7134f50fa8dafa4a974"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2240
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 2256
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2272
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 2288
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 2304
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 2320
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Frame {
- msec: 2336
- hash: "c899e9d181860f682ba7275fa36f82a1"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2352
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2368
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2384
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2400
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2416
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2432
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2448
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2464
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2480
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2496
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2512
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2528
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2544
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2560
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2576
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Frame {
- msec: 2592
- hash: "2caf044acf7aaf0af6a03e7b8180fa16"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2608
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 2624
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 2640
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 2656
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 2672
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2688
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 2704
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 2720
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 2736
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Frame {
- msec: 2752
- hash: "c87aaf72137c2b9e8c876879e7215072"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2768
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 2784
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 2800
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2816
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 2832
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 2848
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Frame {
- msec: 2864
- hash: "3c455f51fea0926576077d55d6fbfbb2"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2880
- image: "qt-669.2.png"
- }
- Frame {
- msec: 2896
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 2912
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 2928
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2944
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 2960
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 2976
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 2992
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Frame {
- msec: 3008
- hash: "394360c0bff5ee3ad206d2911838d64e"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3024
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3040
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3056
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3072
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3088
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3104
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3120
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3136
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3152
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3168
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3184
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3200
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3216
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3232
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3248
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3264
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3280
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3296
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3312
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3328
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3344
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3360
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3376
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3392
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3408
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3424
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3440
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3456
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3472
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3488
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3504
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3520
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3536
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3552
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3568
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3584
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3600
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3616
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3632
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3648
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3664
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3680
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Frame {
- msec: 3696
- hash: "10573e4c9dab5bd6e46ec79949c098e5"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3712
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3728
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3744
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3760
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3776
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3792
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3808
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3824
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3840
- image: "qt-669.3.png"
- }
- Frame {
- msec: 3856
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3872
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3888
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3904
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3920
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3936
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3952
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3968
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 3984
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4000
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4016
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4032
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4048
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4064
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4080
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4096
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4112
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4128
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4144
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4160
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4176
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4192
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4208
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4224
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4240
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4256
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4272
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4288
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
- Frame {
- msec: 4304
- hash: "4e0ce00bde70a96774a6477ef2305b7f"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.0.png
deleted file mode 100644
index e69860ebbc..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.1.png
deleted file mode 100644
index 1db3c262d8..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.10.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.10.png
deleted file mode 100644
index 9c72d52a98..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.11.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.11.png
deleted file mode 100644
index 9c72d52a98..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.11.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.2.png
deleted file mode 100644
index fbef8052a6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.3.png
deleted file mode 100644
index dc56c7e1de..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.4.png
deleted file mode 100644
index 04ea496431..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.5.png
deleted file mode 100644
index 98bf7dee1e..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.6.png
deleted file mode 100644
index d95b8952c5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.7.png
deleted file mode 100644
index 9954344363..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.8.png
deleted file mode 100644
index d49c2ff1f8..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.9.png
deleted file mode 100644
index 9c72d52a98..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.qml
deleted file mode 100644
index 94891e5d07..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/usingMultilineEdit.qml
+++ /dev/null
@@ -1,4687 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 32
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 48
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 64
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 80
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 96
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 112
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 128
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 144
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 160
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 176
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 192
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 208
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 224
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 240
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 256
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 272
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 288
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 304
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 320
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 118; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 336
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 352
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 368
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 384
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 400
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 118; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 416
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 432
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 448
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 464
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 480
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 496
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 512
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 528
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 544
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 560
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 576
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 592
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 608
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 624
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Frame {
- msec: 640
- hash: "a4edfba57a47b45f96fe1fa7a37c1720"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 117; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 656
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 672
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 117; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 688
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 704
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 720
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 736
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 752
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 768
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 784
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 800
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 816
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 832
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 848
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 864
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 880
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 896
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 912
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 928
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 944
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 960
- image: "usingMultilineEdit.0.png"
- }
- Frame {
- msec: 976
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 992
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1008
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1024
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1040
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1056
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1072
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1088
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1104
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1120
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1136
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1152
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1168
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1184
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1200
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1216
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1232
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1248
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1264
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1280
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Frame {
- msec: 1296
- hash: "bf9ad629e190df34f8bbb242e986083f"
- }
- Key {
- type: 6
- key: 44
- modifiers: 0
- text: "2c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1312
- hash: "bf65dbbfc02ad1589093d965c83d5806"
- }
- Frame {
- msec: 1328
- hash: "bf65dbbfc02ad1589093d965c83d5806"
- }
- Frame {
- msec: 1344
- hash: "bf65dbbfc02ad1589093d965c83d5806"
- }
- Frame {
- msec: 1360
- hash: "bf65dbbfc02ad1589093d965c83d5806"
- }
- Frame {
- msec: 1376
- hash: "bf65dbbfc02ad1589093d965c83d5806"
- }
- Key {
- type: 7
- key: 44
- modifiers: 0
- text: "2c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1392
- hash: "bf65dbbfc02ad1589093d965c83d5806"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1408
- hash: "ef0640a754b76b5e28bff78376f1aaf3"
- }
- Frame {
- msec: 1424
- hash: "ef0640a754b76b5e28bff78376f1aaf3"
- }
- Frame {
- msec: 1440
- hash: "ef0640a754b76b5e28bff78376f1aaf3"
- }
- Frame {
- msec: 1456
- hash: "ef0640a754b76b5e28bff78376f1aaf3"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1472
- hash: "ef0640a754b76b5e28bff78376f1aaf3"
- }
- Frame {
- msec: 1488
- hash: "ef0640a754b76b5e28bff78376f1aaf3"
- }
- Frame {
- msec: 1504
- hash: "ef0640a754b76b5e28bff78376f1aaf3"
- }
- Frame {
- msec: 1520
- hash: "ef0640a754b76b5e28bff78376f1aaf3"
- }
- Frame {
- msec: 1536
- hash: "ef0640a754b76b5e28bff78376f1aaf3"
- }
- Frame {
- msec: 1552
- hash: "ef0640a754b76b5e28bff78376f1aaf3"
- }
- Key {
- type: 6
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1568
- hash: "b392b8d675e61166e9707f4a7f191c15"
- }
- Frame {
- msec: 1584
- hash: "b392b8d675e61166e9707f4a7f191c15"
- }
- Frame {
- msec: 1600
- hash: "b392b8d675e61166e9707f4a7f191c15"
- }
- Key {
- type: 7
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1616
- hash: "b392b8d675e61166e9707f4a7f191c15"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1632
- hash: "f7a9826581a72f37b1211f1006d93ae5"
- }
- Frame {
- msec: 1648
- hash: "f7a9826581a72f37b1211f1006d93ae5"
- }
- Frame {
- msec: 1664
- hash: "f7a9826581a72f37b1211f1006d93ae5"
- }
- Frame {
- msec: 1680
- hash: "f7a9826581a72f37b1211f1006d93ae5"
- }
- Frame {
- msec: 1696
- hash: "f7a9826581a72f37b1211f1006d93ae5"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1712
- hash: "f7a9826581a72f37b1211f1006d93ae5"
- }
- Frame {
- msec: 1728
- hash: "f7a9826581a72f37b1211f1006d93ae5"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1744
- hash: "cea68eaed3000fe598917688b49525b7"
- }
- Frame {
- msec: 1760
- hash: "cea68eaed3000fe598917688b49525b7"
- }
- Frame {
- msec: 1776
- hash: "cea68eaed3000fe598917688b49525b7"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "cea68eaed3000fe598917688b49525b7"
- }
- Frame {
- msec: 1808
- hash: "cea68eaed3000fe598917688b49525b7"
- }
- Frame {
- msec: 1824
- hash: "cea68eaed3000fe598917688b49525b7"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1840
- hash: "968932500933300e0a0ca711067d6659"
- }
- Frame {
- msec: 1856
- hash: "968932500933300e0a0ca711067d6659"
- }
- Frame {
- msec: 1872
- hash: "968932500933300e0a0ca711067d6659"
- }
- Frame {
- msec: 1888
- hash: "968932500933300e0a0ca711067d6659"
- }
- Frame {
- msec: 1904
- hash: "968932500933300e0a0ca711067d6659"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1920
- image: "usingMultilineEdit.1.png"
- }
- Frame {
- msec: 1936
- hash: "1d5b3f8dc6e0701c0c11a330e055ba5d"
- }
- Frame {
- msec: 1952
- hash: "1d5b3f8dc6e0701c0c11a330e055ba5d"
- }
- Frame {
- msec: 1968
- hash: "1d5b3f8dc6e0701c0c11a330e055ba5d"
- }
- Key {
- type: 6
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1984
- hash: "067182091936c99dfa5c29b226bd4351"
- }
- Frame {
- msec: 2000
- hash: "067182091936c99dfa5c29b226bd4351"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2016
- hash: "067182091936c99dfa5c29b226bd4351"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2032
- hash: "810e996b65424f80e229160860805492"
- }
- Frame {
- msec: 2048
- hash: "810e996b65424f80e229160860805492"
- }
- Key {
- type: 7
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "810e996b65424f80e229160860805492"
- }
- Frame {
- msec: 2080
- hash: "810e996b65424f80e229160860805492"
- }
- Frame {
- msec: 2096
- hash: "810e996b65424f80e229160860805492"
- }
- Frame {
- msec: 2112
- hash: "810e996b65424f80e229160860805492"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2128
- hash: "810e996b65424f80e229160860805492"
- }
- Frame {
- msec: 2144
- hash: "810e996b65424f80e229160860805492"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "10aca130f139e44c0889d8d9c9bb8673"
- }
- Frame {
- msec: 2176
- hash: "10aca130f139e44c0889d8d9c9bb8673"
- }
- Frame {
- msec: 2192
- hash: "10aca130f139e44c0889d8d9c9bb8673"
- }
- Frame {
- msec: 2208
- hash: "10aca130f139e44c0889d8d9c9bb8673"
- }
- Frame {
- msec: 2224
- hash: "10aca130f139e44c0889d8d9c9bb8673"
- }
- Frame {
- msec: 2240
- hash: "10aca130f139e44c0889d8d9c9bb8673"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2256
- hash: "6785570c7f2cc9f3c6b0b07b8a94ecb2"
- }
- Frame {
- msec: 2272
- hash: "6785570c7f2cc9f3c6b0b07b8a94ecb2"
- }
- Frame {
- msec: 2288
- hash: "6785570c7f2cc9f3c6b0b07b8a94ecb2"
- }
- Frame {
- msec: 2304
- hash: "6785570c7f2cc9f3c6b0b07b8a94ecb2"
- }
- Frame {
- msec: 2320
- hash: "6785570c7f2cc9f3c6b0b07b8a94ecb2"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2336
- hash: "6785570c7f2cc9f3c6b0b07b8a94ecb2"
- }
- Frame {
- msec: 2352
- hash: "6785570c7f2cc9f3c6b0b07b8a94ecb2"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "701c2738b7c064cd487bd0c6c0beb6b4"
- }
- Frame {
- msec: 2384
- hash: "701c2738b7c064cd487bd0c6c0beb6b4"
- }
- Frame {
- msec: 2400
- hash: "701c2738b7c064cd487bd0c6c0beb6b4"
- }
- Frame {
- msec: 2416
- hash: "701c2738b7c064cd487bd0c6c0beb6b4"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2432
- hash: "701c2738b7c064cd487bd0c6c0beb6b4"
- }
- Key {
- type: 6
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "35c0c51dd874faa28058251164836dcb"
- }
- Frame {
- msec: 2464
- hash: "35c0c51dd874faa28058251164836dcb"
- }
- Frame {
- msec: 2480
- hash: "35c0c51dd874faa28058251164836dcb"
- }
- Frame {
- msec: 2496
- hash: "35c0c51dd874faa28058251164836dcb"
- }
- Frame {
- msec: 2512
- hash: "35c0c51dd874faa28058251164836dcb"
- }
- Frame {
- msec: 2528
- hash: "35c0c51dd874faa28058251164836dcb"
- }
- Key {
- type: 7
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2544
- hash: "35c0c51dd874faa28058251164836dcb"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2560
- hash: "12748fe9d3b72aff29449deeb2372d03"
- }
- Frame {
- msec: 2576
- hash: "12748fe9d3b72aff29449deeb2372d03"
- }
- Frame {
- msec: 2592
- hash: "12748fe9d3b72aff29449deeb2372d03"
- }
- Frame {
- msec: 2608
- hash: "12748fe9d3b72aff29449deeb2372d03"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2624
- hash: "12748fe9d3b72aff29449deeb2372d03"
- }
- Frame {
- msec: 2640
- hash: "12748fe9d3b72aff29449deeb2372d03"
- }
- Frame {
- msec: 2656
- hash: "12748fe9d3b72aff29449deeb2372d03"
- }
- Frame {
- msec: 2672
- hash: "12748fe9d3b72aff29449deeb2372d03"
- }
- Frame {
- msec: 2688
- hash: "12748fe9d3b72aff29449deeb2372d03"
- }
- Key {
- type: 6
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2704
- hash: "0d119074fb7e882ebe4dfbad9bfb401a"
- }
- Frame {
- msec: 2720
- hash: "0d119074fb7e882ebe4dfbad9bfb401a"
- }
- Frame {
- msec: 2736
- hash: "0d119074fb7e882ebe4dfbad9bfb401a"
- }
- Frame {
- msec: 2752
- hash: "0d119074fb7e882ebe4dfbad9bfb401a"
- }
- Frame {
- msec: 2768
- hash: "0d119074fb7e882ebe4dfbad9bfb401a"
- }
- Frame {
- msec: 2784
- hash: "0d119074fb7e882ebe4dfbad9bfb401a"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2800
- hash: "3646bd6ea35fb8f0160a24a203b0f469"
- }
- Key {
- type: 7
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2816
- hash: "3646bd6ea35fb8f0160a24a203b0f469"
- }
- Frame {
- msec: 2832
- hash: "3646bd6ea35fb8f0160a24a203b0f469"
- }
- Frame {
- msec: 2848
- hash: "3646bd6ea35fb8f0160a24a203b0f469"
- }
- Frame {
- msec: 2864
- hash: "3646bd6ea35fb8f0160a24a203b0f469"
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2880
- image: "usingMultilineEdit.2.png"
- }
- Frame {
- msec: 2896
- hash: "3646bd6ea35fb8f0160a24a203b0f469"
- }
- Frame {
- msec: 2912
- hash: "3646bd6ea35fb8f0160a24a203b0f469"
- }
- Frame {
- msec: 2928
- hash: "3646bd6ea35fb8f0160a24a203b0f469"
- }
- Key {
- type: 6
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2944
- hash: "d90cbfbec0e5a73781664eec63ba7081"
- }
- Frame {
- msec: 2960
- hash: "d90cbfbec0e5a73781664eec63ba7081"
- }
- Frame {
- msec: 2976
- hash: "d90cbfbec0e5a73781664eec63ba7081"
- }
- Key {
- type: 7
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2992
- hash: "8faa6d1174cf3e8ef10f6575276ed125"
- }
- Frame {
- msec: 3008
- hash: "8faa6d1174cf3e8ef10f6575276ed125"
- }
- Frame {
- msec: 3024
- hash: "8faa6d1174cf3e8ef10f6575276ed125"
- }
- Frame {
- msec: 3040
- hash: "8faa6d1174cf3e8ef10f6575276ed125"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3056
- hash: "8faa6d1174cf3e8ef10f6575276ed125"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3072
- hash: "bac072bfe350abe83fbc941e56845939"
- }
- Frame {
- msec: 3088
- hash: "bac072bfe350abe83fbc941e56845939"
- }
- Frame {
- msec: 3104
- hash: "bac072bfe350abe83fbc941e56845939"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3120
- hash: "bac072bfe350abe83fbc941e56845939"
- }
- Key {
- type: 7
- key: 32
- modifiers: 33554432
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3136
- hash: "bac072bfe350abe83fbc941e56845939"
- }
- Frame {
- msec: 3152
- hash: "bac072bfe350abe83fbc941e56845939"
- }
- Key {
- type: 6
- key: 73
- modifiers: 33554432
- text: "49"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3168
- hash: "386a85651164d0edbeb5cc2b7ee438c7"
- }
- Frame {
- msec: 3184
- hash: "386a85651164d0edbeb5cc2b7ee438c7"
- }
- Frame {
- msec: 3200
- hash: "386a85651164d0edbeb5cc2b7ee438c7"
- }
- Frame {
- msec: 3216
- hash: "386a85651164d0edbeb5cc2b7ee438c7"
- }
- Key {
- type: 7
- key: 73
- modifiers: 33554432
- text: "49"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3232
- hash: "386a85651164d0edbeb5cc2b7ee438c7"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3248
- hash: "982d48e7ef886a74791306f055ddc714"
- }
- Frame {
- msec: 3264
- hash: "982d48e7ef886a74791306f055ddc714"
- }
- Frame {
- msec: 3280
- hash: "982d48e7ef886a74791306f055ddc714"
- }
- Frame {
- msec: 3296
- hash: "982d48e7ef886a74791306f055ddc714"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3312
- hash: "982d48e7ef886a74791306f055ddc714"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3328
- hash: "38003a58f17d25d302c5e1b643b271b0"
- }
- Frame {
- msec: 3344
- hash: "38003a58f17d25d302c5e1b643b271b0"
- }
- Frame {
- msec: 3360
- hash: "38003a58f17d25d302c5e1b643b271b0"
- }
- Frame {
- msec: 3376
- hash: "38003a58f17d25d302c5e1b643b271b0"
- }
- Frame {
- msec: 3392
- hash: "38003a58f17d25d302c5e1b643b271b0"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3408
- hash: "38003a58f17d25d302c5e1b643b271b0"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3424
- hash: "18d37190d139a1567d91882fdac411d6"
- }
- Frame {
- msec: 3440
- hash: "18d37190d139a1567d91882fdac411d6"
- }
- Frame {
- msec: 3456
- hash: "18d37190d139a1567d91882fdac411d6"
- }
- Frame {
- msec: 3472
- hash: "18d37190d139a1567d91882fdac411d6"
- }
- Frame {
- msec: 3488
- hash: "18d37190d139a1567d91882fdac411d6"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 78
- modifiers: 0
- text: "6e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3504
- hash: "279aa32aaeebea7f8078e8a750d0514b"
- }
- Frame {
- msec: 3520
- hash: "279aa32aaeebea7f8078e8a750d0514b"
- }
- Frame {
- msec: 3536
- hash: "279aa32aaeebea7f8078e8a750d0514b"
- }
- Frame {
- msec: 3552
- hash: "279aa32aaeebea7f8078e8a750d0514b"
- }
- Frame {
- msec: 3568
- hash: "279aa32aaeebea7f8078e8a750d0514b"
- }
- Frame {
- msec: 3584
- hash: "279aa32aaeebea7f8078e8a750d0514b"
- }
- Key {
- type: 7
- key: 78
- modifiers: 0
- text: "6e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3600
- hash: "279aa32aaeebea7f8078e8a750d0514b"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3616
- hash: "626123df4dc8fc1321d0262871ffbe3e"
- }
- Frame {
- msec: 3632
- hash: "626123df4dc8fc1321d0262871ffbe3e"
- }
- Frame {
- msec: 3648
- hash: "626123df4dc8fc1321d0262871ffbe3e"
- }
- Frame {
- msec: 3664
- hash: "626123df4dc8fc1321d0262871ffbe3e"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3680
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3696
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3712
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3728
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3744
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3760
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3776
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3792
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3808
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3824
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3840
- image: "usingMultilineEdit.3.png"
- }
- Frame {
- msec: 3856
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3872
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3888
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3904
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3920
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3936
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3952
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Frame {
- msec: 3968
- hash: "00972f42fed66eb94832506b436b203d"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3984
- hash: "72d952ff90862b93ccec046f61d85360"
- }
- Frame {
- msec: 4000
- hash: "72d952ff90862b93ccec046f61d85360"
- }
- Frame {
- msec: 4016
- hash: "72d952ff90862b93ccec046f61d85360"
- }
- Frame {
- msec: 4032
- hash: "72d952ff90862b93ccec046f61d85360"
- }
- Frame {
- msec: 4048
- hash: "72d952ff90862b93ccec046f61d85360"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4064
- hash: "abd2bd3a1fdf5dbdd5bfdcc84bad136c"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4080
- hash: "abd2bd3a1fdf5dbdd5bfdcc84bad136c"
- }
- Frame {
- msec: 4096
- hash: "abd2bd3a1fdf5dbdd5bfdcc84bad136c"
- }
- Frame {
- msec: 4112
- hash: "abd2bd3a1fdf5dbdd5bfdcc84bad136c"
- }
- Frame {
- msec: 4128
- hash: "abd2bd3a1fdf5dbdd5bfdcc84bad136c"
- }
- Key {
- type: 6
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4144
- hash: "f091e9b3d660c3664960f3fe6f624a1d"
- }
- Frame {
- msec: 4160
- hash: "f091e9b3d660c3664960f3fe6f624a1d"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4176
- hash: "f091e9b3d660c3664960f3fe6f624a1d"
- }
- Frame {
- msec: 4192
- hash: "f091e9b3d660c3664960f3fe6f624a1d"
- }
- Frame {
- msec: 4208
- hash: "f091e9b3d660c3664960f3fe6f624a1d"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4224
- hash: "bc9ae8ea7f8a7f1089263a20b4a5e826"
- }
- Frame {
- msec: 4240
- hash: "bc9ae8ea7f8a7f1089263a20b4a5e826"
- }
- Key {
- type: 7
- key: 85
- modifiers: 0
- text: "75"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4256
- hash: "bc9ae8ea7f8a7f1089263a20b4a5e826"
- }
- Frame {
- msec: 4272
- hash: "bc9ae8ea7f8a7f1089263a20b4a5e826"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4288
- hash: "bc9ae8ea7f8a7f1089263a20b4a5e826"
- }
- Frame {
- msec: 4304
- hash: "bc9ae8ea7f8a7f1089263a20b4a5e826"
- }
- Frame {
- msec: 4320
- hash: "bc9ae8ea7f8a7f1089263a20b4a5e826"
- }
- Frame {
- msec: 4336
- hash: "bc9ae8ea7f8a7f1089263a20b4a5e826"
- }
- Frame {
- msec: 4352
- hash: "bc9ae8ea7f8a7f1089263a20b4a5e826"
- }
- Frame {
- msec: 4368
- hash: "bc9ae8ea7f8a7f1089263a20b4a5e826"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4384
- hash: "f96b7c209a5e558543157cf5aa4ce69e"
- }
- Frame {
- msec: 4400
- hash: "f96b7c209a5e558543157cf5aa4ce69e"
- }
- Frame {
- msec: 4416
- hash: "f96b7c209a5e558543157cf5aa4ce69e"
- }
- Frame {
- msec: 4432
- hash: "f96b7c209a5e558543157cf5aa4ce69e"
- }
- Frame {
- msec: 4448
- hash: "f96b7c209a5e558543157cf5aa4ce69e"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4464
- hash: "f96b7c209a5e558543157cf5aa4ce69e"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4480
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4496
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4512
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4528
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4544
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4560
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4576
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4592
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 4608
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4624
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4640
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4656
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4672
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4688
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4704
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4720
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4736
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4752
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4768
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4784
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4800
- image: "usingMultilineEdit.4.png"
- }
- Frame {
- msec: 4816
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Frame {
- msec: 4832
- hash: "67facce41bc51af385bd8102a7e1285e"
- }
- Key {
- type: 6
- key: 63
- modifiers: 33554432
- text: "3f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4848
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 4864
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 4880
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 4896
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 4912
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 4928
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 4944
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Key {
- type: 7
- key: 63
- modifiers: 33554432
- text: "3f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4960
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 4976
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 4992
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5008
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5024
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5040
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5056
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5072
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5088
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5104
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5120
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5136
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5152
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5168
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5184
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5200
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5216
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5232
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5248
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5264
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5280
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5296
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5312
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5328
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5344
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5360
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5376
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5392
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5408
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5424
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5440
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5456
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5472
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5488
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5504
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5520
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5536
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5552
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5568
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5584
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5600
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5616
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5632
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5648
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5664
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5680
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5696
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5712
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5728
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5744
- hash: "a616e994d83964ff75d95b702f355937"
- }
- Frame {
- msec: 5760
- image: "usingMultilineEdit.5.png"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 48; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5776
- hash: "e9532a9023548cf5dfca3fdaeb3467e7"
- }
- Frame {
- msec: 5792
- hash: "e9532a9023548cf5dfca3fdaeb3467e7"
- }
- Frame {
- msec: 5808
- hash: "e9532a9023548cf5dfca3fdaeb3467e7"
- }
- Frame {
- msec: 5824
- hash: "e9532a9023548cf5dfca3fdaeb3467e7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5840
- hash: "e9532a9023548cf5dfca3fdaeb3467e7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5856
- hash: "3ee2836c3a2ff4c71d82dd261941883b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5872
- hash: "3ee2836c3a2ff4c71d82dd261941883b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5888
- hash: "3ee2836c3a2ff4c71d82dd261941883b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5904
- hash: "4e620c1b847274f691e80a384eac5320"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 58
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5920
- hash: "1a246aa1be0878c38da2eaac6befb738"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 69
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5936
- hash: "7d6d4a33aacd1d2f530834af31069793"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 62; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5952
- hash: "eba517141a4dc94025801fabc8c5e813"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5968
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 97
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5984
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 101
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6000
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6016
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 116
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6032
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6048
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 124
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6064
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 132
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6080
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 134
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6096
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 140
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6112
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6128
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6144
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6160
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 69; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6176
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6192
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Frame {
- msec: 6208
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Frame {
- msec: 6224
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Frame {
- msec: 6240
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Frame {
- msec: 6256
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6272
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6288
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6304
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 126
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6320
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 63; y: 98
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6336
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6352
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 72
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6368
- hash: "a0f4a1f253c763054ca7d9727d517e5c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 59; y: 58
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6384
- hash: "b6589493e0225846be0af57024e25d98"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6400
- hash: "b6589493e0225846be0af57024e25d98"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6416
- hash: "d8a1bee2a0e57944d8268a2ce7e6c3c1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 16
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 6
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6432
- hash: "a609d3c9cb375240e66dd316af27543c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -2
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6448
- hash: "0d376060ba0f9843ed814a8d8150d047"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: -23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6464
- hash: "9ad787bf41f0ab66beffff056a115c23"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6480
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6496
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6512
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6528
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6544
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6560
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6576
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6592
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Frame {
- msec: 6608
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Frame {
- msec: 6624
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Frame {
- msec: 6640
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Frame {
- msec: 6656
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Frame {
- msec: 6672
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -47
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6688
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: -45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 44; y: -42
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6704
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 44; y: -39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6720
- image: "usingMultilineEdit.6.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: -33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: -28
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6736
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: -21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6752
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: -18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: -14
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6768
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 49; y: -10
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6784
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: -6
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: -3
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6800
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: -1
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 0
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6816
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 2
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 3
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6832
- hash: "bc4cd74678c08403bb16b74630d0fd18"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6848
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 54; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6864
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6880
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 55; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6896
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 6912
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 6928
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 6944
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 6960
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 6976
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 6992
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 7008
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 7024
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 7040
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 7056
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 7072
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Frame {
- msec: 7088
- hash: "0e728de352bc8658bb3e2900a56bfad9"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 59; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7104
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7120
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7136
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7152
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7168
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 59; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7184
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7200
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7216
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7232
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7248
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7264
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7280
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7296
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7312
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7328
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7344
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7360
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7376
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7392
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7408
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7424
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7440
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7456
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7472
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7488
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7504
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7520
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7536
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7552
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Frame {
- msec: 7568
- hash: "c9b766ef3743159fdd7a01d3eeaa357b"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7584
- hash: "f8d7e167379a5109b1744727b3bb5050"
- }
- Frame {
- msec: 7600
- hash: "f8d7e167379a5109b1744727b3bb5050"
- }
- Frame {
- msec: 7616
- hash: "f8d7e167379a5109b1744727b3bb5050"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7632
- hash: "f8d7e167379a5109b1744727b3bb5050"
- }
- Frame {
- msec: 7648
- hash: "f8d7e167379a5109b1744727b3bb5050"
- }
- Frame {
- msec: 7664
- hash: "f8d7e167379a5109b1744727b3bb5050"
- }
- Frame {
- msec: 7680
- image: "usingMultilineEdit.7.png"
- }
- Frame {
- msec: 7696
- hash: "f8d7e167379a5109b1744727b3bb5050"
- }
- Frame {
- msec: 7712
- hash: "f8d7e167379a5109b1744727b3bb5050"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7728
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7744
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7760
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7776
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7792
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7808
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7824
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7840
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7856
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7872
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7888
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7904
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7920
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7936
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Frame {
- msec: 7952
- hash: "d1f43fa2f710725527736ac3439577df"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 7968
- hash: "1553d42725394fa4d4c9b97dc12a78b9"
- }
- Frame {
- msec: 7984
- hash: "1553d42725394fa4d4c9b97dc12a78b9"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 8000
- hash: "a62df700f3209668a813e765a79e7859"
- }
- Frame {
- msec: 8016
- hash: "a62df700f3209668a813e765a79e7859"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 8032
- hash: "e8928770969b82523e828e3036bbe106"
- }
- Frame {
- msec: 8048
- hash: "e8928770969b82523e828e3036bbe106"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 0
- text: ""
- autorep: true
- count: 1
- }
- Frame {
- msec: 8064
- hash: "ba0c406580cc0fa02a6b26367a290ec9"
- }
- Frame {
- msec: 8080
- hash: "ba0c406580cc0fa02a6b26367a290ec9"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8096
- hash: "ba0c406580cc0fa02a6b26367a290ec9"
- }
- Frame {
- msec: 8112
- hash: "ba0c406580cc0fa02a6b26367a290ec9"
- }
- Frame {
- msec: 8128
- hash: "ba0c406580cc0fa02a6b26367a290ec9"
- }
- Frame {
- msec: 8144
- hash: "ba0c406580cc0fa02a6b26367a290ec9"
- }
- Frame {
- msec: 8160
- hash: "ba0c406580cc0fa02a6b26367a290ec9"
- }
- Frame {
- msec: 8176
- hash: "ba0c406580cc0fa02a6b26367a290ec9"
- }
- Frame {
- msec: 8192
- hash: "ba0c406580cc0fa02a6b26367a290ec9"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8208
- hash: "479b5ba3f5b3d38b5e9aba6b5204da03"
- }
- Frame {
- msec: 8224
- hash: "479b5ba3f5b3d38b5e9aba6b5204da03"
- }
- Frame {
- msec: 8240
- hash: "479b5ba3f5b3d38b5e9aba6b5204da03"
- }
- Frame {
- msec: 8256
- hash: "479b5ba3f5b3d38b5e9aba6b5204da03"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8272
- hash: "479b5ba3f5b3d38b5e9aba6b5204da03"
- }
- Frame {
- msec: 8288
- hash: "479b5ba3f5b3d38b5e9aba6b5204da03"
- }
- Frame {
- msec: 8304
- hash: "479b5ba3f5b3d38b5e9aba6b5204da03"
- }
- Frame {
- msec: 8320
- hash: "479b5ba3f5b3d38b5e9aba6b5204da03"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8336
- hash: "978ed05f4ea2cc7ddb06807a25883335"
- }
- Frame {
- msec: 8352
- hash: "978ed05f4ea2cc7ddb06807a25883335"
- }
- Frame {
- msec: 8368
- hash: "978ed05f4ea2cc7ddb06807a25883335"
- }
- Frame {
- msec: 8384
- hash: "978ed05f4ea2cc7ddb06807a25883335"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8400
- hash: "978ed05f4ea2cc7ddb06807a25883335"
- }
- Frame {
- msec: 8416
- hash: "978ed05f4ea2cc7ddb06807a25883335"
- }
- Frame {
- msec: 8432
- hash: "978ed05f4ea2cc7ddb06807a25883335"
- }
- Frame {
- msec: 8448
- hash: "978ed05f4ea2cc7ddb06807a25883335"
- }
- Frame {
- msec: 8464
- hash: "978ed05f4ea2cc7ddb06807a25883335"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8480
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8496
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8512
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8528
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8544
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8560
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8576
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8592
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8608
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8624
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8640
- image: "usingMultilineEdit.8.png"
- }
- Frame {
- msec: 8656
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 8672
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8688
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8704
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8720
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8736
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8752
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8768
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8784
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8800
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8816
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8832
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8848
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8864
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8880
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8896
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8912
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8928
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8944
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8960
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8976
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 8992
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9008
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9024
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9040
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9056
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9072
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9088
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9104
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9120
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9136
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9152
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9168
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9184
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9200
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 70; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9216
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9232
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9248
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9264
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9280
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 70; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9296
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9312
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9328
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9344
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9360
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9376
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9392
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9408
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9424
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Frame {
- msec: 9440
- hash: "b65c439a091d3293352de410d28aaca1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 71; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9456
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9472
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9488
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9504
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9520
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9536
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 71; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9552
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9568
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9584
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9600
- image: "usingMultilineEdit.9.png"
- }
- Frame {
- msec: 9616
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9632
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9648
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9664
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 9680
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9696
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9712
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9728
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9744
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9760
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9776
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9792
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9808
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9824
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9840
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9856
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9872
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9888
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9904
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9920
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9936
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9952
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9968
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 9984
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10000
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10016
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10032
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10048
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10064
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10080
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10096
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Key {
- type: 6
- key: 16777237
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10112
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10128
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10144
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10160
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10176
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10192
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10208
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10224
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Key {
- type: 7
- key: 16777237
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10240
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10256
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10272
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10288
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10304
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10320
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10336
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Frame {
- msec: 10352
- hash: "8d9ca5bff73c2c93a0db5787ca7ef76b"
- }
- Key {
- type: 6
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10368
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10384
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10400
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10416
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10432
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10448
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Key {
- type: 7
- key: 16777235
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10464
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10480
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10496
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10512
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10528
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10544
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10560
- image: "usingMultilineEdit.10.png"
- }
- Frame {
- msec: 10576
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10592
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10608
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10624
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10640
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 10656
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10672
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10688
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10704
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10720
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10736
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10752
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10768
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10784
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10800
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10816
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10832
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10848
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10864
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10880
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10896
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10912
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10928
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10944
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10960
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10976
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 10992
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11008
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11024
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11040
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11056
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11072
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11088
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11104
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11120
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11136
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11152
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11168
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11184
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11200
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11216
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11232
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11248
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11264
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11280
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11296
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11312
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11328
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11344
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11360
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11376
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11392
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11408
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11424
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11440
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11456
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11472
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11488
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11504
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11520
- image: "usingMultilineEdit.11.png"
- }
- Frame {
- msec: 11536
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11552
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11568
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11584
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11600
- hash: "3d08eff16edf54f522a75df1734150df"
- }
- Frame {
- msec: 11616
- hash: "3d08eff16edf54f522a75df1734150df"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.0.png
deleted file mode 100644
index ec65f494b6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.1.png
deleted file mode 100644
index ec65f494b6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.2.png
deleted file mode 100644
index ec65f494b6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.3.png
deleted file mode 100644
index ec65f494b6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.4.png
deleted file mode 100644
index ec65f494b6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.5.png
deleted file mode 100644
index ec65f494b6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.6.png
deleted file mode 100644
index ec65f494b6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.qml
deleted file mode 100644
index 2e755a4f30..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/data/wrap.qml
+++ /dev/null
@@ -1,2467 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 84
- modifiers: 33554432
- text: "54"
- autorep: false
- count: 1
- }
- Frame {
- msec: 32
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 48
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 64
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 80
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 96
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 112
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 128
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 144
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 160
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 176
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 192
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 208
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 224
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 240
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 256
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 272
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 288
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 304
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 320
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 336
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 352
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 368
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 384
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 400
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 416
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 432
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 448
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 464
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 480
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 496
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 512
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 528
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 560
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 576
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 592
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 608
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 624
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 640
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 656
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 672
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 688
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 704
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 720
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 736
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 752
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 768
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 784
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 800
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 816
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 832
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 848
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 864
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 880
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 896
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 912
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 928
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 944
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 960
- image: "wrap.0.png"
- }
- Frame {
- msec: 976
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 992
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1008
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1024
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1040
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1056
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1072
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1088
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1104
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1120
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1136
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1152
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1168
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1184
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1200
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1216
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1232
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1248
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1264
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1280
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1296
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1312
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1328
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1344
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1360
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1376
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1392
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1408
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1424
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1440
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1456
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1472
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1488
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1504
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1520
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1536
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1552
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1568
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1584
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1600
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1616
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1632
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 72
- modifiers: 0
- text: "68"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1648
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1664
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1680
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1696
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1712
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1728
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1744
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1760
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1776
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1808
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1824
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1840
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1856
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1872
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1888
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1904
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1920
- image: "wrap.1.png"
- }
- Frame {
- msec: 1936
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1952
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1968
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 1984
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2000
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2016
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2032
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2048
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2080
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2096
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2112
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2128
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2144
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2160
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2176
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2192
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2208
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 88
- modifiers: 0
- text: "78"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2224
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2240
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2256
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2272
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2288
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2304
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 88
- modifiers: 0
- text: "78"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2320
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2336
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2352
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2384
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2400
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2416
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2432
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2464
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2480
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2496
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2512
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2528
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2544
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2560
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2576
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2592
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2608
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2624
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2640
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2656
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2672
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2688
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2704
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2720
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2736
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2752
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2768
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2784
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2800
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2816
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2832
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 73
- modifiers: 0
- text: "69"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2848
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2864
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2880
- image: "wrap.2.png"
- }
- Frame {
- msec: 2896
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2912
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2928
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2944
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2960
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2976
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 2992
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3008
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3024
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3040
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3056
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3072
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3088
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3104
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3120
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3136
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3152
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3168
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3184
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3200
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3216
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3232
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3248
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3264
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3280
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3296
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3312
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3328
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3344
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3360
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3376
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3392
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3408
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3424
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3440
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3456
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3472
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3488
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3504
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3520
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3536
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 80
- modifiers: 0
- text: "70"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3552
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3568
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3584
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3600
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3616
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3632
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3648
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3664
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3680
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3696
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3712
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3728
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3744
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3760
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3776
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3792
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3808
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3824
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3840
- image: "wrap.3.png"
- }
- Frame {
- msec: 3856
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3872
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3888
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3904
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3920
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3936
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3952
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3968
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 3984
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4000
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4016
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4032
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4048
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4064
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4080
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4096
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4112
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4128
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4144
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4160
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4176
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4192
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4208
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4224
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4240
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4256
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4272
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4288
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 82
- modifiers: 0
- text: "72"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4304
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4320
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4336
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4352
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4368
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4384
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4400
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4416
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4432
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4448
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4464
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4480
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4496
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4512
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4528
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4544
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4560
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4576
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4592
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4608
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 84
- modifiers: 0
- text: "74"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4624
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4640
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4656
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4672
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4688
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4704
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4720
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4736
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4752
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4768
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4784
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4800
- image: "wrap.4.png"
- }
- Frame {
- msec: 4816
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4832
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4848
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4864
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4880
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 6
- key: 46
- modifiers: 0
- text: "2e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4896
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4912
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4928
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4944
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Key {
- type: 7
- key: 46
- modifiers: 0
- text: "2e"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4960
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4976
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 4992
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5008
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5024
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5040
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5056
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5072
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5088
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5104
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5120
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5136
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5152
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5168
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5184
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5200
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5216
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5232
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5248
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5264
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5280
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5296
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5312
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5328
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5344
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5360
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5376
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5392
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5408
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5424
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5440
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5456
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5472
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5488
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5504
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5520
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5536
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5552
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5568
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5584
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5600
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5616
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5632
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5648
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5664
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5680
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5696
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5712
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5728
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5744
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5760
- image: "wrap.5.png"
- }
- Frame {
- msec: 5776
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5792
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5808
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5824
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5840
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5856
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5872
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5888
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5904
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5920
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5936
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5952
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5968
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 5984
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6000
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6016
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6032
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6048
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6064
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6080
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6096
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6112
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6128
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6144
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6160
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6176
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6192
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6208
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6224
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6240
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6256
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6272
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6288
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6304
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6320
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6336
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6352
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6368
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6384
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6400
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6416
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6432
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6448
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6464
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6480
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6496
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6512
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6528
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6544
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6560
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6576
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6592
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6608
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6624
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6640
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6656
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6672
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6688
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6704
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6720
- image: "wrap.6.png"
- }
- Frame {
- msec: 6736
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6752
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6768
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6784
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6800
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6816
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6832
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6848
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
- Frame {
- msec: 6864
- hash: "e165a0b90fdc1eef2c8244ad8545bd6f"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/flickableEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/flickableEdit.qml
deleted file mode 100644
index 6913fdd7ee..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/flickableEdit.qml
+++ /dev/null
@@ -1,20 +0,0 @@
-import QtQuick 1.0
-
-Flickable {
- width: 200
- height: 50
- contentWidth: 400
-
- Column {
- anchors.fill: parent
-
- TextEdit {
- selectByMouse: true
- text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- }
- TextEdit {
- selectByMouse: false
- text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/justify.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/justify.qml
deleted file mode 100644
index 4aeb58c352..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/justify.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Rectangle {
- width: 450
- height: 250
-
- TestTextEdit {
- anchors.fill: parent
- anchors { leftMargin: 10; rightMargin: 10; topMargin:10; bottomMargin: 10 }
- wrapMode: Text.Wrap
- horizontalAlignment: Text.AlignJustify
-
- text: "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin a aliquet massa. Integer id velit a nibh imperdiet sagittis. Cras fringilla enim non nulla porta bibendum. Integer risus urna, hendrerit non interdum ut, dapibus id velit. Nullam fermentum viverra pellentesque. In molestie scelerisque lorem molestie ultrices. Curabitur dolor arcu, tristique in sodales in, varius sed diam. Quisque magna velit, tincidunt sed ullamcorper sit amet, ornare adipiscing ligula. In hac habitasse platea dictumst. Ut tincidunt urna vel mauris fermentum ornare quis a ligula. Suspendisse cursus volutpat sapien eget cursus."
-
- Rectangle {
- anchors.fill: parent
- color: "transparent"
- border.color: "red"
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/linkActivated.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/linkActivated.qml
deleted file mode 100644
index 177d475199..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/linkActivated.qml
+++ /dev/null
@@ -1,15 +0,0 @@
-import QtQuick 1.1
-
-Rectangle{
- width: 100
- height: 100
- TextEdit{
- text: '<a href="clicked">Click Me</a> '
- onLinkActivated: txt.text=link;
- }
- Text{
- id: txt
- y:50
- text: "unknown"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/qt-669.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/qt-669.qml
deleted file mode 100644
index 5f80234646..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/qt-669.qml
+++ /dev/null
@@ -1,19 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Rectangle {
- Component { id: testableCursor
- //This shouldn't blink
- Rectangle {
- color:"black"
- width:1
- }
- }
- width:300;
- height:40;
- TestTextEdit {
- focus: true;
- cursorDelegate: testableCursor
- text: "Jackdaws love my big sphinx of Quartz"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/usingMultilineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/usingMultilineEdit.qml
deleted file mode 100644
index bf5e7a0198..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/usingMultilineEdit.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import QtQuick 1.0
-
-Rectangle{
- width: 280
- height: 140
- Column {
- MultilineEdit {
- text: 'I am the very model of a modern major general. I\'ve information vegetable, animal and mineral. I know the kings of england and I quote the fights historical - from Marathon to Waterloo in order categorical.';
- width: 182; height: 60;
- }
- Rectangle {height: 20; width: 20;}//Spacer
- MultilineEdit {text: 'Hello world'}
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml
deleted file mode 100644
index 63400f1b35..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextedit/wrap.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Item {
- height:400
- width: 200
- TestTextEdit {
- width: 200
- height: 100
- wrapMode: TextEdit.WordWrap
- focus: true
- }
- //With QTBUG-6273 only the bottom one would be wrapped
- TestTextEdit {
- width: 200
- height: 100
- wrapMode: TextEdit.WordWrap
- text: "This is a test that text edit wraps correctly."
- y:100
- }
- TestTextEdit {
- width: 150
- height: 100
- wrapMode: TextEdit.WrapAnywhere
- text: "This is a test that text edit wraps correctly. thisisaverylongstringwithnospaces"
- y:200
- }
- TestTextEdit {
- width: 150
- height: 100
- wrapMode: TextEdit.Wrap
- text: "This is a test that text edit wraps correctly. thisisaverylongstringwithnospaces"
- y:300
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
deleted file mode 100644
index 6789eac28b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/LineEdit.qml
+++ /dev/null
@@ -1,69 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Item {
- id:lineedit
- property alias text: textInp.text
-
- width: textInp.width + 11
- height: 13 + 11
-
- Rectangle {
- color: 'lightsteelblue'
- anchors.fill: parent
- }
- clip: true
- Component.onCompleted: textInp.cursorPosition = 0;
- TestTextInput {
- id:textInp
- cursorDelegate: Item {
- Rectangle {
- visible: parent.parent.focus
- color: "#009BCE"
- height: 13
- width: 2
- y: 1
- }
- }
- property int leftMargin: 6
- property int rightMargin: 6
- x: leftMargin
- y: 5
- //Below function implements all scrolling logic
- onCursorPositionChanged: {
- if(cursorRectangle.x < leftMargin - textInp.x){//Cursor went off the front
- textInp.x = leftMargin - Math.max(0, cursorRectangle.x);
- }else if(cursorRectangle.x > parent.width - leftMargin - rightMargin - textInp.x){//Cusor went off the end
- textInp.x = leftMargin - Math.max(0, cursorRectangle.x - (parent.width - leftMargin - rightMargin));
- }
- }
-
- autoScroll: false //It is preferable to implement your own scrolling
- text:""
- horizontalAlignment: TextInput.AlignLeft
- font.pixelSize:15
- selectionColor: 'steelblue'
- }
- MouseArea {
- //Implements all line edit mouse handling
- id: mainMouseArea
- anchors.fill: parent;
- function translateX(x){
- return x - textInp.x
- }
- onPressed: {
- textInp.focus = true;
- textInp.cursorPosition = textInp.positionAt(translateX(mouse.x));
- }
- onPositionChanged: {
- textInp.moveCursorSelection(textInp.positionAt(translateX(mouse.x)));
- }
- onReleased: {
- }
- onDoubleClicked: {
- textInp.selectAll()
- }
- z: textInp.z + 1
- }
-
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/cursorDelegate.qml
deleted file mode 100644
index f2a34b7cc5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/cursorDelegate.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Rectangle {
- resources: [
- Component { id: cursorA
- Item { id: cPage;
- Behavior on x { NumberAnimation { } }
- Behavior on y { NumberAnimation { } }
- Behavior on height { NumberAnimation { duration: 200 } }
- Rectangle { id: cRectangle; color: "black"; y: 1; width: 1; height: parent.height-2;
- Rectangle { id:top; color: "black"; width: 3; height: 1; x: -1; y:0}
- Rectangle { id:bottom; color: "black"; width: 3; height: 1; x: -1; anchors.bottom: parent.bottom;}
- opacity: 1
- SequentialAnimation on opacity { running: cPage.parent.focus == true; loops: Animation.Infinite;
- NumberAnimation { to: 1; duration: 500; easing.type: "InQuad"}
- NumberAnimation { to: 0; duration: 500; easing.type: "OutQuad"}
- }
- }
- width: 1;
- }
- }
- ]
- width: 400
- height: 200
- color: "white"
- TestTextInput { id: mainText
- text: "Hello World"
- cursorDelegate: cursorA
- focus: true
- font.pixelSize: 28
- selectionColor: "lightsteelblue"
- selectedTextColor: "deeppink"
- color: "forestgreen"
- anchors.centerIn: parent
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png
deleted file mode 100644
index b65bc372f9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png
deleted file mode 100644
index ebaa01161b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png
deleted file mode 100644
index 57ee3706d4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png
deleted file mode 100644
index 4b70b4a584..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png
deleted file mode 100644
index 18ae753c8f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png
deleted file mode 100644
index 2b463f0d92..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png
deleted file mode 100644
index 7331f89f0d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png
deleted file mode 100644
index 968bdd2d3f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png
deleted file mode 100644
index 9a3436a0d4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml
deleted file mode 100644
index 6b8ba9b1b7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/cursorDelegate.qml
+++ /dev/null
@@ -1,1551 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "cursorDelegate.0.png"
- }
- Frame {
- msec: 32
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 48
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 64
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 80
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 96
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 112
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 128
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 144
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 160
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 176
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 192
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 208
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 224
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 240
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 256
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 272
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 288
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 304
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 320
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 336
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 352
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 368
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 384
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 400
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 416
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 432
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Frame {
- msec: 448
- hash: "a7af287992f894f9cf76e834b922f5b3"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 464
- hash: "74b6ebfbe8246f0b2b43f88d9f6028d1"
- }
- Frame {
- msec: 480
- hash: "74b6ebfbe8246f0b2b43f88d9f6028d1"
- }
- Frame {
- msec: 496
- hash: "74b6ebfbe8246f0b2b43f88d9f6028d1"
- }
- Frame {
- msec: 512
- hash: "74b6ebfbe8246f0b2b43f88d9f6028d1"
- }
- Frame {
- msec: 528
- hash: "0f0e9ced5d2f9f20a2b5f1b5bde0be62"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "bec7fff73d6d869d2d15b3ea35fa0605"
- }
- Frame {
- msec: 560
- hash: "e3afffc91ed0a78a0022421e6d1bd0d2"
- }
- Frame {
- msec: 576
- hash: "45f44411121d335ed7a844803313e566"
- }
- Frame {
- msec: 592
- hash: "b951279da53fe76ab62ca9837ecbd7a6"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 608
- hash: "b5678202f08099b09ce88cef5eeea20a"
- }
- Frame {
- msec: 624
- hash: "93f6663d083a2bd3b4079241f3fc0159"
- }
- Frame {
- msec: 640
- hash: "8c802943d3030214cb7af7fd1db1c813"
- }
- Frame {
- msec: 656
- hash: "01396c0332523ba2a8971a99c6962516"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 672
- hash: "fc5dd253219d1a8aca7fcf31be0e7d69"
- }
- Frame {
- msec: 688
- hash: "545071a58d8db4f73e1cb6981e9ec62e"
- }
- Frame {
- msec: 704
- hash: "13bc1aa8ce4fc3d9ba9a6c3046e14c92"
- }
- Frame {
- msec: 720
- hash: "ba7d13545fb7384dcb3edd32979c9442"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 736
- hash: "8f9e1abd8eb2d072907b910630e93c9a"
- }
- Frame {
- msec: 752
- hash: "003d0e4a01909aa51cb1967738383ede"
- }
- Frame {
- msec: 768
- hash: "223cce18cef44b3945d0a1d45554c5c1"
- }
- Frame {
- msec: 784
- hash: "fcd7f862bdce75d7e6df574ff0146ca6"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 800
- hash: "21f5e3696987222106b00f0efe3bb165"
- }
- Frame {
- msec: 816
- hash: "6380ce26303da8180dff8fcc88caaf1d"
- }
- Frame {
- msec: 832
- hash: "52bfa995405a3d6523d97b2c36428d89"
- }
- Frame {
- msec: 848
- hash: "7169d69c2adb50bf80c075e30eb8e965"
- }
- Frame {
- msec: 864
- hash: "f5ad55885a4fc2b47a5420e9e0d7c59c"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 880
- hash: "831081f829df0a226c75389bc457a768"
- }
- Frame {
- msec: 896
- hash: "2306a9c9cb570bc922f120f2f63e26e4"
- }
- Frame {
- msec: 912
- hash: "23d6728fe34436e53a449e26962c3ad5"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 928
- hash: "db2de48337701cbb36a14e32f1846683"
- }
- Frame {
- msec: 944
- hash: "04bb83a694d293fd4ba956fc79db79e7"
- }
- Frame {
- msec: 960
- hash: "7a1a71b2d7e42934163990d5c011c464"
- }
- Frame {
- msec: 976
- image: "cursorDelegate.1.png"
- }
- Frame {
- msec: 992
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1008
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 1024
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 1040
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1056
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 1072
- hash: "20f1db4245d1689e980371d7b1bcb903"
- }
- Frame {
- msec: 1088
- hash: "6a3629223845d352ba02e3ad8569f698"
- }
- Frame {
- msec: 1104
- hash: "ee3dd4535fcf24249c41ebebb5f4fca6"
- }
- Frame {
- msec: 1120
- hash: "7bf5df6a807da0c8d316420ced34e267"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1136
- hash: "4f5ce98428d5fba11a6322f88cab14c3"
- }
- Frame {
- msec: 1152
- hash: "14406e8d0e120a0f30864fa8793f2e8d"
- }
- Frame {
- msec: 1168
- hash: "6e891d584ce4f636708cee1111193878"
- }
- Frame {
- msec: 1184
- hash: "cd6bbc72108cfffd043a31d0d3655851"
- }
- Frame {
- msec: 1200
- hash: "d4069e606ab2b10c90e6f567be462c10"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1216
- hash: "de8e00d6116b1aa900478a41c7ac78f1"
- }
- Frame {
- msec: 1232
- hash: "5a0c4e31eb9ecb2ffc9380d474861846"
- }
- Frame {
- msec: 1248
- hash: "bbacdb359c6206b50a859169b106ec92"
- }
- Frame {
- msec: 1264
- hash: "c4f4ed5a4842f1bbdda67a27d74fd5f4"
- }
- Frame {
- msec: 1280
- hash: "4deb6d0a83b14abef80f2bfa0491cbd0"
- }
- Frame {
- msec: 1296
- hash: "9caca7068ce5b289d70c39667e87a57f"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1312
- hash: "e3ca7a8a860efc3811b8befe0a97d7f1"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1328
- hash: "ddb3dcb40f412c087d0ae21b5a8e47aa"
- }
- Frame {
- msec: 1344
- hash: "325d8356c3e14467c54d03d096a3c1a5"
- }
- Frame {
- msec: 1360
- hash: "83f4c541b94180863e538e6c0a0e1ae0"
- }
- Frame {
- msec: 1376
- hash: "16623dc34067800f3c7d6aabe1076927"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1392
- hash: "e7319b080b621c5d176d6913cd9a8f7e"
- }
- Frame {
- msec: 1408
- hash: "353a200418b2cc0fbe925329224e658a"
- }
- Frame {
- msec: 1424
- hash: "98fd3f1fc108de1d78f07587f9e94ec4"
- }
- Frame {
- msec: 1440
- hash: "f75fbda5a1403f7b1dd8e9d05e30ebeb"
- }
- Frame {
- msec: 1456
- hash: "c2742ff9a04bbae6c6de13f08d514913"
- }
- Frame {
- msec: 1472
- hash: "a73b65c18ba10e6b6d310fc325d7ccb2"
- }
- Frame {
- msec: 1488
- hash: "bbe72b26a6f3f518a3c8b6cd9e8dbfd1"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1504
- hash: "679205439a359f3ffb05f631a1979596"
- }
- Frame {
- msec: 1520
- hash: "7ada5f6a58a6a7f9a3b4199a412fccfd"
- }
- Frame {
- msec: 1536
- hash: "66749c0e5b97cec02f4908a709201604"
- }
- Frame {
- msec: 1552
- hash: "373bfac053f5cfeceabe2979f3e6f444"
- }
- Frame {
- msec: 1568
- hash: "c7ab2bcdcd1b7fd25ac775c4dd382635"
- }
- Frame {
- msec: 1584
- hash: "3116b1a0cf1724bdae2cb71b9e15c73e"
- }
- Frame {
- msec: 1600
- hash: "9bdc4513c30bf2d1eca61317cc22ebaa"
- }
- Frame {
- msec: 1616
- hash: "bbecf871ff569ac1020272c1ccc9aa14"
- }
- Frame {
- msec: 1632
- hash: "beef5a84dcc7794cf0aabfc8b7f811bc"
- }
- Frame {
- msec: 1648
- hash: "2db7161f3591ef0b3f1e3cb2aa357c8b"
- }
- Frame {
- msec: 1664
- hash: "b8b5ffef5e52a8ae94ddb5ec3328fa0e"
- }
- Frame {
- msec: 1680
- hash: "b65c4657ffb97a59455f2c3e23e3eb51"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1696
- hash: "9702981b8eb5f035f2f4da6708ad1a92"
- }
- Frame {
- msec: 1712
- hash: "a6f46dd869daf69c5a5a3c887ae35a05"
- }
- Frame {
- msec: 1728
- hash: "902c0f174b16b1b0d419c13220937e06"
- }
- Frame {
- msec: 1744
- hash: "97a5ea7449a1f313d0d5e818edc29bf6"
- }
- Frame {
- msec: 1760
- hash: "d5b69638452ea2260861c17991fc8bef"
- }
- Frame {
- msec: 1776
- hash: "5fa21c53d65b078d1b30830d99a0fbaf"
- }
- Frame {
- msec: 1792
- hash: "668de1d2fa5780f5088637d919db0a0d"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1808
- hash: "1989592754c28456aa917562fa3620bd"
- }
- Frame {
- msec: 1824
- hash: "89cd0ef7c366bbcee8e4404e9a2285a7"
- }
- Frame {
- msec: 1840
- hash: "d062d4b132ee3086a00220d47e8907fc"
- }
- Frame {
- msec: 1856
- hash: "198bd9fc763c70fb84bdae122f0bdd8b"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1872
- hash: "304f7f6cef5b09c09db1284b8095e9a2"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1888
- hash: "565003fef7b9810ffe95c3bbeeda5bbc"
- }
- Frame {
- msec: 1904
- hash: "2fa85a19ba2bb7d04264a246c4982eb4"
- }
- Frame {
- msec: 1920
- hash: "7be44eca358924dc11c5123e406f1c99"
- }
- Frame {
- msec: 1936
- image: "cursorDelegate.2.png"
- }
- Frame {
- msec: 1952
- hash: "a08502b3fbb425c7b1cad93e4bc5701e"
- }
- Frame {
- msec: 1968
- hash: "fba3a88b7fe6f7583daf07db78f3598c"
- }
- Frame {
- msec: 1984
- hash: "509d75aa56bcdb6718c18b56e138ef3c"
- }
- Frame {
- msec: 2000
- hash: "509d75aa56bcdb6718c18b56e138ef3c"
- }
- Frame {
- msec: 2016
- hash: "509d75aa56bcdb6718c18b56e138ef3c"
- }
- Frame {
- msec: 2032
- hash: "509d75aa56bcdb6718c18b56e138ef3c"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2048
- hash: "509d75aa56bcdb6718c18b56e138ef3c"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "fba3a88b7fe6f7583daf07db78f3598c"
- }
- Frame {
- msec: 2080
- hash: "a08502b3fbb425c7b1cad93e4bc5701e"
- }
- Frame {
- msec: 2096
- hash: "86ad5a9e06d19ea79e0fc9f7f36cdb0f"
- }
- Frame {
- msec: 2112
- hash: "7be44eca358924dc11c5123e406f1c99"
- }
- Frame {
- msec: 2128
- hash: "2fa85a19ba2bb7d04264a246c4982eb4"
- }
- Frame {
- msec: 2144
- hash: "565003fef7b9810ffe95c3bbeeda5bbc"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "39c81c6efdbc32b6e0378810404bef2c"
- }
- Frame {
- msec: 2176
- hash: "756f36cf41c2bae3a8a8716701e55e37"
- }
- Frame {
- msec: 2192
- hash: "fb09d44a5a5b5b795d562512e9547301"
- }
- Frame {
- msec: 2208
- hash: "183538d04cf009f100a1e49a3229c143"
- }
- Frame {
- msec: 2224
- hash: "2ec91bfdb0f106a526f6bde3eb0ed7ce"
- }
- Frame {
- msec: 2240
- hash: "f34175acc261ad79bc9d2083af04ae10"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2256
- hash: "39a59b2e9e0bee87d3ba50e1408bea1c"
- }
- Frame {
- msec: 2272
- hash: "db61ba19d56b69d148aeb182de596713"
- }
- Frame {
- msec: 2288
- hash: "e0b07106a5adc1603788444d48b9c3db"
- }
- Frame {
- msec: 2304
- hash: "1dd5625fb6a0ddbaa3919a1702695e9c"
- }
- Frame {
- msec: 2320
- hash: "d7d39e8f717bab17aaf8a12e4f9e0dfc"
- }
- Frame {
- msec: 2336
- hash: "d7a226b40a049dee56755af9206246b4"
- }
- Frame {
- msec: 2352
- hash: "37d2d2830f6ae6bf0c8fb29c5d4f521a"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "21008b3a5179e25f9b132a4c05b8b8c4"
- }
- Frame {
- msec: 2384
- hash: "a6f05fb5206a456bea790ba7ba31868c"
- }
- Frame {
- msec: 2400
- hash: "754e2fca1b3ed5ee9875aafb1a0c62d3"
- }
- Frame {
- msec: 2416
- hash: "75d1ae9c60573f9e27cd7c2d1706cbfc"
- }
- Frame {
- msec: 2432
- hash: "c78608cde907bc09760d858795b43bbf"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "348438b012690f63956e6a865c4173c5"
- }
- Frame {
- msec: 2464
- hash: "b0c970656fdb5af48efc4bf0e1879f36"
- }
- Frame {
- msec: 2480
- hash: "7291a68c8e790f58e2440dfbe896c36d"
- }
- Frame {
- msec: 2496
- hash: "9bcbf9f7b35987c3acbd80031a688279"
- }
- Frame {
- msec: 2512
- hash: "48a00bd3f844e863338898bd28d845a4"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2528
- hash: "dc5f63ee9e8d50f744f7b375a52e32c3"
- }
- Frame {
- msec: 2544
- hash: "f52d2f475a335a75fad0a0f84e812809"
- }
- Frame {
- msec: 2560
- hash: "bc54cefc8f0b84fc2432b0fb01203b9c"
- }
- Frame {
- msec: 2576
- hash: "e6f14d1181a0db90d2c2891fd6e82883"
- }
- Frame {
- msec: 2592
- hash: "1edc2fff7b3d76bbe2615810a5d15d41"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2608
- hash: "5bc156937a29989a3a39761b58958fbd"
- }
- Frame {
- msec: 2624
- hash: "071d45235a669e870356efc60ba8016c"
- }
- Frame {
- msec: 2640
- hash: "1d588fb1f8321e4b437f924077fa7d60"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2656
- hash: "ca9aff6590dda45a66cdca601dccaf59"
- }
- Frame {
- msec: 2672
- hash: "2553146fff0d367cc6fa2d11f0a5c83a"
- }
- Frame {
- msec: 2688
- hash: "05bd919cd91ff449027b188d9a24b61f"
- }
- Frame {
- msec: 2704
- hash: "35d6ce9ecef79d006d6416c3b0d75e79"
- }
- Frame {
- msec: 2720
- hash: "1459a2410a971e344d4dacccff1eb7da"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2736
- hash: "bd04cc87db0138b57bf0feeafa7630f5"
- }
- Frame {
- msec: 2752
- hash: "81521187d5d88b62f4f7578ea4ee5f68"
- }
- Frame {
- msec: 2768
- hash: "f2f8d1e8232787da1e36d7e8a27b6d93"
- }
- Frame {
- msec: 2784
- hash: "a5dbd1f572419ca4a4b91629e522867f"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2800
- hash: "23ab256301d7190f56c4f0af7f57bcc2"
- }
- Frame {
- msec: 2816
- hash: "3a106a01b1cf6b53b5f8721415538f15"
- }
- Frame {
- msec: 2832
- hash: "881f4de48cf79636f5cb292f4cacf842"
- }
- Frame {
- msec: 2848
- hash: "4abe8abf4f29a31220c03af143ef9978"
- }
- Frame {
- msec: 2864
- hash: "50db0e06ceb12795d3e11b2c4a04df9c"
- }
- Frame {
- msec: 2880
- hash: "39f759d5b58ffdaa79d438f932a72582"
- }
- Frame {
- msec: 2896
- image: "cursorDelegate.3.png"
- }
- Frame {
- msec: 2912
- hash: "0cf83e3a000b8ae6a21ef64e5470430f"
- }
- Frame {
- msec: 2928
- hash: "07116cd7cf46fc692542ac57c3e30aea"
- }
- Frame {
- msec: 2944
- hash: "bd92a36fad90de909b5a29a6fead2160"
- }
- Frame {
- msec: 2960
- hash: "95c4d0cc52903dc70c9118e26cd58b7b"
- }
- Frame {
- msec: 2976
- hash: "cb6ca047657a99dbbb037c1c45b40866"
- }
- Frame {
- msec: 2992
- hash: "cb6ca047657a99dbbb037c1c45b40866"
- }
- Frame {
- msec: 3008
- hash: "cb6ca047657a99dbbb037c1c45b40866"
- }
- Frame {
- msec: 3024
- hash: "cb6ca047657a99dbbb037c1c45b40866"
- }
- Frame {
- msec: 3040
- hash: "cb6ca047657a99dbbb037c1c45b40866"
- }
- Frame {
- msec: 3056
- hash: "cb6ca047657a99dbbb037c1c45b40866"
- }
- Frame {
- msec: 3072
- hash: "95c4d0cc52903dc70c9118e26cd58b7b"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3088
- hash: "f9e0bd08b722c16493a8886a19920dda"
- }
- Frame {
- msec: 3104
- hash: "0636b7c5cc215882c60b50f62133c715"
- }
- Frame {
- msec: 3120
- hash: "150b5a2f2e916b7023764c481c768492"
- }
- Frame {
- msec: 3136
- hash: "14bc879f562ace9d2d1a3f3980a72e1f"
- }
- Frame {
- msec: 3152
- hash: "2bdc09121f13e95e15e331ac90fbbe5e"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3168
- hash: "b701aa41aff9df45cc4b35d23789ad46"
- }
- Frame {
- msec: 3184
- hash: "ad77330d51b1251576905a45fdbdf576"
- }
- Frame {
- msec: 3200
- hash: "4ab6780997a5a598d2da7fbbc19877b7"
- }
- Frame {
- msec: 3216
- hash: "43b324d0e4882147d316a5dc16eff4a5"
- }
- Frame {
- msec: 3232
- hash: "4379bfd0da6fedac77e2111d9fdc5ecb"
- }
- Frame {
- msec: 3248
- hash: "ca35937be71e1f982cedd33bdd09d127"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3264
- hash: "f6bac38774fa8a09084c045e34fd1732"
- }
- Frame {
- msec: 3280
- hash: "6d8b58612860febb13800958cab3aecd"
- }
- Frame {
- msec: 3296
- hash: "7f921d2293cf547de3b5573dbf98d5bb"
- }
- Frame {
- msec: 3312
- hash: "18771337bbe826b5a34bd9705c79f56a"
- }
- Frame {
- msec: 3328
- hash: "3dd49406c4b39980908d8869dc3c060a"
- }
- Frame {
- msec: 3344
- hash: "8cae649565b5655d606f216334a0b5b5"
- }
- Frame {
- msec: 3360
- hash: "27c59b474d706ce79b5d075713c1ea88"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3376
- hash: "6d70d654998bbc0a2431ca7c4a58cd3c"
- }
- Frame {
- msec: 3392
- hash: "bf55fffd1727c0d076e05e274dcebb0d"
- }
- Frame {
- msec: 3408
- hash: "d5b0696cbe2969723bb2fe740deeb81f"
- }
- Frame {
- msec: 3424
- hash: "27968050a9cf7d57d016274709086be1"
- }
- Frame {
- msec: 3440
- hash: "3bc037fd17d0d394b82ba19914f31b90"
- }
- Frame {
- msec: 3456
- hash: "117d7ad2d2ae47f3a0c2a68928534b76"
- }
- Frame {
- msec: 3472
- hash: "a538ce971f34a497c05258da2567a208"
- }
- Frame {
- msec: 3488
- hash: "91e2e5cc6efcffc9e58646a008a57c9d"
- }
- Frame {
- msec: 3504
- hash: "13db17cc3c6513014a95210a443e5842"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3520
- hash: "03325597bd4e7d7b6f7c84c848018872"
- }
- Frame {
- msec: 3536
- hash: "e96dc6d611d23553b363a765195604f9"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3552
- hash: "942476dd6fb7a4f3d10c398503cb7b90"
- }
- Frame {
- msec: 3568
- hash: "cbe34fd18b6355ae9be469a594b44192"
- }
- Frame {
- msec: 3584
- hash: "3dce89f398d2c856bcd32da34867ebd8"
- }
- Frame {
- msec: 3600
- hash: "c78608cde907bc09760d858795b43bbf"
- }
- Frame {
- msec: 3616
- hash: "75d1ae9c60573f9e27cd7c2d1706cbfc"
- }
- Frame {
- msec: 3632
- hash: "754e2fca1b3ed5ee9875aafb1a0c62d3"
- }
- Frame {
- msec: 3648
- hash: "a6f05fb5206a456bea790ba7ba31868c"
- }
- Frame {
- msec: 3664
- hash: "21008b3a5179e25f9b132a4c05b8b8c4"
- }
- Frame {
- msec: 3680
- hash: "37d2d2830f6ae6bf0c8fb29c5d4f521a"
- }
- Frame {
- msec: 3696
- hash: "d7a226b40a049dee56755af9206246b4"
- }
- Frame {
- msec: 3712
- hash: "d7d39e8f717bab17aaf8a12e4f9e0dfc"
- }
- Frame {
- msec: 3728
- hash: "1dd5625fb6a0ddbaa3919a1702695e9c"
- }
- Frame {
- msec: 3744
- hash: "e0b07106a5adc1603788444d48b9c3db"
- }
- Frame {
- msec: 3760
- hash: "db61ba19d56b69d148aeb182de596713"
- }
- Frame {
- msec: 3776
- hash: "39a59b2e9e0bee87d3ba50e1408bea1c"
- }
- Frame {
- msec: 3792
- hash: "f34175acc261ad79bc9d2083af04ae10"
- }
- Frame {
- msec: 3808
- hash: "2ec91bfdb0f106a526f6bde3eb0ed7ce"
- }
- Frame {
- msec: 3824
- hash: "183538d04cf009f100a1e49a3229c143"
- }
- Frame {
- msec: 3840
- hash: "fb09d44a5a5b5b795d562512e9547301"
- }
- Frame {
- msec: 3856
- image: "cursorDelegate.4.png"
- }
- Frame {
- msec: 3872
- hash: "39c81c6efdbc32b6e0378810404bef2c"
- }
- Frame {
- msec: 3888
- hash: "23d9a9a6a9d032c7e447407193ca51ef"
- }
- Frame {
- msec: 3904
- hash: "bdd00cfe933985fe77626114902ce823"
- }
- Frame {
- msec: 3920
- hash: "1d25c2753ccabdaaf47a669c28d9e2cb"
- }
- Frame {
- msec: 3936
- hash: "20fde9bbe26ebede31fc8c21dec3fcc5"
- }
- Frame {
- msec: 3952
- hash: "c9147c159aebb7aa51d4bac28f96cb57"
- }
- Frame {
- msec: 3968
- hash: "68d331f508b43e756d6e30ba9b60f9aa"
- }
- Frame {
- msec: 3984
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4000
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4016
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4032
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4048
- hash: "af99069cdddfa9d099fbe25ba586e138"
- }
- Frame {
- msec: 4064
- hash: "68d331f508b43e756d6e30ba9b60f9aa"
- }
- Frame {
- msec: 4080
- hash: "c9147c159aebb7aa51d4bac28f96cb57"
- }
- Frame {
- msec: 4096
- hash: "20fde9bbe26ebede31fc8c21dec3fcc5"
- }
- Frame {
- msec: 4112
- hash: "1d25c2753ccabdaaf47a669c28d9e2cb"
- }
- Frame {
- msec: 4128
- hash: "bdd00cfe933985fe77626114902ce823"
- }
- Frame {
- msec: 4144
- hash: "23d9a9a6a9d032c7e447407193ca51ef"
- }
- Frame {
- msec: 4160
- hash: "39c81c6efdbc32b6e0378810404bef2c"
- }
- Frame {
- msec: 4176
- hash: "756f36cf41c2bae3a8a8716701e55e37"
- }
- Frame {
- msec: 4192
- hash: "fb09d44a5a5b5b795d562512e9547301"
- }
- Frame {
- msec: 4208
- hash: "183538d04cf009f100a1e49a3229c143"
- }
- Frame {
- msec: 4224
- hash: "2ec91bfdb0f106a526f6bde3eb0ed7ce"
- }
- Frame {
- msec: 4240
- hash: "f34175acc261ad79bc9d2083af04ae10"
- }
- Frame {
- msec: 4256
- hash: "39a59b2e9e0bee87d3ba50e1408bea1c"
- }
- Frame {
- msec: 4272
- hash: "db61ba19d56b69d148aeb182de596713"
- }
- Frame {
- msec: 4288
- hash: "e0b07106a5adc1603788444d48b9c3db"
- }
- Frame {
- msec: 4304
- hash: "1dd5625fb6a0ddbaa3919a1702695e9c"
- }
- Frame {
- msec: 4320
- hash: "d7d39e8f717bab17aaf8a12e4f9e0dfc"
- }
- Frame {
- msec: 4336
- hash: "d7a226b40a049dee56755af9206246b4"
- }
- Frame {
- msec: 4352
- hash: "37d2d2830f6ae6bf0c8fb29c5d4f521a"
- }
- Frame {
- msec: 4368
- hash: "21008b3a5179e25f9b132a4c05b8b8c4"
- }
- Frame {
- msec: 4384
- hash: "a6f05fb5206a456bea790ba7ba31868c"
- }
- Frame {
- msec: 4400
- hash: "754e2fca1b3ed5ee9875aafb1a0c62d3"
- }
- Frame {
- msec: 4416
- hash: "75d1ae9c60573f9e27cd7c2d1706cbfc"
- }
- Frame {
- msec: 4432
- hash: "c78608cde907bc09760d858795b43bbf"
- }
- Frame {
- msec: 4448
- hash: "3dce89f398d2c856bcd32da34867ebd8"
- }
- Frame {
- msec: 4464
- hash: "cbe34fd18b6355ae9be469a594b44192"
- }
- Frame {
- msec: 4480
- hash: "942476dd6fb7a4f3d10c398503cb7b90"
- }
- Frame {
- msec: 4496
- hash: "e96dc6d611d23553b363a765195604f9"
- }
- Frame {
- msec: 4512
- hash: "03325597bd4e7d7b6f7c84c848018872"
- }
- Frame {
- msec: 4528
- hash: "13db17cc3c6513014a95210a443e5842"
- }
- Frame {
- msec: 4544
- hash: "91e2e5cc6efcffc9e58646a008a57c9d"
- }
- Frame {
- msec: 4560
- hash: "a538ce971f34a497c05258da2567a208"
- }
- Frame {
- msec: 4576
- hash: "117d7ad2d2ae47f3a0c2a68928534b76"
- }
- Frame {
- msec: 4592
- hash: "3bc037fd17d0d394b82ba19914f31b90"
- }
- Frame {
- msec: 4608
- hash: "27968050a9cf7d57d016274709086be1"
- }
- Frame {
- msec: 4624
- hash: "d5b0696cbe2969723bb2fe740deeb81f"
- }
- Frame {
- msec: 4640
- hash: "bf55fffd1727c0d076e05e274dcebb0d"
- }
- Frame {
- msec: 4656
- hash: "6d70d654998bbc0a2431ca7c4a58cd3c"
- }
- Frame {
- msec: 4672
- hash: "27c59b474d706ce79b5d075713c1ea88"
- }
- Frame {
- msec: 4688
- hash: "8cae649565b5655d606f216334a0b5b5"
- }
- Frame {
- msec: 4704
- hash: "3dd49406c4b39980908d8869dc3c060a"
- }
- Frame {
- msec: 4720
- hash: "18771337bbe826b5a34bd9705c79f56a"
- }
- Frame {
- msec: 4736
- hash: "7f921d2293cf547de3b5573dbf98d5bb"
- }
- Frame {
- msec: 4752
- hash: "6d8b58612860febb13800958cab3aecd"
- }
- Frame {
- msec: 4768
- hash: "f6bac38774fa8a09084c045e34fd1732"
- }
- Frame {
- msec: 4784
- hash: "ca35937be71e1f982cedd33bdd09d127"
- }
- Frame {
- msec: 4800
- hash: "4379bfd0da6fedac77e2111d9fdc5ecb"
- }
- Frame {
- msec: 4816
- image: "cursorDelegate.5.png"
- }
- Frame {
- msec: 4832
- hash: "4ab6780997a5a598d2da7fbbc19877b7"
- }
- Frame {
- msec: 4848
- hash: "ad77330d51b1251576905a45fdbdf576"
- }
- Frame {
- msec: 4864
- hash: "b701aa41aff9df45cc4b35d23789ad46"
- }
- Frame {
- msec: 4880
- hash: "2bdc09121f13e95e15e331ac90fbbe5e"
- }
- Frame {
- msec: 4896
- hash: "14bc879f562ace9d2d1a3f3980a72e1f"
- }
- Frame {
- msec: 4912
- hash: "150b5a2f2e916b7023764c481c768492"
- }
- Frame {
- msec: 4928
- hash: "0636b7c5cc215882c60b50f62133c715"
- }
- Frame {
- msec: 4944
- hash: "f9e0bd08b722c16493a8886a19920dda"
- }
- Frame {
- msec: 4960
- hash: "f499f4b3017c88c63f0a2035ad527a0e"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.png
deleted file mode 100644
index 57a1599c59..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.png
deleted file mode 100644
index d327d5b74b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.png
deleted file mode 100644
index c1e3dce7ef..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.3.png
deleted file mode 100644
index 5dad108cb6..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.qml
deleted file mode 100644
index 6081aaf747..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/echoMode.qml
+++ /dev/null
@@ -1,1043 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "echoMode.0.png"
- }
- Frame {
- msec: 32
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 48
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 64
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 80
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 96
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 112
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 128
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 144
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 160
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 176
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 192
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 208
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 224
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 240
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 256
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 272
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 288
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 304
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 320
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 336
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Frame {
- msec: 352
- hash: "0e7c7dc19aab217751411568b58830ef"
- }
- Key {
- type: 6
- key: 74
- modifiers: 33554432
- text: "4a"
- autorep: false
- count: 1
- }
- Frame {
- msec: 368
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 384
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 400
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 416
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 432
- hash: "593867b082681c362d7dffda12615284"
- }
- Key {
- type: 7
- key: 74
- modifiers: 33554432
- text: "4a"
- autorep: false
- count: 1
- }
- Frame {
- msec: 448
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 464
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 480
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 496
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 512
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 528
- hash: "593867b082681c362d7dffda12615284"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 560
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 576
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 592
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 608
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 624
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 640
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 656
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 672
- hash: "593867b082681c362d7dffda12615284"
- }
- Frame {
- msec: 688
- hash: "593867b082681c362d7dffda12615284"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 704
- hash: "8d4a4baca932c318fba437b05962a635"
- }
- Frame {
- msec: 720
- hash: "8d4a4baca932c318fba437b05962a635"
- }
- Frame {
- msec: 736
- hash: "8d4a4baca932c318fba437b05962a635"
- }
- Frame {
- msec: 752
- hash: "8d4a4baca932c318fba437b05962a635"
- }
- Frame {
- msec: 768
- hash: "8d4a4baca932c318fba437b05962a635"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 784
- hash: "8d4a4baca932c318fba437b05962a635"
- }
- Frame {
- msec: 800
- hash: "8d4a4baca932c318fba437b05962a635"
- }
- Frame {
- msec: 816
- hash: "8d4a4baca932c318fba437b05962a635"
- }
- Frame {
- msec: 832
- hash: "8d4a4baca932c318fba437b05962a635"
- }
- Frame {
- msec: 848
- hash: "8d4a4baca932c318fba437b05962a635"
- }
- Key {
- type: 6
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 864
- hash: "b2698dba3a5ebe80e26f273b32857506"
- }
- Frame {
- msec: 880
- hash: "b2698dba3a5ebe80e26f273b32857506"
- }
- Frame {
- msec: 896
- hash: "b2698dba3a5ebe80e26f273b32857506"
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 912
- hash: "b2698dba3a5ebe80e26f273b32857506"
- }
- Frame {
- msec: 928
- hash: "b2698dba3a5ebe80e26f273b32857506"
- }
- Frame {
- msec: 944
- hash: "b2698dba3a5ebe80e26f273b32857506"
- }
- Frame {
- msec: 960
- hash: "b2698dba3a5ebe80e26f273b32857506"
- }
- Frame {
- msec: 976
- image: "echoMode.1.png"
- }
- Key {
- type: 6
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Frame {
- msec: 992
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1008
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1024
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1040
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Key {
- type: 7
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1056
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1072
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1088
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1104
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1120
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1136
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1152
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1168
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1184
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1200
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1216
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Frame {
- msec: 1232
- hash: "3ea06a90d633d5e9fe5a11cc4ed67764"
- }
- Key {
- type: 6
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1248
- hash: "a190bbf59ec807391077b9d1183f72b5"
- }
- Frame {
- msec: 1264
- hash: "a190bbf59ec807391077b9d1183f72b5"
- }
- Frame {
- msec: 1280
- hash: "a190bbf59ec807391077b9d1183f72b5"
- }
- Key {
- type: 7
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1296
- hash: "a190bbf59ec807391077b9d1183f72b5"
- }
- Frame {
- msec: 1312
- hash: "a190bbf59ec807391077b9d1183f72b5"
- }
- Frame {
- msec: 1328
- hash: "a190bbf59ec807391077b9d1183f72b5"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1344
- hash: "f171a98a3a726b517ad4b401a0720ba2"
- }
- Frame {
- msec: 1360
- hash: "f171a98a3a726b517ad4b401a0720ba2"
- }
- Frame {
- msec: 1376
- hash: "f171a98a3a726b517ad4b401a0720ba2"
- }
- Frame {
- msec: 1392
- hash: "f171a98a3a726b517ad4b401a0720ba2"
- }
- Frame {
- msec: 1408
- hash: "f171a98a3a726b517ad4b401a0720ba2"
- }
- Frame {
- msec: 1424
- hash: "f171a98a3a726b517ad4b401a0720ba2"
- }
- Frame {
- msec: 1440
- hash: "f171a98a3a726b517ad4b401a0720ba2"
- }
- Frame {
- msec: 1456
- hash: "f171a98a3a726b517ad4b401a0720ba2"
- }
- Frame {
- msec: 1472
- hash: "f171a98a3a726b517ad4b401a0720ba2"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1488
- hash: "f171a98a3a726b517ad4b401a0720ba2"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1504
- hash: "e7199e4284be9dea34caff7bde0f6303"
- }
- Frame {
- msec: 1520
- hash: "e7199e4284be9dea34caff7bde0f6303"
- }
- Frame {
- msec: 1536
- hash: "e7199e4284be9dea34caff7bde0f6303"
- }
- Frame {
- msec: 1552
- hash: "e7199e4284be9dea34caff7bde0f6303"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1568
- hash: "e7199e4284be9dea34caff7bde0f6303"
- }
- Frame {
- msec: 1584
- hash: "e7199e4284be9dea34caff7bde0f6303"
- }
- Frame {
- msec: 1600
- hash: "e7199e4284be9dea34caff7bde0f6303"
- }
- Frame {
- msec: 1616
- hash: "e7199e4284be9dea34caff7bde0f6303"
- }
- Frame {
- msec: 1632
- hash: "e7199e4284be9dea34caff7bde0f6303"
- }
- Frame {
- msec: 1648
- hash: "e7199e4284be9dea34caff7bde0f6303"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1664
- hash: "1d9d3c6435f2fa06bda16ef4a2ff238f"
- }
- Frame {
- msec: 1680
- hash: "1d9d3c6435f2fa06bda16ef4a2ff238f"
- }
- Frame {
- msec: 1696
- hash: "1d9d3c6435f2fa06bda16ef4a2ff238f"
- }
- Frame {
- msec: 1712
- hash: "1d9d3c6435f2fa06bda16ef4a2ff238f"
- }
- Frame {
- msec: 1728
- hash: "1d9d3c6435f2fa06bda16ef4a2ff238f"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1744
- hash: "9d8cb02bbc4f39d38ccdf8e9bda0ed5c"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1760
- hash: "9d8cb02bbc4f39d38ccdf8e9bda0ed5c"
- }
- Frame {
- msec: 1776
- hash: "9d8cb02bbc4f39d38ccdf8e9bda0ed5c"
- }
- Frame {
- msec: 1792
- hash: "9d8cb02bbc4f39d38ccdf8e9bda0ed5c"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1808
- hash: "9d8cb02bbc4f39d38ccdf8e9bda0ed5c"
- }
- Frame {
- msec: 1824
- hash: "9d8cb02bbc4f39d38ccdf8e9bda0ed5c"
- }
- Frame {
- msec: 1840
- hash: "9d8cb02bbc4f39d38ccdf8e9bda0ed5c"
- }
- Frame {
- msec: 1856
- hash: "9d8cb02bbc4f39d38ccdf8e9bda0ed5c"
- }
- Key {
- type: 6
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1872
- hash: "2af75935ad1d3be02c6481c094737575"
- }
- Frame {
- msec: 1888
- hash: "2af75935ad1d3be02c6481c094737575"
- }
- Frame {
- msec: 1904
- hash: "2af75935ad1d3be02c6481c094737575"
- }
- Frame {
- msec: 1920
- hash: "2af75935ad1d3be02c6481c094737575"
- }
- Key {
- type: 7
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1936
- image: "echoMode.2.png"
- }
- Frame {
- msec: 1952
- hash: "2af75935ad1d3be02c6481c094737575"
- }
- Frame {
- msec: 1968
- hash: "2af75935ad1d3be02c6481c094737575"
- }
- Frame {
- msec: 1984
- hash: "2af75935ad1d3be02c6481c094737575"
- }
- Frame {
- msec: 2000
- hash: "2af75935ad1d3be02c6481c094737575"
- }
- Frame {
- msec: 2016
- hash: "2af75935ad1d3be02c6481c094737575"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2032
- hash: "c3512d6a7ead481aa6fec8ef8ee2f1d1"
- }
- Frame {
- msec: 2048
- hash: "c3512d6a7ead481aa6fec8ef8ee2f1d1"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "c3512d6a7ead481aa6fec8ef8ee2f1d1"
- }
- Frame {
- msec: 2080
- hash: "c3512d6a7ead481aa6fec8ef8ee2f1d1"
- }
- Key {
- type: 6
- key: 86
- modifiers: 0
- text: "76"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2096
- hash: "064e1fc885ab7f07dad1770361087bef"
- }
- Frame {
- msec: 2112
- hash: "064e1fc885ab7f07dad1770361087bef"
- }
- Frame {
- msec: 2128
- hash: "064e1fc885ab7f07dad1770361087bef"
- }
- Frame {
- msec: 2144
- hash: "064e1fc885ab7f07dad1770361087bef"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 86
- modifiers: 0
- text: "76"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "9b764f6e9cc3d30446e1b32f7ab94f66"
- }
- Frame {
- msec: 2176
- hash: "9b764f6e9cc3d30446e1b32f7ab94f66"
- }
- Frame {
- msec: 2192
- hash: "9b764f6e9cc3d30446e1b32f7ab94f66"
- }
- Frame {
- msec: 2208
- hash: "9b764f6e9cc3d30446e1b32f7ab94f66"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2224
- hash: "18eff632e106f632aad481ab40f985d7"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2240
- hash: "18eff632e106f632aad481ab40f985d7"
- }
- Frame {
- msec: 2256
- hash: "18eff632e106f632aad481ab40f985d7"
- }
- Frame {
- msec: 2272
- hash: "18eff632e106f632aad481ab40f985d7"
- }
- Frame {
- msec: 2288
- hash: "18eff632e106f632aad481ab40f985d7"
- }
- Frame {
- msec: 2304
- hash: "18eff632e106f632aad481ab40f985d7"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2320
- hash: "18eff632e106f632aad481ab40f985d7"
- }
- Frame {
- msec: 2336
- hash: "18eff632e106f632aad481ab40f985d7"
- }
- Key {
- type: 6
- key: 77
- modifiers: 0
- text: "6d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2352
- hash: "eaabd4617081e3bc68a5b9099c63272a"
- }
- Frame {
- msec: 2368
- hash: "eaabd4617081e3bc68a5b9099c63272a"
- }
- Frame {
- msec: 2384
- hash: "eaabd4617081e3bc68a5b9099c63272a"
- }
- Frame {
- msec: 2400
- hash: "eaabd4617081e3bc68a5b9099c63272a"
- }
- Frame {
- msec: 2416
- hash: "eaabd4617081e3bc68a5b9099c63272a"
- }
- Frame {
- msec: 2432
- hash: "eaabd4617081e3bc68a5b9099c63272a"
- }
- Key {
- type: 7
- key: 77
- modifiers: 0
- text: "6d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "eaabd4617081e3bc68a5b9099c63272a"
- }
- Frame {
- msec: 2464
- hash: "eaabd4617081e3bc68a5b9099c63272a"
- }
- Frame {
- msec: 2480
- hash: "eaabd4617081e3bc68a5b9099c63272a"
- }
- Frame {
- msec: 2496
- hash: "eaabd4617081e3bc68a5b9099c63272a"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2512
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2528
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2544
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2560
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2576
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2592
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2608
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2624
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2640
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2656
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2672
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2688
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2704
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2720
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2736
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2752
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2768
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2784
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2800
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2816
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2832
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2848
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2864
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2880
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2896
- image: "echoMode.3.png"
- }
- Frame {
- msec: 2912
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2928
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2944
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2960
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2976
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 2992
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 3008
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 3024
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 3040
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
- Frame {
- msec: 3056
- hash: "fec019ea87914d30b5bf4754ce8ba916"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.0.png
deleted file mode 100644
index 6a32f0d550..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.qml
deleted file mode 100644
index fd64d642fa..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/hAlign.qml
+++ /dev/null
@@ -1,107 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "hAlign.0.png"
- }
- Frame {
- msec: 32
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 48
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 64
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 80
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 96
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 112
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 128
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 144
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 160
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 176
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 192
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 208
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 224
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 240
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 256
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 272
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 288
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 304
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 320
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 336
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 352
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 368
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 384
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
- Frame {
- msec: 400
- hash: "043c40378d2707bd231a448cd242aa3c"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.0.png
deleted file mode 100644
index 6ca52b6792..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.1.png
deleted file mode 100644
index 31d6b2cb90..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.10.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.10.png
deleted file mode 100644
index d89e2d87eb..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.11.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.11.png
deleted file mode 100644
index 834516a997..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.11.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.2.png
deleted file mode 100644
index 31d6b2cb90..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.3.png
deleted file mode 100644
index 31d6b2cb90..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.4.png
deleted file mode 100644
index 8147bda0b9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.5.png
deleted file mode 100644
index c67e619b8c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.6.png
deleted file mode 100644
index 646855f1f3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.7.png
deleted file mode 100644
index c1a9d5c927..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.8.png
deleted file mode 100644
index d6c92b76a5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.9.png
deleted file mode 100644
index e798d3be10..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.qml
deleted file mode 100644
index fc8a11566d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-MAC/usingLineEdit.qml
+++ /dev/null
@@ -1,4335 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "usingLineEdit.0.png"
- }
- Frame {
- msec: 32
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 48
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 64
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 80
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 96
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 112
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 128
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 144
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 160
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 176
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 192
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 208
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 224
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 240
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 256
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 272
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 288
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 304
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 320
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 336
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 352
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 368
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 384
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 400
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 416
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 432
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 448
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 464
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 480
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 496
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 512
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 528
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 544
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 560
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 576
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 592
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 608
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 624
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 640
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 656
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 672
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 688
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 704
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 720
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 736
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 752
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 768
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 784
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 800
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 816
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 832
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 848
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 864
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 880
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 896
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 912
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Frame {
- msec: 928
- hash: "b2bcfe5c299742bf7da166e9ae1e1126"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 85; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 944
- hash: "1e95a74868a748e11efdc6fbb500f6e8"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 85; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 960
- hash: "1e95a74868a748e11efdc6fbb500f6e8"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 85; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 976
- image: "usingLineEdit.1.png"
- }
- Frame {
- msec: 992
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1008
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1024
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1040
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1056
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 85; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1072
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1088
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1104
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1120
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1136
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1152
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1168
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1184
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1200
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1216
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1232
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1248
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1264
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1280
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1296
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1312
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1328
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1344
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1360
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1376
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1392
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1408
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1424
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1440
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1456
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1472
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1488
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1504
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1520
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1536
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1552
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1568
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1584
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1600
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1616
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1632
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1648
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1664
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1680
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1696
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1712
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1728
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1744
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1760
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1776
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1792
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1808
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1824
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1840
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1856
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1872
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1888
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1904
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1920
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1936
- image: "usingLineEdit.2.png"
- }
- Frame {
- msec: 1952
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1968
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 1984
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Key {
- type: 6
- key: 67
- modifiers: 67108864
- text: "03"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2000
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2016
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2032
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2048
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2064
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2080
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2096
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2112
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2128
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2144
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2160
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2176
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2192
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2208
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2224
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2240
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2256
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2272
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2288
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2304
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2320
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2336
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2352
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2368
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2384
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2400
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2416
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2432
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2448
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2464
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2480
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Key {
- type: 6
- key: 16777233
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2496
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2512
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2528
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2544
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2560
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2576
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Key {
- type: 7
- key: 16777233
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2592
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2608
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2624
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2640
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2656
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2672
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2688
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2704
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2720
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2736
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2752
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2768
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2784
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2800
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2816
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2832
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2848
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2864
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2880
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2896
- image: "usingLineEdit.3.png"
- }
- Frame {
- msec: 2912
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2928
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2944
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2960
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2976
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 2992
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3008
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3024
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3040
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3056
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3072
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3088
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3104
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3120
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3136
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3152
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3168
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3184
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3200
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Frame {
- msec: 3216
- hash: "c346bd1c6a8c04dff75bc14882a4d964"
- }
- Key {
- type: 6
- key: 86
- modifiers: 67108864
- text: "16"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3232
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3248
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3264
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3280
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3296
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3312
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3328
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Key {
- type: 7
- key: 86
- modifiers: 67108864
- text: "16"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3344
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3360
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3376
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3392
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3408
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3424
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3440
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3456
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3472
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3488
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3504
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3520
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3536
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Frame {
- msec: 3552
- hash: "4e24e7e6a205160479b0d23057a50b37"
- }
- Key {
- type: 6
- key: 86
- modifiers: 67108864
- text: "16"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3568
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3584
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3600
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3616
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3632
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3648
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3664
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3680
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Key {
- type: 7
- key: 86
- modifiers: 67108864
- text: "16"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3696
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3712
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3728
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3744
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3760
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3776
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3792
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3808
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3824
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3840
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3856
- image: "usingLineEdit.4.png"
- }
- Frame {
- msec: 3872
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3888
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3904
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3920
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3936
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3952
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3968
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 3984
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4000
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4016
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4032
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4048
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4064
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4080
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4096
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4112
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4128
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4144
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4160
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4176
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4192
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 4208
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4224
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4240
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4256
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4272
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4288
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4304
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4320
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4336
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4352
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4368
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4384
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4400
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4416
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4432
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4448
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4464
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4480
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4496
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4512
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4528
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4544
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4560
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4576
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4592
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4608
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4624
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4640
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4656
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4672
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4688
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Frame {
- msec: 4704
- hash: "c6354c09a2bdf6ff23cae30640abdd65"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 69; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4720
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4736
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4752
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4768
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4784
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4800
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 69; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4816
- image: "usingLineEdit.5.png"
- }
- Frame {
- msec: 4832
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4848
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4864
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4880
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4896
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4912
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4928
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4944
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4960
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4976
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 4992
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5008
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5024
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5040
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5056
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5072
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5088
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5104
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5120
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5136
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5152
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5168
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5184
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5200
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5216
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5232
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5248
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5264
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5280
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5296
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5312
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5328
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5344
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Frame {
- msec: 5360
- hash: "b7e9475cc88b099f9e17b67f4d0c8ed0"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5376
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5392
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5408
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5424
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5440
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5456
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5472
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5488
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5504
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5520
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5536
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5552
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5568
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5584
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5600
- hash: "5435254889b22b00b043f0d748021369"
- }
- Frame {
- msec: 5616
- hash: "5435254889b22b00b043f0d748021369"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5632
- hash: "94fa3848acc33accfb607ce31029f06d"
- }
- Frame {
- msec: 5648
- hash: "94fa3848acc33accfb607ce31029f06d"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5664
- hash: "1ea423dd8084001f2357f1613a77daa4"
- }
- Frame {
- msec: 5680
- hash: "1ea423dd8084001f2357f1613a77daa4"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5696
- hash: "b0f808e85cc5721473da7cd84b1987dc"
- }
- Frame {
- msec: 5712
- hash: "b0f808e85cc5721473da7cd84b1987dc"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5728
- hash: "0667aaf2eb49c2375b831301fefb0035"
- }
- Frame {
- msec: 5744
- hash: "0667aaf2eb49c2375b831301fefb0035"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5760
- hash: "7680aca6b9feccc7e73efa79c1473ce8"
- }
- Frame {
- msec: 5776
- image: "usingLineEdit.6.png"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5792
- hash: "fbbc99bf6a697d60ef348148c0a48bc2"
- }
- Frame {
- msec: 5808
- hash: "fbbc99bf6a697d60ef348148c0a48bc2"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5824
- hash: "9550d8fab2512470dd9dde62f3494450"
- }
- Frame {
- msec: 5840
- hash: "9550d8fab2512470dd9dde62f3494450"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5856
- hash: "9550d8fab2512470dd9dde62f3494450"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5872
- hash: "ab79f5095d60f5cef526a074ef6d4e96"
- }
- Frame {
- msec: 5888
- hash: "ab79f5095d60f5cef526a074ef6d4e96"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5904
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5920
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 5936
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 5952
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 5968
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 5984
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 6000
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 6016
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 6032
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 6048
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6064
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 6080
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 6096
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 6112
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 6128
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Frame {
- msec: 6144
- hash: "4e6ef470ed2c2a2418a4838c6e4ae64b"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6160
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6176
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6192
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6208
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6224
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6240
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6256
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6272
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6288
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6304
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6320
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6336
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6352
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6368
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6384
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6400
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6416
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6432
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6448
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6464
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6480
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6496
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6512
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6528
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6544
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6560
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6576
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6592
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6608
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6624
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6640
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6656
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6672
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6688
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6704
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6720
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6736
- image: "usingLineEdit.7.png"
- }
- Frame {
- msec: 6752
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6768
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6784
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6800
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6816
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6832
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6848
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6864
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6880
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6896
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6912
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6928
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Frame {
- msec: 6944
- hash: "ed2a8fae3e94e2f90232d172246d3783"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6960
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 6976
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 6992
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7008
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7024
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7040
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7056
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7072
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7088
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7104
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7120
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7136
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7152
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7168
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7184
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7200
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7216
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7232
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7248
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7264
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7280
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7296
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7312
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7328
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7344
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7360
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7376
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7392
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7408
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7424
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7440
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7456
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7472
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7488
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7504
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7520
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7536
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7552
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7568
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7584
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7600
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7616
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7632
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7648
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7664
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7680
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7696
- image: "usingLineEdit.8.png"
- }
- Frame {
- msec: 7712
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7728
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7744
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7760
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7776
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7792
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7808
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7824
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7840
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7856
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7872
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7888
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7904
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7920
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7936
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7952
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7968
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 7984
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8000
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8016
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8032
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8048
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8064
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8080
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8096
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8112
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8128
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8144
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8160
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8176
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8192
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8208
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8224
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8240
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8256
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8272
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8288
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8304
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8320
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8336
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8352
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8368
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8384
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8400
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8416
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8432
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8448
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8464
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8480
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Frame {
- msec: 8496
- hash: "f1c4f46ee86ce1eb24fcd72106da0248"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 61; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8512
- hash: "e779fc73a3ca131452f62e889d5c96ea"
- }
- Frame {
- msec: 8528
- hash: "e779fc73a3ca131452f62e889d5c96ea"
- }
- Frame {
- msec: 8544
- hash: "e779fc73a3ca131452f62e889d5c96ea"
- }
- Frame {
- msec: 8560
- hash: "e779fc73a3ca131452f62e889d5c96ea"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 60; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8576
- hash: "e779fc73a3ca131452f62e889d5c96ea"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8592
- hash: "400b446983d944bac62889fb47e8d405"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 41; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 40; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8608
- hash: "400b446983d944bac62889fb47e8d405"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 32; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8624
- hash: "769278730ba7e2a31333496a0c99499f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 31; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 30; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8640
- hash: "769278730ba7e2a31333496a0c99499f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 29; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8656
- image: "usingLineEdit.9.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 28; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 27; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8672
- hash: "c193a6f52a967c97961df08ebffe50c1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 26; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8688
- hash: "c193a6f52a967c97961df08ebffe50c1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 25; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 24; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8704
- hash: "c193a6f52a967c97961df08ebffe50c1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 23; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 22; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8720
- hash: "c193a6f52a967c97961df08ebffe50c1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 20; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 19; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8736
- hash: "ce0d865bf18c5c3ff93bda82f95e97c2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 18; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8752
- hash: "ce0d865bf18c5c3ff93bda82f95e97c2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 16; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 15; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8768
- hash: "ce0d865bf18c5c3ff93bda82f95e97c2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 14; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 13; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8784
- hash: "ce0d865bf18c5c3ff93bda82f95e97c2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 12; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 11; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8800
- hash: "ce0d865bf18c5c3ff93bda82f95e97c2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 10; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 8; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8816
- hash: "af2a9c17451a89153e04418e056d9ea5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 6; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 5; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8832
- hash: "749a1ccf2050c809be5e3820d3b2fba9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 3; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 2; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8848
- hash: "74f183256682200a804baa620a6ce978"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 0; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -1; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8864
- hash: "9d837fb68c47ac3659b93e9f77cea0af"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -2; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -3; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8880
- hash: "2dc20ba694548e05c80383d0fcc429fc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -5; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -6; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8896
- hash: "0f5b95fbbdd932c8dbfaffd0cdd44dec"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -7; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -9; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8912
- hash: "dd9e9d86eacd44b19c6c9c64c2abf007"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -10; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -11; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8928
- hash: "7c67140abcbe7b8a36a7324016377272"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -12; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -13; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8944
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -14; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -15; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8960
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 8976
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -16; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -17; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8992
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -18; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9008
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9024
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9040
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9056
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9072
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9088
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9104
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9120
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9136
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9152
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9168
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9184
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Frame {
- msec: 9200
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -17; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9216
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -16; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9232
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -14; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -13; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9248
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -11; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -10; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9264
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -8; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -7; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9280
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -6; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -5; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9296
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -3; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -1; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9312
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 1; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 3; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9328
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 4; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 6; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9344
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 7; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 8; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9360
- hash: "a085e2633649f0328f109bc4143eaccc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 10; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 11; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9376
- hash: "fe89231a1ac7f48eee7cea14167b6616"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 12; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 14; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9392
- hash: "fe89231a1ac7f48eee7cea14167b6616"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 15; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9408
- hash: "fe89231a1ac7f48eee7cea14167b6616"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 21; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 24; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9424
- hash: "e816757e030c8927d6721295f8685162"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 27; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 30; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9440
- hash: "48f3a7d217ff85ad6088e18c1b88d6d7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 33; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 35; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9456
- hash: "48f3a7d217ff85ad6088e18c1b88d6d7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 38; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 39; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9472
- hash: "6cb50f458ba606cc4204727a02e9191b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9488
- hash: "6cb50f458ba606cc4204727a02e9191b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9504
- hash: "936d1a2ceed861a48fb3dd0c54cb0982"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9520
- hash: "936d1a2ceed861a48fb3dd0c54cb0982"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9536
- hash: "936d1a2ceed861a48fb3dd0c54cb0982"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9552
- hash: "9fb9dbff35b91d65e1e7ce569baede55"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9568
- hash: "9fb9dbff35b91d65e1e7ce569baede55"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9584
- hash: "78038f8df4ef17a164172c5bce16527d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 73; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 74; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9600
- hash: "b390e534fe43678ff031ec9de32b50d0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 76; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9616
- image: "usingLineEdit.10.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 77; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 78; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9632
- hash: "b390e534fe43678ff031ec9de32b50d0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 79; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 80; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9648
- hash: "b390e534fe43678ff031ec9de32b50d0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 84; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9664
- hash: "94fa3848acc33accfb607ce31029f06d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 88; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9680
- hash: "b0f808e85cc5721473da7cd84b1987dc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 89; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9696
- hash: "7680aca6b9feccc7e73efa79c1473ce8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 94; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9712
- hash: "ab79f5095d60f5cef526a074ef6d4e96"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9728
- hash: "35c718664fc8e817e26054c307f908f9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 98; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 100; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9744
- hash: "23267fdc8202daba400140e51f5e3bdc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 102; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 104; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9760
- hash: "0b2765ae503f0194e6e526ea6f9ed8f9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 105; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 108; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9776
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 110; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9792
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9808
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 112; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9824
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 113; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9840
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 114; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9856
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 9872
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9888
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 116; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9904
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 117; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9920
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9936
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 9952
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 119; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9968
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 120; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9984
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 121; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10000
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10016
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10032
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10048
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10064
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10080
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10096
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10112
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10128
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10144
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10160
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10176
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10192
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10208
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10224
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10240
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 122; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10256
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10272
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10288
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10304
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10320
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10336
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10352
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10368
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10384
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10400
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10416
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10432
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10448
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10464
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10480
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10496
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10512
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10528
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10544
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10560
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10576
- image: "usingLineEdit.11.png"
- }
- Frame {
- msec: 10592
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10608
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10624
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10640
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10656
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10672
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10688
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10704
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10720
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10736
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10752
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10768
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10784
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10800
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10816
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10832
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10848
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10864
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10880
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10896
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10912
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10928
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10944
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10960
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10976
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 10992
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11008
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11024
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11040
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11056
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11072
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11088
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11104
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11120
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11136
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11152
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11168
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11184
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11200
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11216
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11232
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11248
- hash: "6f6154528c95da216e1f3830de000195"
- }
- Frame {
- msec: 11264
- hash: "6f6154528c95da216e1f3830de000195"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.0.png
deleted file mode 100644
index 18dd55ea6c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.1.png
deleted file mode 100644
index 9cc8b85c89..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.2.png
deleted file mode 100644
index f7c23e2fd2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.3.png
deleted file mode 100644
index a5bd6cce0d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.4.png
deleted file mode 100644
index fdcdf88ca5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.5.png
deleted file mode 100644
index 89fd161fad..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.qml
deleted file mode 100644
index e14fb8269d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/cursorDelegate.qml
+++ /dev/null
@@ -1,1551 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "cursorDelegate.0.png"
- }
- Frame {
- msec: 32
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 48
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 64
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 80
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 96
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 112
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 128
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 144
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 160
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 176
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 192
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 208
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 224
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 240
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 256
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 272
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 288
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 304
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 320
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 336
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 352
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 368
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 384
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 400
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 416
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 432
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Frame {
- msec: 448
- hash: "ea218f136c6c7a70f2a4da569fae92b0"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 464
- hash: "e0cce7628c07ad989161e77d87f7f511"
- }
- Frame {
- msec: 480
- hash: "e0cce7628c07ad989161e77d87f7f511"
- }
- Frame {
- msec: 496
- hash: "e0cce7628c07ad989161e77d87f7f511"
- }
- Frame {
- msec: 512
- hash: "e0cce7628c07ad989161e77d87f7f511"
- }
- Frame {
- msec: 528
- hash: "b86c442f4a561503d34238465fd20aec"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "36f5f4397549f151ebfc0295ca33f55f"
- }
- Frame {
- msec: 560
- hash: "1cc9682b652e65b547bbeb2b37f9d1e7"
- }
- Frame {
- msec: 576
- hash: "b3874acb58643e1bb70a0b579e517526"
- }
- Frame {
- msec: 592
- hash: "152b962f8a00b68459df073962a1a947"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 608
- hash: "891f86211cdc5050881421613b199939"
- }
- Frame {
- msec: 624
- hash: "5862b5e1ed2d1905357adbc5a7f2ade9"
- }
- Frame {
- msec: 640
- hash: "2fd895e688fa1c8b2f0bbf6e7defdb2a"
- }
- Frame {
- msec: 656
- hash: "66c31658d38604b3e2d424aea15b715d"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 672
- hash: "df5331bc225d5e6f443812d489b19324"
- }
- Frame {
- msec: 688
- hash: "6ca6367bb314804598b6257fd8b49d28"
- }
- Frame {
- msec: 704
- hash: "877f64d93ba9d0d31181c3600bc02f80"
- }
- Frame {
- msec: 720
- hash: "6b3210a6e4f8c448e5d90c6dada7a114"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 736
- hash: "4e64391a8142f94cb1ae38082218af01"
- }
- Frame {
- msec: 752
- hash: "7bc3285fc6a0275622a76e605e2f7609"
- }
- Frame {
- msec: 768
- hash: "895b45ca668e4fe112913d818f28631e"
- }
- Frame {
- msec: 784
- hash: "98e49c0ade7408c3229489ba6681088b"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 800
- hash: "98c7370ca0f570dbe23c2724cb4ddead"
- }
- Frame {
- msec: 816
- hash: "a71a7684552b072754469f6ae16d18b6"
- }
- Frame {
- msec: 832
- hash: "9cf40ec30d20e2cf95de2bfede4e46c6"
- }
- Frame {
- msec: 848
- hash: "ed1efc0873a05be9f0c001c9cab94414"
- }
- Frame {
- msec: 864
- hash: "4909c38a27da00d9c6f0dafc52c45035"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 880
- hash: "81d4e7ca4265332555434fdd5f19c621"
- }
- Frame {
- msec: 896
- hash: "c336bac65473a8b76cecca1854c94752"
- }
- Frame {
- msec: 912
- hash: "8bf0b0c6bd2c0fbf7c9f3529a5b92ebc"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 928
- hash: "8b7f6b8eebd1d7648becb91d256ac475"
- }
- Frame {
- msec: 944
- hash: "6fcc3b9dee14bcdd2b60a32f696eec05"
- }
- Frame {
- msec: 960
- hash: "939ac75fa99f482509ee1bb6b93f2ed0"
- }
- Frame {
- msec: 976
- image: "cursorDelegate.1.png"
- }
- Frame {
- msec: 992
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1008
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 1024
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 1040
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1056
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 1072
- hash: "3d6db6e3ee77ee75341ce16dc4a56c59"
- }
- Frame {
- msec: 1088
- hash: "ff43ccdb14ae4d12ffead2eb261a5056"
- }
- Frame {
- msec: 1104
- hash: "cd14458426f94efbbc729112e6a481c5"
- }
- Frame {
- msec: 1120
- hash: "6bd66d118ff27b0cea7944ea22c727c9"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1136
- hash: "c294f1f7b7dd842d797ec5346f8794b3"
- }
- Frame {
- msec: 1152
- hash: "185228bb06e052a279bc0481760a1920"
- }
- Frame {
- msec: 1168
- hash: "81b01e755b7fcbda18634b88052326e4"
- }
- Frame {
- msec: 1184
- hash: "ff16045d2ae8a5e48440fe5094780987"
- }
- Frame {
- msec: 1200
- hash: "01b2a227010cba52952763cd9fbc8c94"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1216
- hash: "3c6ffa5250e90c994e334745efa15b19"
- }
- Frame {
- msec: 1232
- hash: "9656663feae42fced5646d8c21ad05ec"
- }
- Frame {
- msec: 1248
- hash: "95ecea8c39c38c2319a8a0de1c3c97b1"
- }
- Frame {
- msec: 1264
- hash: "7bc610d4efadf5ef603d0c62e81021b2"
- }
- Frame {
- msec: 1280
- hash: "b5343907926d112165a1e8914fa12383"
- }
- Frame {
- msec: 1296
- hash: "7b1be2c0e963b92accd35606cd9521f5"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1312
- hash: "2004b105d197f736f68eef070574767d"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1328
- hash: "dbafec45c35739835180f7644f4bf66c"
- }
- Frame {
- msec: 1344
- hash: "ed86b86cc0eb1c8c05b0ddb063937270"
- }
- Frame {
- msec: 1360
- hash: "bdc640c90728a4f39c22e0a415c595b4"
- }
- Frame {
- msec: 1376
- hash: "2af0c828b767942ba1745dd9838a54b5"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1392
- hash: "547f4cbf1637d997f50f755965dd4704"
- }
- Frame {
- msec: 1408
- hash: "ede46a74a6e5297454da63227684d6cf"
- }
- Frame {
- msec: 1424
- hash: "3a8747e0b26763c7bbc5ecd433c41d5a"
- }
- Frame {
- msec: 1440
- hash: "0ae75d3cf890fe95e53f4c2c2eb0c660"
- }
- Frame {
- msec: 1456
- hash: "1014ed3a45803f4ca8dfd669137d3502"
- }
- Frame {
- msec: 1472
- hash: "0abf6b3183b4b85eabbcb3f2d4173473"
- }
- Frame {
- msec: 1488
- hash: "39dbf6788ad997531894fd5138953f21"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1504
- hash: "0fd0841b32106155e25c274b47724d60"
- }
- Frame {
- msec: 1520
- hash: "9fa396cab1425ca03e394c681ccb798d"
- }
- Frame {
- msec: 1536
- hash: "3c62d2a016bba6cd3f83982dcb7c1582"
- }
- Frame {
- msec: 1552
- hash: "ee6f16b9165eb663ae78716f723e5b16"
- }
- Frame {
- msec: 1568
- hash: "dd2c49caa8b8f690fd8a29aac7f85dc8"
- }
- Frame {
- msec: 1584
- hash: "79343bd1b7472d75daad9ae9848b89ba"
- }
- Frame {
- msec: 1600
- hash: "4c087ae0614e4736130235eea0af5267"
- }
- Frame {
- msec: 1616
- hash: "87d75b0e3bd197084f8d8c0601ba195d"
- }
- Frame {
- msec: 1632
- hash: "ccd66bab965c78aa3b39728aef0648c6"
- }
- Frame {
- msec: 1648
- hash: "d311116fafc9693e6c55eb2c1273a487"
- }
- Frame {
- msec: 1664
- hash: "a4c1bc9c9f987bacfd19ea64f9a3ec2c"
- }
- Frame {
- msec: 1680
- hash: "a6b86821b0563c06b478b62037edffe5"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1696
- hash: "30b8fd8f9d3e63c9101cf3558fc7f0d6"
- }
- Frame {
- msec: 1712
- hash: "8224ae61cfce9bbf9f69677071285ddc"
- }
- Frame {
- msec: 1728
- hash: "1b7408ad665e5e316893397c9362e069"
- }
- Frame {
- msec: 1744
- hash: "7ace1472840c3184263fe23cec5ba929"
- }
- Frame {
- msec: 1760
- hash: "ea3f542c80564ad841675197b51272c9"
- }
- Frame {
- msec: 1776
- hash: "0c4989dbd8d4008c1834140e28b98405"
- }
- Frame {
- msec: 1792
- hash: "337452c36385bebadb35498172eb82ef"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1808
- hash: "030ff7472ad4d566166e99aeb1daf1ad"
- }
- Frame {
- msec: 1824
- hash: "59f7bb68de85445bad114caca87ae859"
- }
- Frame {
- msec: 1840
- hash: "5c0e8905d830357ca7bc26c6383a2dcc"
- }
- Frame {
- msec: 1856
- hash: "b00e889ee28556eaca18a6d52b8b4c0c"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1872
- hash: "07d4cc37e71ff6fb34c1370db27bd0f9"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1888
- hash: "86d74cd53c541fde95b36a3899859272"
- }
- Frame {
- msec: 1904
- hash: "82457df6a73b8aa32b567cac53d19679"
- }
- Frame {
- msec: 1920
- hash: "63be8d924bace20717f87f7d260060e5"
- }
- Frame {
- msec: 1936
- image: "cursorDelegate.2.png"
- }
- Frame {
- msec: 1952
- hash: "d274989f514174cda3316fa6650aed05"
- }
- Frame {
- msec: 1968
- hash: "f1cae5982318ec621423513f7a090adf"
- }
- Frame {
- msec: 1984
- hash: "1b30dd4a817370d8b6f5908cef69eeb9"
- }
- Frame {
- msec: 2000
- hash: "1b30dd4a817370d8b6f5908cef69eeb9"
- }
- Frame {
- msec: 2016
- hash: "1b30dd4a817370d8b6f5908cef69eeb9"
- }
- Frame {
- msec: 2032
- hash: "1b30dd4a817370d8b6f5908cef69eeb9"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2048
- hash: "1b30dd4a817370d8b6f5908cef69eeb9"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "f1cae5982318ec621423513f7a090adf"
- }
- Frame {
- msec: 2080
- hash: "d274989f514174cda3316fa6650aed05"
- }
- Frame {
- msec: 2096
- hash: "4c51c2e71ee1fef13b9ac5213b057cef"
- }
- Frame {
- msec: 2112
- hash: "63be8d924bace20717f87f7d260060e5"
- }
- Frame {
- msec: 2128
- hash: "82457df6a73b8aa32b567cac53d19679"
- }
- Frame {
- msec: 2144
- hash: "86d74cd53c541fde95b36a3899859272"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "9bfb6b9a2604b4c534539bc731abda10"
- }
- Frame {
- msec: 2176
- hash: "dfa52bb483388dfee56577968d013c8f"
- }
- Frame {
- msec: 2192
- hash: "ea77a49e7e246649248e19b72d6433c9"
- }
- Frame {
- msec: 2208
- hash: "348e6a82b1491739e72c5c361158a967"
- }
- Frame {
- msec: 2224
- hash: "bb52aa533659d770d01deb8bef5a8b4d"
- }
- Frame {
- msec: 2240
- hash: "082441b5fea02f2676ad4d53aefb6927"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2256
- hash: "9194cd1399ceeda421944cd87182039b"
- }
- Frame {
- msec: 2272
- hash: "edff1333eb3a0047c527503ab3dbe71c"
- }
- Frame {
- msec: 2288
- hash: "e5c9931c8baf260d77f9cfcc1bb41101"
- }
- Frame {
- msec: 2304
- hash: "75c37de92c5af3305733a92d405a4ec8"
- }
- Frame {
- msec: 2320
- hash: "f27082799d0860c660d16c3f9fe6e538"
- }
- Frame {
- msec: 2336
- hash: "5d79ff6cac5bd6943b656964c1d78b00"
- }
- Frame {
- msec: 2352
- hash: "d58a1176858e49c89fc77bed260c6269"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "70deb136fd364646e73390f0aa751baa"
- }
- Frame {
- msec: 2384
- hash: "ed3bf83d975d6b8f830ce0b5a0ad64cc"
- }
- Frame {
- msec: 2400
- hash: "9007b93c9b9ae3612a0f97fe2e2ae825"
- }
- Frame {
- msec: 2416
- hash: "c39f05a5471fb3a26f57feab2b99c8fa"
- }
- Frame {
- msec: 2432
- hash: "49cd710decb32599d7a9c8e0239bf9a5"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "df3e2a44ed4e7cf6adb49f84b1d4fc53"
- }
- Frame {
- msec: 2464
- hash: "5b7984204405b31a0262da011ff3903e"
- }
- Frame {
- msec: 2480
- hash: "0dd2dc00c42eb7bb731d64e9a7188c83"
- }
- Frame {
- msec: 2496
- hash: "1b811aa744375668672fb8b4e0d75621"
- }
- Frame {
- msec: 2512
- hash: "f34c084f977a20fcf96eaf1e7b5423f7"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2528
- hash: "145b1c6526e04f02adf94eb5d0369ae0"
- }
- Frame {
- msec: 2544
- hash: "1b047f1cb4738188c10d8b05e636694a"
- }
- Frame {
- msec: 2560
- hash: "3f5921d19c63c7d434f0428cb155426e"
- }
- Frame {
- msec: 2576
- hash: "940a9ca625a813af3c9f74600b9dd668"
- }
- Frame {
- msec: 2592
- hash: "3df53c013eae20a71e4337be5499ff65"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2608
- hash: "34e4524d132bbb2a9e4aaffa0982ad33"
- }
- Frame {
- msec: 2624
- hash: "87942e371bd51726dbfa5a09fdd31631"
- }
- Frame {
- msec: 2640
- hash: "a2baf811e2b51215c4e5f88f0854f5a5"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2656
- hash: "cc12390ac2a3296c04f2538fb3b4cc00"
- }
- Frame {
- msec: 2672
- hash: "f209d32ec1742194c8436c36230a8239"
- }
- Frame {
- msec: 2688
- hash: "444d87a6fc19b8f0e8dcda0615a484aa"
- }
- Frame {
- msec: 2704
- hash: "2e492b973fffd68245c24d603d2a8221"
- }
- Frame {
- msec: 2720
- hash: "742ab9c9d4d8e37337f237f792aba160"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2736
- hash: "74db3d75c0b30946b18edf5fc115dfce"
- }
- Frame {
- msec: 2752
- hash: "86685be3dbb2236676f767894c694a5a"
- }
- Frame {
- msec: 2768
- hash: "327351a6164fd566dd0f7ead05c7ea36"
- }
- Frame {
- msec: 2784
- hash: "ba9262ab3d8824e3a9cdcfe29059bbda"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2800
- hash: "8c8aba2c44a7ea5b4d1e2206a3dbd6a2"
- }
- Frame {
- msec: 2816
- hash: "560067cbba922e2958bc7bae5ab93572"
- }
- Frame {
- msec: 2832
- hash: "566c84584e49c633fdada833ea386565"
- }
- Frame {
- msec: 2848
- hash: "615819749d92cb0b927e370c05321f5b"
- }
- Frame {
- msec: 2864
- hash: "9f11ee25f10750cc2302e6b528ab68b9"
- }
- Frame {
- msec: 2880
- hash: "5140d2ac5f1b361776fb335d43fcda1a"
- }
- Frame {
- msec: 2896
- image: "cursorDelegate.3.png"
- }
- Frame {
- msec: 2912
- hash: "5fb75369681ac189b4de918dfa639f55"
- }
- Frame {
- msec: 2928
- hash: "9da1688d1084f1588b6d203698c8a2b6"
- }
- Frame {
- msec: 2944
- hash: "91bbae5a8fd04da71b1353f687c15d9f"
- }
- Frame {
- msec: 2960
- hash: "d3c0a6ed0510abb6135fb2e61f8721d8"
- }
- Frame {
- msec: 2976
- hash: "23e728398c03c805066766081e434d41"
- }
- Frame {
- msec: 2992
- hash: "23e728398c03c805066766081e434d41"
- }
- Frame {
- msec: 3008
- hash: "23e728398c03c805066766081e434d41"
- }
- Frame {
- msec: 3024
- hash: "23e728398c03c805066766081e434d41"
- }
- Frame {
- msec: 3040
- hash: "23e728398c03c805066766081e434d41"
- }
- Frame {
- msec: 3056
- hash: "23e728398c03c805066766081e434d41"
- }
- Frame {
- msec: 3072
- hash: "d3c0a6ed0510abb6135fb2e61f8721d8"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3088
- hash: "d5519a015a697dcb1763748bd2789441"
- }
- Frame {
- msec: 3104
- hash: "d8ca000081bf565a4f3de5a5e94d894b"
- }
- Frame {
- msec: 3120
- hash: "03984ab7a25d80e24dd0650f881b8203"
- }
- Frame {
- msec: 3136
- hash: "edfea780ea62d48ac69afa5e6cad00af"
- }
- Frame {
- msec: 3152
- hash: "b00a5d2424568d823eb7be0438dafa1f"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3168
- hash: "76fda33dcea27a034ddfab61031d8de6"
- }
- Frame {
- msec: 3184
- hash: "11b9e3a58fd2c6d86e61a5e3b7db04b4"
- }
- Frame {
- msec: 3200
- hash: "f7c583d00d7154d9e8af88bec706f97f"
- }
- Frame {
- msec: 3216
- hash: "8680b8c69c544213fb8d55233bde4ce5"
- }
- Frame {
- msec: 3232
- hash: "74fc148e3c466023e2449c6b1367bceb"
- }
- Frame {
- msec: 3248
- hash: "9495a0ffe7589351cfced8b26f6d64e4"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3264
- hash: "519c58c8c0f62d96005b49f68648565b"
- }
- Frame {
- msec: 3280
- hash: "609a2d8f02c8b42e0921a2a900edccbd"
- }
- Frame {
- msec: 3296
- hash: "c54617fb7b21ef8dc2bc0d8492ec476e"
- }
- Frame {
- msec: 3312
- hash: "096dc0d8b3ed47894ab0289bcfe3aa8f"
- }
- Frame {
- msec: 3328
- hash: "5b725bb5951caa968d221fe7c5dd6370"
- }
- Frame {
- msec: 3344
- hash: "6733673178a1b85b22d22610a6f6c3d7"
- }
- Frame {
- msec: 3360
- hash: "5efbed8f4de4387572c5a98ba14f3c27"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3376
- hash: "650a0792ee0025e12f7f0ce6df72df6c"
- }
- Frame {
- msec: 3392
- hash: "0064815fa6e2bcbbe5f2ea8222ddd2b0"
- }
- Frame {
- msec: 3408
- hash: "13ca683ddd0071771e853a09fc6e5842"
- }
- Frame {
- msec: 3424
- hash: "1625325eee9b4eaab2df135e0d2f0f14"
- }
- Frame {
- msec: 3440
- hash: "9e3f1df1b243167b5470778e8c44f7d1"
- }
- Frame {
- msec: 3456
- hash: "493634fa37f10eb02d255253171d190d"
- }
- Frame {
- msec: 3472
- hash: "86ddfc357d158deae39a7565c512d0c0"
- }
- Frame {
- msec: 3488
- hash: "74486ca31cf165f0e55aacfae7af9e4c"
- }
- Frame {
- msec: 3504
- hash: "3479f78faf16d4d07b6b44d7682ac016"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3520
- hash: "cb35c6a887f191b2eb5de961912c94b8"
- }
- Frame {
- msec: 3536
- hash: "53f5028e96fc65cc6171e78c31c16026"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3552
- hash: "c77e078983f12d8007c5509cd8b356f9"
- }
- Frame {
- msec: 3568
- hash: "ec2da5c6869161936e2598961c605674"
- }
- Frame {
- msec: 3584
- hash: "bb9adcb5730aeafb2956e01d9aacaee1"
- }
- Frame {
- msec: 3600
- hash: "49cd710decb32599d7a9c8e0239bf9a5"
- }
- Frame {
- msec: 3616
- hash: "c39f05a5471fb3a26f57feab2b99c8fa"
- }
- Frame {
- msec: 3632
- hash: "9007b93c9b9ae3612a0f97fe2e2ae825"
- }
- Frame {
- msec: 3648
- hash: "ed3bf83d975d6b8f830ce0b5a0ad64cc"
- }
- Frame {
- msec: 3664
- hash: "70deb136fd364646e73390f0aa751baa"
- }
- Frame {
- msec: 3680
- hash: "d58a1176858e49c89fc77bed260c6269"
- }
- Frame {
- msec: 3696
- hash: "5d79ff6cac5bd6943b656964c1d78b00"
- }
- Frame {
- msec: 3712
- hash: "f27082799d0860c660d16c3f9fe6e538"
- }
- Frame {
- msec: 3728
- hash: "75c37de92c5af3305733a92d405a4ec8"
- }
- Frame {
- msec: 3744
- hash: "e5c9931c8baf260d77f9cfcc1bb41101"
- }
- Frame {
- msec: 3760
- hash: "edff1333eb3a0047c527503ab3dbe71c"
- }
- Frame {
- msec: 3776
- hash: "9194cd1399ceeda421944cd87182039b"
- }
- Frame {
- msec: 3792
- hash: "082441b5fea02f2676ad4d53aefb6927"
- }
- Frame {
- msec: 3808
- hash: "bb52aa533659d770d01deb8bef5a8b4d"
- }
- Frame {
- msec: 3824
- hash: "348e6a82b1491739e72c5c361158a967"
- }
- Frame {
- msec: 3840
- hash: "ea77a49e7e246649248e19b72d6433c9"
- }
- Frame {
- msec: 3856
- image: "cursorDelegate.4.png"
- }
- Frame {
- msec: 3872
- hash: "9bfb6b9a2604b4c534539bc731abda10"
- }
- Frame {
- msec: 3888
- hash: "02b01092c1f0e279872490306163647d"
- }
- Frame {
- msec: 3904
- hash: "acf688ab0ceba1d5d1e0225b90fd706f"
- }
- Frame {
- msec: 3920
- hash: "5866ceee0fd72361dd490a2163b4fc55"
- }
- Frame {
- msec: 3936
- hash: "218083c830ad133e2aeb4692d2d1517d"
- }
- Frame {
- msec: 3952
- hash: "3542537f0b0e1375d81c7f0365bbdf1d"
- }
- Frame {
- msec: 3968
- hash: "ca17401d638025fde8aad18b9a358029"
- }
- Frame {
- msec: 3984
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4000
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4016
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4032
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4048
- hash: "87d666ee3bcf7a606e2aecb4954cfb28"
- }
- Frame {
- msec: 4064
- hash: "ca17401d638025fde8aad18b9a358029"
- }
- Frame {
- msec: 4080
- hash: "3542537f0b0e1375d81c7f0365bbdf1d"
- }
- Frame {
- msec: 4096
- hash: "218083c830ad133e2aeb4692d2d1517d"
- }
- Frame {
- msec: 4112
- hash: "5866ceee0fd72361dd490a2163b4fc55"
- }
- Frame {
- msec: 4128
- hash: "acf688ab0ceba1d5d1e0225b90fd706f"
- }
- Frame {
- msec: 4144
- hash: "02b01092c1f0e279872490306163647d"
- }
- Frame {
- msec: 4160
- hash: "9bfb6b9a2604b4c534539bc731abda10"
- }
- Frame {
- msec: 4176
- hash: "dfa52bb483388dfee56577968d013c8f"
- }
- Frame {
- msec: 4192
- hash: "ea77a49e7e246649248e19b72d6433c9"
- }
- Frame {
- msec: 4208
- hash: "348e6a82b1491739e72c5c361158a967"
- }
- Frame {
- msec: 4224
- hash: "bb52aa533659d770d01deb8bef5a8b4d"
- }
- Frame {
- msec: 4240
- hash: "082441b5fea02f2676ad4d53aefb6927"
- }
- Frame {
- msec: 4256
- hash: "9194cd1399ceeda421944cd87182039b"
- }
- Frame {
- msec: 4272
- hash: "edff1333eb3a0047c527503ab3dbe71c"
- }
- Frame {
- msec: 4288
- hash: "e5c9931c8baf260d77f9cfcc1bb41101"
- }
- Frame {
- msec: 4304
- hash: "75c37de92c5af3305733a92d405a4ec8"
- }
- Frame {
- msec: 4320
- hash: "f27082799d0860c660d16c3f9fe6e538"
- }
- Frame {
- msec: 4336
- hash: "5d79ff6cac5bd6943b656964c1d78b00"
- }
- Frame {
- msec: 4352
- hash: "d58a1176858e49c89fc77bed260c6269"
- }
- Frame {
- msec: 4368
- hash: "70deb136fd364646e73390f0aa751baa"
- }
- Frame {
- msec: 4384
- hash: "ed3bf83d975d6b8f830ce0b5a0ad64cc"
- }
- Frame {
- msec: 4400
- hash: "9007b93c9b9ae3612a0f97fe2e2ae825"
- }
- Frame {
- msec: 4416
- hash: "c39f05a5471fb3a26f57feab2b99c8fa"
- }
- Frame {
- msec: 4432
- hash: "49cd710decb32599d7a9c8e0239bf9a5"
- }
- Frame {
- msec: 4448
- hash: "bb9adcb5730aeafb2956e01d9aacaee1"
- }
- Frame {
- msec: 4464
- hash: "ec2da5c6869161936e2598961c605674"
- }
- Frame {
- msec: 4480
- hash: "c77e078983f12d8007c5509cd8b356f9"
- }
- Frame {
- msec: 4496
- hash: "53f5028e96fc65cc6171e78c31c16026"
- }
- Frame {
- msec: 4512
- hash: "cb35c6a887f191b2eb5de961912c94b8"
- }
- Frame {
- msec: 4528
- hash: "3479f78faf16d4d07b6b44d7682ac016"
- }
- Frame {
- msec: 4544
- hash: "74486ca31cf165f0e55aacfae7af9e4c"
- }
- Frame {
- msec: 4560
- hash: "86ddfc357d158deae39a7565c512d0c0"
- }
- Frame {
- msec: 4576
- hash: "493634fa37f10eb02d255253171d190d"
- }
- Frame {
- msec: 4592
- hash: "9e3f1df1b243167b5470778e8c44f7d1"
- }
- Frame {
- msec: 4608
- hash: "1625325eee9b4eaab2df135e0d2f0f14"
- }
- Frame {
- msec: 4624
- hash: "13ca683ddd0071771e853a09fc6e5842"
- }
- Frame {
- msec: 4640
- hash: "0064815fa6e2bcbbe5f2ea8222ddd2b0"
- }
- Frame {
- msec: 4656
- hash: "650a0792ee0025e12f7f0ce6df72df6c"
- }
- Frame {
- msec: 4672
- hash: "5efbed8f4de4387572c5a98ba14f3c27"
- }
- Frame {
- msec: 4688
- hash: "6733673178a1b85b22d22610a6f6c3d7"
- }
- Frame {
- msec: 4704
- hash: "5b725bb5951caa968d221fe7c5dd6370"
- }
- Frame {
- msec: 4720
- hash: "096dc0d8b3ed47894ab0289bcfe3aa8f"
- }
- Frame {
- msec: 4736
- hash: "c54617fb7b21ef8dc2bc0d8492ec476e"
- }
- Frame {
- msec: 4752
- hash: "609a2d8f02c8b42e0921a2a900edccbd"
- }
- Frame {
- msec: 4768
- hash: "519c58c8c0f62d96005b49f68648565b"
- }
- Frame {
- msec: 4784
- hash: "5d1dd05aade754c204d13f5de03413dd"
- }
- Frame {
- msec: 4800
- hash: "ceca317086930994c35b0ed08db71d64"
- }
- Frame {
- msec: 4816
- image: "cursorDelegate.5.png"
- }
- Frame {
- msec: 4832
- hash: "64fcbd6ba961634b0ba33ec5b6693945"
- }
- Frame {
- msec: 4848
- hash: "48a6ced88807a05aea34b47d36261347"
- }
- Frame {
- msec: 4864
- hash: "aafa7081d0f1a46478c0956ad5c56d1d"
- }
- Frame {
- msec: 4880
- hash: "6a9f14ec3fcd119afe68cbf372b13076"
- }
- Frame {
- msec: 4896
- hash: "927556bdf4e883c409ba8797001152ce"
- }
- Frame {
- msec: 4912
- hash: "b93878281f21c85c211908086f2899e7"
- }
- Frame {
- msec: 4928
- hash: "235b68812a3cb48fc09bd8319aef40f1"
- }
- Frame {
- msec: 4944
- hash: "8943d47912a4206e61836d99cca835da"
- }
- Frame {
- msec: 4960
- hash: "4d06d264f71d75421c9a6d5a87d6a9ba"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png
deleted file mode 100644
index 63b177946b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.1.png
deleted file mode 100644
index 79246521c3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.2.png
deleted file mode 100644
index e77bfde06c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.3.png
deleted file mode 100644
index 67d7e52514..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml
deleted file mode 100644
index ee29db6169..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/echoMode.qml
+++ /dev/null
@@ -1,1043 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "echoMode.0.png"
- }
- Frame {
- msec: 32
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 48
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 64
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 80
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 96
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 112
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 128
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 144
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 160
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 176
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 192
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 208
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 224
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 240
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 256
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 272
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 288
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 304
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 320
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 336
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Frame {
- msec: 352
- hash: "75bcecaf83ffc9b851894db0be2c02bc"
- }
- Key {
- type: 6
- key: 74
- modifiers: 33554432
- text: "4a"
- autorep: false
- count: 1
- }
- Frame {
- msec: 368
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 384
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 400
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 416
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 432
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Key {
- type: 7
- key: 74
- modifiers: 33554432
- text: "4a"
- autorep: false
- count: 1
- }
- Frame {
- msec: 448
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 464
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 480
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 496
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 512
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 528
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 560
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 576
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 592
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 608
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 624
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 640
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 656
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 672
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Frame {
- msec: 688
- hash: "1a9f4d47e3982ce68eee8446fd735487"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 704
- hash: "9ab137169f2ea0f4b140a6e668f59ad2"
- }
- Frame {
- msec: 720
- hash: "9ab137169f2ea0f4b140a6e668f59ad2"
- }
- Frame {
- msec: 736
- hash: "9ab137169f2ea0f4b140a6e668f59ad2"
- }
- Frame {
- msec: 752
- hash: "9ab137169f2ea0f4b140a6e668f59ad2"
- }
- Frame {
- msec: 768
- hash: "9ab137169f2ea0f4b140a6e668f59ad2"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 784
- hash: "9ab137169f2ea0f4b140a6e668f59ad2"
- }
- Frame {
- msec: 800
- hash: "9ab137169f2ea0f4b140a6e668f59ad2"
- }
- Frame {
- msec: 816
- hash: "9ab137169f2ea0f4b140a6e668f59ad2"
- }
- Frame {
- msec: 832
- hash: "9ab137169f2ea0f4b140a6e668f59ad2"
- }
- Frame {
- msec: 848
- hash: "9ab137169f2ea0f4b140a6e668f59ad2"
- }
- Key {
- type: 6
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 864
- hash: "3080734a2da042b87ef9177cbb314835"
- }
- Frame {
- msec: 880
- hash: "3080734a2da042b87ef9177cbb314835"
- }
- Frame {
- msec: 896
- hash: "3080734a2da042b87ef9177cbb314835"
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 912
- hash: "3080734a2da042b87ef9177cbb314835"
- }
- Frame {
- msec: 928
- hash: "3080734a2da042b87ef9177cbb314835"
- }
- Frame {
- msec: 944
- hash: "3080734a2da042b87ef9177cbb314835"
- }
- Frame {
- msec: 960
- hash: "3080734a2da042b87ef9177cbb314835"
- }
- Frame {
- msec: 976
- image: "echoMode.1.png"
- }
- Key {
- type: 6
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Frame {
- msec: 992
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1008
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1024
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1040
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Key {
- type: 7
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1056
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1072
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1088
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1104
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1120
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1136
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1152
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1168
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1184
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1200
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1216
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Frame {
- msec: 1232
- hash: "e591963b05361595383b1a60eec289cb"
- }
- Key {
- type: 6
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1248
- hash: "8a528bf3110bace8275f6fe33ce528b9"
- }
- Frame {
- msec: 1264
- hash: "8a528bf3110bace8275f6fe33ce528b9"
- }
- Frame {
- msec: 1280
- hash: "8a528bf3110bace8275f6fe33ce528b9"
- }
- Key {
- type: 7
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1296
- hash: "8a528bf3110bace8275f6fe33ce528b9"
- }
- Frame {
- msec: 1312
- hash: "8a528bf3110bace8275f6fe33ce528b9"
- }
- Frame {
- msec: 1328
- hash: "8a528bf3110bace8275f6fe33ce528b9"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1344
- hash: "03d56caa0c86b5544d1f5148e0dccd92"
- }
- Frame {
- msec: 1360
- hash: "03d56caa0c86b5544d1f5148e0dccd92"
- }
- Frame {
- msec: 1376
- hash: "03d56caa0c86b5544d1f5148e0dccd92"
- }
- Frame {
- msec: 1392
- hash: "03d56caa0c86b5544d1f5148e0dccd92"
- }
- Frame {
- msec: 1408
- hash: "03d56caa0c86b5544d1f5148e0dccd92"
- }
- Frame {
- msec: 1424
- hash: "03d56caa0c86b5544d1f5148e0dccd92"
- }
- Frame {
- msec: 1440
- hash: "03d56caa0c86b5544d1f5148e0dccd92"
- }
- Frame {
- msec: 1456
- hash: "03d56caa0c86b5544d1f5148e0dccd92"
- }
- Frame {
- msec: 1472
- hash: "03d56caa0c86b5544d1f5148e0dccd92"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1488
- hash: "03d56caa0c86b5544d1f5148e0dccd92"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1504
- hash: "d9aac9ed4ca0ad97b440db3ac7384001"
- }
- Frame {
- msec: 1520
- hash: "d9aac9ed4ca0ad97b440db3ac7384001"
- }
- Frame {
- msec: 1536
- hash: "d9aac9ed4ca0ad97b440db3ac7384001"
- }
- Frame {
- msec: 1552
- hash: "d9aac9ed4ca0ad97b440db3ac7384001"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1568
- hash: "d9aac9ed4ca0ad97b440db3ac7384001"
- }
- Frame {
- msec: 1584
- hash: "d9aac9ed4ca0ad97b440db3ac7384001"
- }
- Frame {
- msec: 1600
- hash: "d9aac9ed4ca0ad97b440db3ac7384001"
- }
- Frame {
- msec: 1616
- hash: "d9aac9ed4ca0ad97b440db3ac7384001"
- }
- Frame {
- msec: 1632
- hash: "d9aac9ed4ca0ad97b440db3ac7384001"
- }
- Frame {
- msec: 1648
- hash: "d9aac9ed4ca0ad97b440db3ac7384001"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1664
- hash: "a2e8a6a742b11b4f30a2d75df14d5f47"
- }
- Frame {
- msec: 1680
- hash: "a2e8a6a742b11b4f30a2d75df14d5f47"
- }
- Frame {
- msec: 1696
- hash: "a2e8a6a742b11b4f30a2d75df14d5f47"
- }
- Frame {
- msec: 1712
- hash: "a2e8a6a742b11b4f30a2d75df14d5f47"
- }
- Frame {
- msec: 1728
- hash: "a2e8a6a742b11b4f30a2d75df14d5f47"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1744
- hash: "021641e69fef4720acf6af15d4a2da82"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1760
- hash: "021641e69fef4720acf6af15d4a2da82"
- }
- Frame {
- msec: 1776
- hash: "021641e69fef4720acf6af15d4a2da82"
- }
- Frame {
- msec: 1792
- hash: "021641e69fef4720acf6af15d4a2da82"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1808
- hash: "021641e69fef4720acf6af15d4a2da82"
- }
- Frame {
- msec: 1824
- hash: "021641e69fef4720acf6af15d4a2da82"
- }
- Frame {
- msec: 1840
- hash: "021641e69fef4720acf6af15d4a2da82"
- }
- Frame {
- msec: 1856
- hash: "021641e69fef4720acf6af15d4a2da82"
- }
- Key {
- type: 6
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1872
- hash: "46ece14e3a61aefcb28b3c888ac7ea59"
- }
- Frame {
- msec: 1888
- hash: "46ece14e3a61aefcb28b3c888ac7ea59"
- }
- Frame {
- msec: 1904
- hash: "46ece14e3a61aefcb28b3c888ac7ea59"
- }
- Frame {
- msec: 1920
- hash: "46ece14e3a61aefcb28b3c888ac7ea59"
- }
- Key {
- type: 7
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1936
- image: "echoMode.2.png"
- }
- Frame {
- msec: 1952
- hash: "46ece14e3a61aefcb28b3c888ac7ea59"
- }
- Frame {
- msec: 1968
- hash: "46ece14e3a61aefcb28b3c888ac7ea59"
- }
- Frame {
- msec: 1984
- hash: "46ece14e3a61aefcb28b3c888ac7ea59"
- }
- Frame {
- msec: 2000
- hash: "46ece14e3a61aefcb28b3c888ac7ea59"
- }
- Frame {
- msec: 2016
- hash: "46ece14e3a61aefcb28b3c888ac7ea59"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2032
- hash: "ffa55ac51f20c82725cadbb445908fd2"
- }
- Frame {
- msec: 2048
- hash: "ffa55ac51f20c82725cadbb445908fd2"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "ffa55ac51f20c82725cadbb445908fd2"
- }
- Frame {
- msec: 2080
- hash: "ffa55ac51f20c82725cadbb445908fd2"
- }
- Key {
- type: 6
- key: 86
- modifiers: 0
- text: "76"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2096
- hash: "e9e2edb9176cb57506a3f130fca15d1e"
- }
- Frame {
- msec: 2112
- hash: "e9e2edb9176cb57506a3f130fca15d1e"
- }
- Frame {
- msec: 2128
- hash: "e9e2edb9176cb57506a3f130fca15d1e"
- }
- Frame {
- msec: 2144
- hash: "e9e2edb9176cb57506a3f130fca15d1e"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 86
- modifiers: 0
- text: "76"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "87c3cf93b47a766d6373ecaec7239dd4"
- }
- Frame {
- msec: 2176
- hash: "87c3cf93b47a766d6373ecaec7239dd4"
- }
- Frame {
- msec: 2192
- hash: "87c3cf93b47a766d6373ecaec7239dd4"
- }
- Frame {
- msec: 2208
- hash: "87c3cf93b47a766d6373ecaec7239dd4"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2224
- hash: "1fb4aa190807d169d1ceaff7d9fa92ad"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2240
- hash: "1fb4aa190807d169d1ceaff7d9fa92ad"
- }
- Frame {
- msec: 2256
- hash: "1fb4aa190807d169d1ceaff7d9fa92ad"
- }
- Frame {
- msec: 2272
- hash: "1fb4aa190807d169d1ceaff7d9fa92ad"
- }
- Frame {
- msec: 2288
- hash: "1fb4aa190807d169d1ceaff7d9fa92ad"
- }
- Frame {
- msec: 2304
- hash: "1fb4aa190807d169d1ceaff7d9fa92ad"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2320
- hash: "1fb4aa190807d169d1ceaff7d9fa92ad"
- }
- Frame {
- msec: 2336
- hash: "1fb4aa190807d169d1ceaff7d9fa92ad"
- }
- Key {
- type: 6
- key: 77
- modifiers: 0
- text: "6d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2352
- hash: "e9cd789b114befb4637fcff39d4413b0"
- }
- Frame {
- msec: 2368
- hash: "e9cd789b114befb4637fcff39d4413b0"
- }
- Frame {
- msec: 2384
- hash: "e9cd789b114befb4637fcff39d4413b0"
- }
- Frame {
- msec: 2400
- hash: "e9cd789b114befb4637fcff39d4413b0"
- }
- Frame {
- msec: 2416
- hash: "e9cd789b114befb4637fcff39d4413b0"
- }
- Frame {
- msec: 2432
- hash: "e9cd789b114befb4637fcff39d4413b0"
- }
- Key {
- type: 7
- key: 77
- modifiers: 0
- text: "6d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "e9cd789b114befb4637fcff39d4413b0"
- }
- Frame {
- msec: 2464
- hash: "e9cd789b114befb4637fcff39d4413b0"
- }
- Frame {
- msec: 2480
- hash: "e9cd789b114befb4637fcff39d4413b0"
- }
- Frame {
- msec: 2496
- hash: "e9cd789b114befb4637fcff39d4413b0"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2512
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2528
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2544
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2560
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2576
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2592
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2608
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2624
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2640
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2656
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2672
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2688
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2704
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2720
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2736
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2752
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2768
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2784
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2800
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2816
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2832
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2848
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2864
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2880
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2896
- image: "echoMode.3.png"
- }
- Frame {
- msec: 2912
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2928
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2944
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2960
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2976
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 2992
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 3008
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 3024
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 3040
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
- Frame {
- msec: 3056
- hash: "15f91fda9bcc8a2a9ebf3b9c32f61efb"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png
deleted file mode 100644
index 4c04a1b20d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml
deleted file mode 100644
index 74ee95f659..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/hAlign.qml
+++ /dev/null
@@ -1,107 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "hAlign.0.png"
- }
- Frame {
- msec: 32
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 48
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 64
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 80
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 96
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 112
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 128
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 144
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 160
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 176
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 192
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 208
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 224
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 240
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 256
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 272
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 288
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 304
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 320
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 336
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 352
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 368
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 384
- hash: "93758371bdc69b81077989e911f62fb0"
- }
- Frame {
- msec: 400
- hash: "93758371bdc69b81077989e911f62fb0"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.0.png
deleted file mode 100644
index fc34b1aa81..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.1.png
deleted file mode 100644
index fc34b1aa81..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.2.png
deleted file mode 100644
index fc34b1aa81..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.3.png
deleted file mode 100644
index fb2c90b8d9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.4.png
deleted file mode 100644
index fb2c90b8d9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.5.png
deleted file mode 100644
index e2231ffc5f..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.qml
deleted file mode 100644
index 790dffae41..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/qtbug-15818.qml
+++ /dev/null
@@ -1,1039 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "qtbug-15818.0.png"
- }
- Frame {
- msec: 32
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 48
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 64
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 80
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 96
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 112
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 128
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 144
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 160
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 176
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 192
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 208
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 224
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 240
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 256
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 272
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 288
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 304
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 320
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 336
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 352
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 368
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 384
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 400
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 416
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 432
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 448
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 464
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 480
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 496
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 512
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 528
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 544
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 560
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 576
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 592
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 608
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 624
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 640
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 656
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 672
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 688
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 704
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 720
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 736
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 752
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 768
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 784
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 800
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 816
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 832
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 848
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 864
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 880
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 26; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 896
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 912
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 928
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 27; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 27; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 944
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 960
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 976
- image: "qtbug-15818.1.png"
- }
- Frame {
- msec: 992
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 27; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1008
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1024
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1040
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1056
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1072
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1088
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1104
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 27; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1120
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1136
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1152
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1168
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1184
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1200
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1216
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1232
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1248
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1264
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1280
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1296
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1312
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1328
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1344
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1360
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1376
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1392
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1408
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1424
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1440
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1456
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1472
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1488
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1504
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1520
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1536
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1552
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1568
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1584
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1600
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1616
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1632
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1648
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1664
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1680
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1696
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1712
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1728
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1744
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1760
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1776
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Frame {
- msec: 1792
- hash: "8833dfac6aae78ce1309222cc4438e6f"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 43; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1808
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 1824
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 1840
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 1856
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 1872
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 1888
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 43; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1904
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 1920
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 1936
- image: "qtbug-15818.2.png"
- }
- Frame {
- msec: 1952
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 43; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1968
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 1984
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2000
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2016
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2032
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2048
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2064
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 43; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2080
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2096
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2112
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2128
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2144
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2160
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2176
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2192
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2208
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2224
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2240
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2256
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2272
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2288
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2304
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2320
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2336
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2352
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2368
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2384
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2400
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2416
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2432
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2448
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2464
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2480
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2496
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2512
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2528
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2544
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2560
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2576
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2592
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2608
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2624
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2640
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2656
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2672
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2688
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 54; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2704
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 2720
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 2736
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 2752
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 2768
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 2784
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 55; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2800
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 2816
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 2832
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Frame {
- msec: 2848
- hash: "0a63463fc1004efffd15f9524bcf3a29"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 55; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2864
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2880
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2896
- image: "qtbug-15818.3.png"
- }
- Frame {
- msec: 2912
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2928
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2944
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2960
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 2976
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 55; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2992
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3008
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3024
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3040
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3056
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3072
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3088
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3104
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3120
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3136
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3152
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3168
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3184
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3200
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3216
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3232
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3248
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3264
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3280
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3296
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3312
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3328
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3344
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3360
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3376
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3392
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3408
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3424
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3440
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3456
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3472
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3488
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3504
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3520
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3536
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3552
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3568
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3584
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3600
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3616
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3632
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3648
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3664
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
- Frame {
- msec: 3680
- hash: "270462ec02bce658757e0ea4fb2136b1"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.0.png
deleted file mode 100644
index fb0eb85e4c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.1.png
deleted file mode 100644
index 444ee34485..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.10.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.10.png
deleted file mode 100644
index 5f3668c7df..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.png
deleted file mode 100644
index 7829e03b43..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.11.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.2.png
deleted file mode 100644
index 444ee34485..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.3.png
deleted file mode 100644
index 9bcd6a7a8b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.4.png
deleted file mode 100644
index 04a1e66dc7..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.5.png
deleted file mode 100644
index 716f59bbb0..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.6.png
deleted file mode 100644
index f6b9fcea6d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.7.png
deleted file mode 100644
index 61430e8e0c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.8.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.8.png
deleted file mode 100644
index be9691f6bd..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.9.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.9.png
deleted file mode 100644
index 4f285b19cf..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml
deleted file mode 100644
index 8957e39366..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data-X11/usingLineEdit.qml
+++ /dev/null
@@ -1,4335 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "usingLineEdit.0.png"
- }
- Frame {
- msec: 32
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 48
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 64
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 80
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 96
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 112
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 128
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 144
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 160
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 176
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 192
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 208
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 224
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 240
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 256
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 272
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 288
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 304
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 320
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 336
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 352
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 368
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 384
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 400
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 416
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 432
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 448
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 464
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 480
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 496
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 512
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 528
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 544
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 560
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 576
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 592
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 608
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 624
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 640
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 656
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 672
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 688
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 704
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 720
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 736
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 752
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 768
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 784
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 800
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 816
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 832
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 848
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 864
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 880
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 896
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 912
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Frame {
- msec: 928
- hash: "2e747d3e26cc85e4c36c42097ab3f379"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 85; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 944
- hash: "227431895322480615fb61a635305230"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 85; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 960
- hash: "227431895322480615fb61a635305230"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 85; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 976
- image: "usingLineEdit.1.png"
- }
- Frame {
- msec: 992
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1008
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1024
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1040
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1056
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 85; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1072
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1088
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1104
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1120
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1136
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1152
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1168
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1184
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1200
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1216
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1232
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1248
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1264
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1280
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1296
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1312
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1328
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1344
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1360
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1376
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1392
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1408
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1424
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1440
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1456
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1472
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1488
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1504
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1520
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1536
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1552
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1568
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1584
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1600
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1616
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1632
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1648
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1664
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1680
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1696
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1712
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1728
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1744
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1760
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1776
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1792
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1808
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1824
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1840
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1856
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1872
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1888
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1904
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1920
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1936
- image: "usingLineEdit.2.png"
- }
- Frame {
- msec: 1952
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1968
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 1984
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Key {
- type: 6
- key: 67
- modifiers: 67108864
- text: "03"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2000
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2016
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2032
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2048
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2064
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2080
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2096
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2112
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2128
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2144
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2160
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2176
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2192
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2208
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2224
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2240
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2256
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2272
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2288
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2304
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2320
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2336
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2352
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2368
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2384
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2400
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2416
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2432
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2448
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2464
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Frame {
- msec: 2480
- hash: "b888cf6d6e002e28690cff49726eea70"
- }
- Key {
- type: 6
- key: 16777233
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2496
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2512
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2528
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2544
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2560
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2576
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Key {
- type: 7
- key: 16777233
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2592
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2608
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2624
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2640
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2656
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2672
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2688
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2704
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2720
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2736
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2752
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2768
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2784
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2800
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2816
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2832
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2848
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2864
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2880
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2896
- image: "usingLineEdit.3.png"
- }
- Frame {
- msec: 2912
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2928
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2944
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2960
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2976
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 2992
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3008
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3024
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3040
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3056
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3072
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3088
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3104
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3120
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3136
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3152
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3168
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3184
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3200
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Frame {
- msec: 3216
- hash: "62afc4e3874da1bcd7e86860bbf6db20"
- }
- Key {
- type: 6
- key: 86
- modifiers: 67108864
- text: "16"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3232
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3248
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3264
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3280
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3296
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3312
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3328
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Key {
- type: 7
- key: 86
- modifiers: 67108864
- text: "16"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3344
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3360
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3376
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3392
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3408
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3424
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3440
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3456
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3472
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3488
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3504
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3520
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3536
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Frame {
- msec: 3552
- hash: "dc7187f95e9f178cd5d5a0c4e0d637c3"
- }
- Key {
- type: 6
- key: 86
- modifiers: 67108864
- text: "16"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3568
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3584
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3600
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3616
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3632
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3648
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3664
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3680
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Key {
- type: 7
- key: 86
- modifiers: 67108864
- text: "16"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3696
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3712
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3728
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3744
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3760
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3776
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3792
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3808
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3824
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3840
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3856
- image: "usingLineEdit.4.png"
- }
- Frame {
- msec: 3872
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3888
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3904
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3920
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3936
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3952
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3968
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 3984
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4000
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4016
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4032
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4048
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4064
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4080
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4096
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4112
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4128
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4144
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4160
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4176
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4192
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 4208
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4224
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4240
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4256
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4272
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4288
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4304
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4320
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4336
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4352
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4368
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4384
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4400
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4416
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4432
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4448
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4464
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4480
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4496
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4512
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4528
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4544
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4560
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4576
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4592
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4608
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4624
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4640
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4656
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4672
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4688
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Frame {
- msec: 4704
- hash: "942d2dde9d40eb0864831831b9056525"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 69; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4720
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4736
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4752
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4768
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4784
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4800
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 69; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4816
- image: "usingLineEdit.5.png"
- }
- Frame {
- msec: 4832
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4848
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4864
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4880
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4896
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4912
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4928
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4944
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4960
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4976
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 4992
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5008
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5024
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5040
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5056
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5072
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5088
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5104
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5120
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5136
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5152
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5168
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5184
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5200
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5216
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5232
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5248
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5264
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5280
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5296
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5312
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5328
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5344
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Frame {
- msec: 5360
- hash: "9103b19d12565b6d28380f48acfce3c3"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5376
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5392
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5408
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5424
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5440
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5456
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5472
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5488
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5504
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5520
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5536
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5552
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5568
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5584
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5600
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Frame {
- msec: 5616
- hash: "3c6258003fba9b4a61bde3a5eb2394d5"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5632
- hash: "f2c1bfd1a4ffb5bc0a5a354707a8ecf8"
- }
- Frame {
- msec: 5648
- hash: "f2c1bfd1a4ffb5bc0a5a354707a8ecf8"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5664
- hash: "9f4fc35d1b6f5984972da9f819a4031e"
- }
- Frame {
- msec: 5680
- hash: "9f4fc35d1b6f5984972da9f819a4031e"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5696
- hash: "68e84d0e6c0febe00cbc8ff13e7efae1"
- }
- Frame {
- msec: 5712
- hash: "68e84d0e6c0febe00cbc8ff13e7efae1"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5728
- hash: "f0c61e706be86d31f124d6405c14c5b4"
- }
- Frame {
- msec: 5744
- hash: "f0c61e706be86d31f124d6405c14c5b4"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5760
- hash: "dbca3c9292e2a6efac887a33b735607f"
- }
- Frame {
- msec: 5776
- image: "usingLineEdit.6.png"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5792
- hash: "6cb5d4a9c79ac3dc6522c5a1022b2e6e"
- }
- Frame {
- msec: 5808
- hash: "6cb5d4a9c79ac3dc6522c5a1022b2e6e"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5824
- hash: "71d67363467f3053393382b887f43401"
- }
- Frame {
- msec: 5840
- hash: "71d67363467f3053393382b887f43401"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5856
- hash: "71d67363467f3053393382b887f43401"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5872
- hash: "db9175c9b81cb4b43f6d4d80549a5ae1"
- }
- Frame {
- msec: 5888
- hash: "db9175c9b81cb4b43f6d4d80549a5ae1"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5904
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 5920
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 5936
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 5952
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 5968
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 5984
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 6000
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 6016
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 6032
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 6048
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6064
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 6080
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 6096
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 6112
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 6128
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Frame {
- msec: 6144
- hash: "535d1bbe1d2147d70bec0b7d932eff41"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6160
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6176
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6192
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6208
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6224
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6240
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6256
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6272
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6288
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6304
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6320
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6336
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6352
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6368
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6384
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Frame {
- msec: 6400
- hash: "63132fa980a9fdcce415af1503f34ca6"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6416
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6432
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6448
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6464
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6480
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6496
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6512
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6528
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6544
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6560
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6576
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6592
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6608
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6624
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6640
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6656
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6672
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6688
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6704
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6720
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6736
- image: "usingLineEdit.7.png"
- }
- Frame {
- msec: 6752
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6768
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6784
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6800
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6816
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6832
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6848
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6864
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6880
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6896
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6912
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6928
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Frame {
- msec: 6944
- hash: "cf2ccad24e42d8764c1395e076f3a0df"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 6960
- hash: "43217b3192aea23b17e2a2e7d820def8"
- }
- Frame {
- msec: 6976
- hash: "43217b3192aea23b17e2a2e7d820def8"
- }
- Frame {
- msec: 6992
- hash: "43217b3192aea23b17e2a2e7d820def8"
- }
- Frame {
- msec: 7008
- hash: "43217b3192aea23b17e2a2e7d820def8"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7024
- hash: "43217b3192aea23b17e2a2e7d820def8"
- }
- Frame {
- msec: 7040
- hash: "43217b3192aea23b17e2a2e7d820def8"
- }
- Frame {
- msec: 7056
- hash: "43217b3192aea23b17e2a2e7d820def8"
- }
- Frame {
- msec: 7072
- hash: "43217b3192aea23b17e2a2e7d820def8"
- }
- Frame {
- msec: 7088
- hash: "43217b3192aea23b17e2a2e7d820def8"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7104
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Frame {
- msec: 7120
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Frame {
- msec: 7136
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Frame {
- msec: 7152
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7168
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Frame {
- msec: 7184
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Frame {
- msec: 7200
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Frame {
- msec: 7216
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Frame {
- msec: 7232
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Frame {
- msec: 7248
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Frame {
- msec: 7264
- hash: "02dceb1b71d82bfbea5fcfb630fef22d"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7280
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7296
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7312
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7328
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7344
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7360
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7376
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7392
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7408
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7424
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7440
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7456
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7472
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7488
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7504
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7520
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 7536
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7552
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7568
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7584
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7600
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7616
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7632
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7648
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7664
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7680
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7696
- image: "usingLineEdit.8.png"
- }
- Frame {
- msec: 7712
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7728
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7744
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7760
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7776
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7792
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7808
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7824
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7840
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7856
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7872
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7888
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7904
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7920
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7936
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7952
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7968
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 7984
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8000
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8016
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8032
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8048
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8064
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8080
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8096
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8112
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8128
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8144
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8160
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8176
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8192
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8208
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8224
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8240
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8256
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8272
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8288
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8304
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8320
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8336
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8352
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8368
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8384
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8400
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8416
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8432
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8448
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8464
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8480
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Frame {
- msec: 8496
- hash: "cff8ff96fe5f67faac7a04805d2a945b"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 61; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8512
- hash: "b901d339089fccecd217f562e3b0253a"
- }
- Frame {
- msec: 8528
- hash: "b901d339089fccecd217f562e3b0253a"
- }
- Frame {
- msec: 8544
- hash: "b901d339089fccecd217f562e3b0253a"
- }
- Frame {
- msec: 8560
- hash: "b901d339089fccecd217f562e3b0253a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 60; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8576
- hash: "b901d339089fccecd217f562e3b0253a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8592
- hash: "8173ad74ad73a8061af3edb8322b3e28"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 41; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 40; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8608
- hash: "8173ad74ad73a8061af3edb8322b3e28"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 32; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8624
- hash: "a470057b75a1aade3945dbb61526ae50"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 31; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 30; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8640
- hash: "a470057b75a1aade3945dbb61526ae50"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 29; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8656
- image: "usingLineEdit.9.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 28; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 27; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8672
- hash: "74c1edc228a7c4ba1c0adab9ed7dd086"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 26; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8688
- hash: "74c1edc228a7c4ba1c0adab9ed7dd086"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 25; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 24; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8704
- hash: "74c1edc228a7c4ba1c0adab9ed7dd086"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 23; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 22; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8720
- hash: "74c1edc228a7c4ba1c0adab9ed7dd086"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 20; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 19; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8736
- hash: "11e31d23d38f163c2c28ca042af7f9f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 18; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8752
- hash: "11e31d23d38f163c2c28ca042af7f9f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 16; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 15; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8768
- hash: "11e31d23d38f163c2c28ca042af7f9f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 14; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 13; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8784
- hash: "11e31d23d38f163c2c28ca042af7f9f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 12; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 11; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8800
- hash: "045f891731548aae37090e0cefb62170"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 10; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 8; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8816
- hash: "045f891731548aae37090e0cefb62170"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 6; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 5; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8832
- hash: "3b6f55bc49e7e326e40b0f3faae71a8b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 3; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 2; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8848
- hash: "abc04cd8ca8759f981f8e2c3b30a33ac"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 0; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -1; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8864
- hash: "f96cc6aa0a38639146d8d691d699946b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -2; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -3; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8880
- hash: "483743419cee348e8f6e24fd1e900ae6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -5; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -6; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8896
- hash: "50292f48ceeaee5f55795aea736631d0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -7; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -9; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8912
- hash: "9739b19d1496baabad1a01cf35c90374"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -10; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -11; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8928
- hash: "bcf1719dc1ec19d3cca83e41ffd4ba0d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -12; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -13; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8944
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -14; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -15; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8960
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 8976
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -16; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -17; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8992
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -18; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9008
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9024
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9040
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9056
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9072
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9088
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9104
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9120
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9136
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9152
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9168
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9184
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Frame {
- msec: 9200
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -17; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9216
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -16; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9232
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -14; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -13; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9248
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -11; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -10; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9264
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -8; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -7; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9280
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -6; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -5; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9296
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -3; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: -1; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9312
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 1; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 3; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9328
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 4; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 6; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9344
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 7; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 8; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9360
- hash: "192a6cf285d42c7a2996bf0342e69c97"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 10; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 11; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9376
- hash: "b79a6b6b2a670212a0f4310323352862"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 12; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 14; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9392
- hash: "b79a6b6b2a670212a0f4310323352862"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 15; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9408
- hash: "b79a6b6b2a670212a0f4310323352862"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 21; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 24; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9424
- hash: "82ad8cef2dc81cf061785c211f1b2233"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 27; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 30; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9440
- hash: "dc5c2e4ac2c51ac7b84a527a77313ff5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 33; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 35; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9456
- hash: "dc5c2e4ac2c51ac7b84a527a77313ff5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 38; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 39; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9472
- hash: "dceeee37f46351f54a6dbf9e1d304017"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 45; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9488
- hash: "dceeee37f46351f54a6dbf9e1d304017"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 48; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9504
- hash: "b5b370f86804d875363c8aa9fa53c0fe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 51; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9520
- hash: "b5b370f86804d875363c8aa9fa53c0fe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 55; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9536
- hash: "b5b370f86804d875363c8aa9fa53c0fe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 56; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9552
- hash: "8ae0e57709d94c27ecf34f9e76623ba8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 61; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 64; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9568
- hash: "8ae0e57709d94c27ecf34f9e76623ba8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 67; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9584
- hash: "a29b5440525c9fbed90096f287396c91"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 73; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 74; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9600
- hash: "d1091d48e0875fec9372c382c6961562"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 76; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9616
- image: "usingLineEdit.10.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 77; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 78; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9632
- hash: "d1091d48e0875fec9372c382c6961562"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 79; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 80; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9648
- hash: "d1091d48e0875fec9372c382c6961562"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 81; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 84; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9664
- hash: "e1ac646b512dec95946fb52811c269da"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 88; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9680
- hash: "29dfbe2f8ecee4ff5ecdf358a94f35f8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 89; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9696
- hash: "2ce02f81e21d4f9a3fd8d78fc8182898"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 94; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9712
- hash: "09e41ca9d2286e99cdecb446a33cbf99"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 96; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9728
- hash: "6d780f15bc7597420fc10b1a2f1c7f7f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 98; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 100; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9744
- hash: "afb956a94411eba22a0257faa5cbc57f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 102; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 104; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9760
- hash: "8739d2d2f9d96f0bce61ce95bf1e6062"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 105; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 108; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9776
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 110; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9792
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9808
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 112; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9824
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 113; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9840
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 114; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9856
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 9872
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9888
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 116; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9904
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 117; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9920
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 118; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9936
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 9952
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 119; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9968
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 120; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 9984
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 121; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10000
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10016
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10032
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10048
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10064
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10080
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10096
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10112
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10128
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10144
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10160
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10176
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10192
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10208
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10224
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10240
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 122; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 10256
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10272
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10288
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10304
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10320
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10336
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10352
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10368
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10384
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10400
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10416
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10432
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10448
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10464
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10480
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10496
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10512
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10528
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10544
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10560
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10576
- image: "usingLineEdit.11.png"
- }
- Frame {
- msec: 10592
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10608
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10624
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10640
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10656
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10672
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10688
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10704
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10720
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10736
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10752
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10768
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10784
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10800
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10816
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10832
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10848
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10864
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10880
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10896
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10912
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10928
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10944
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10960
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10976
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 10992
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11008
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11024
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11040
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11056
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11072
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11088
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11104
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11120
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11136
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11152
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11168
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11184
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11200
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11216
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11232
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11248
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
- Frame {
- msec: 11264
- hash: "4e2cb8e4cedab8df2ff823e18b17e575"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.qml
deleted file mode 100644
index 81f1bcc6c5..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/cursorDelegate.qml
+++ /dev/null
@@ -1,1551 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 32
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 48
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 64
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 80
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 96
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 112
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 128
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 144
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 160
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 176
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 192
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 208
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 224
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 240
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 256
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 272
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 288
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 304
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 320
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 336
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 352
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 368
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 384
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 400
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 416
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 432
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Frame {
- msec: 448
- hash: "65bbc5da769f475d1c47bdedb92ba65e"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 464
- hash: "97eff9733db71f7c5d396969582c572b"
- }
- Frame {
- msec: 480
- hash: "97eff9733db71f7c5d396969582c572b"
- }
- Frame {
- msec: 496
- hash: "97eff9733db71f7c5d396969582c572b"
- }
- Frame {
- msec: 512
- hash: "97eff9733db71f7c5d396969582c572b"
- }
- Frame {
- msec: 528
- hash: "87902d32dba1439e71ce5f57f514748e"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "cad95931a38718eb481a9175fdfec305"
- }
- Frame {
- msec: 560
- hash: "1dc99e5c7e4d2fa6b624b6df250b78fc"
- }
- Frame {
- msec: 576
- hash: "5d5739beb039a83bebb2c41489166edf"
- }
- Frame {
- msec: 592
- hash: "6320c9a1c0013f5aa6180992b934ca59"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 608
- hash: "9d9837c1f3779e5dab0dfeb1d11fdea1"
- }
- Frame {
- msec: 624
- hash: "9d868112eaf70ce02ce93603278a565d"
- }
- Frame {
- msec: 640
- hash: "d2bccb3184d3bb42b91017410a8655b6"
- }
- Frame {
- msec: 656
- hash: "68f8be3e16637fd39a35f0cebb62b74a"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 672
- hash: "04f5781b57ed9fee32d5ef80dc33f4ff"
- }
- Frame {
- msec: 688
- hash: "06cc2e24a848d441074de5ddff1c739a"
- }
- Frame {
- msec: 704
- hash: "94526186deb7248ac9c747ede15b106d"
- }
- Frame {
- msec: 720
- hash: "1ac130517df314f4f44b9bde2d3dcc53"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 736
- hash: "270ecf4900e94d60599ded230633aa02"
- }
- Frame {
- msec: 752
- hash: "ef2093584cbce9182b99f297fcd2465d"
- }
- Frame {
- msec: 768
- hash: "c445cf5f56213a712585934681d8af55"
- }
- Frame {
- msec: 784
- hash: "9f0edb3871e015a549622e1b70d1b748"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 800
- hash: "144c51d7aa47ea8cc8d79a97efa4b430"
- }
- Frame {
- msec: 816
- hash: "34f768a7c99dfb3c8f0e1fb1a08a37ac"
- }
- Frame {
- msec: 832
- hash: "4f3970c4ad02b69f96c11610494e8a50"
- }
- Frame {
- msec: 848
- hash: "815a1cf66f0c9eb47e244753eebb83ba"
- }
- Frame {
- msec: 864
- hash: "5db11f795c000b382fdc30726a711c65"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 880
- hash: "67976ee172d0d55992c0e4734fbb7ccf"
- }
- Frame {
- msec: 896
- hash: "c764e4d5317acbbf5118a08565e5d5fd"
- }
- Frame {
- msec: 912
- hash: "a83f566d01b990e91f43bb63a58fb5b8"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 928
- hash: "031282f352e01f23bc5f73bf8ce82c9a"
- }
- Frame {
- msec: 944
- hash: "1f3dc1d3ad0304376eac5d60d3c226ee"
- }
- Frame {
- msec: 960
- image: "cursorDelegate.0.png"
- }
- Frame {
- msec: 976
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 992
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1008
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 1024
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 1040
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1056
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 1072
- hash: "a2ad07326fafcb3012cdb869f39af466"
- }
- Frame {
- msec: 1088
- hash: "8622eb25a6da44926b5161bce213a483"
- }
- Frame {
- msec: 1104
- hash: "ccbd4d1e4865ebd9b0fe923e6ab05e5c"
- }
- Frame {
- msec: 1120
- hash: "775cd79b012f79b773449a0ad8457149"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1136
- hash: "2a4ed061e512c5afd11072c4b707f707"
- }
- Frame {
- msec: 1152
- hash: "c855df7b17811f25fd17e4fb108c02e1"
- }
- Frame {
- msec: 1168
- hash: "46c37d8e67ece5cae4f766acf50f3ca3"
- }
- Frame {
- msec: 1184
- hash: "95a70f14ce01aae61190080ed3d55c77"
- }
- Frame {
- msec: 1200
- hash: "87da182d1285f3613bb2e4673e701757"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1216
- hash: "5b97f13f43e713a6fbe96bdca8969191"
- }
- Frame {
- msec: 1232
- hash: "4d003182e7b7b0a05413b80f82a0fc41"
- }
- Frame {
- msec: 1248
- hash: "dba09e038291a8dfdc61911d6b4b9bdf"
- }
- Frame {
- msec: 1264
- hash: "a2ae1e5cc6cd72fae70804e07df5a8a1"
- }
- Frame {
- msec: 1280
- hash: "f1c2a24b6f0ebcf98122e8db1cdcb66f"
- }
- Frame {
- msec: 1296
- hash: "142dade1639655132435ae260b7935a0"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1312
- hash: "e80c0175d947bceef4bf53b60bf7eac0"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1328
- hash: "de912cd8bd2fe762ec6b1ec819732507"
- }
- Frame {
- msec: 1344
- hash: "d3fa9dfab37ee26572d25bcbe8c66b72"
- }
- Frame {
- msec: 1360
- hash: "33bdb2817a2858ce430813d0774f0172"
- }
- Frame {
- msec: 1376
- hash: "4f10f0ffb6b1c87155eedd53af36c74f"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1392
- hash: "1b94be0de8412bd9380689895f290af7"
- }
- Frame {
- msec: 1408
- hash: "48b3a5e2b04c86a75f4b6595eb2c1f55"
- }
- Frame {
- msec: 1424
- hash: "d092fabd3dd51c718486e1e7dadaa0dc"
- }
- Frame {
- msec: 1440
- hash: "243359437235563f1a60b8eaf63365b6"
- }
- Frame {
- msec: 1456
- hash: "a986c8ed8ad2d8b6aab2a001906ba2ad"
- }
- Frame {
- msec: 1472
- hash: "da5e06dc481e9cb7d9159a84d0cc150a"
- }
- Frame {
- msec: 1488
- hash: "1d70a05fce3a05477e21d22b127ae96a"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1504
- hash: "913448213a07f6c8427c8e310d2026de"
- }
- Frame {
- msec: 1520
- hash: "51bef5ae52977a935b66af4baf1da4e6"
- }
- Frame {
- msec: 1536
- hash: "367bc25f868c23005d7fe903a9ea681b"
- }
- Frame {
- msec: 1552
- hash: "3c25181652e788d128ed571ca4fea0b1"
- }
- Frame {
- msec: 1568
- hash: "0218f939ff2b8c0bc22a537ed0f053f0"
- }
- Frame {
- msec: 1584
- hash: "a3b765a823b2b3811273a1be90850533"
- }
- Frame {
- msec: 1600
- hash: "2a42a29774eb4f962d299f8c2c213d55"
- }
- Frame {
- msec: 1616
- hash: "1f0ad54d0fe8fc27cadbaaeaa37364e0"
- }
- Frame {
- msec: 1632
- hash: "04d6028d1b1a1178e5bf774db8eef2c6"
- }
- Frame {
- msec: 1648
- hash: "c325e46e89e8df04e2c3d8bf111c5f09"
- }
- Frame {
- msec: 1664
- hash: "70e6223ce16a797e2c56e21ad74b188b"
- }
- Frame {
- msec: 1680
- hash: "0fb8762fd28564b84b83c17d749a3645"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1696
- hash: "ef5d19b59792ea8822e2391fe0d91dbd"
- }
- Frame {
- msec: 1712
- hash: "70ad15030164be8afbb4ab22d1ae5f5f"
- }
- Frame {
- msec: 1728
- hash: "a5dfb8bd4b681e0d8d2c082821a2a976"
- }
- Frame {
- msec: 1744
- hash: "864781fbb8673b1e603df015f2d88601"
- }
- Frame {
- msec: 1760
- hash: "0bdb6a155cdd14f4dce9fde3c5116dde"
- }
- Frame {
- msec: 1776
- hash: "5421f521a9bdccc8478fcee97e0dbc99"
- }
- Frame {
- msec: 1792
- hash: "c5f29693dd017932767f37e2fb2f22f2"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1808
- hash: "b5e8abeaec33407e673f8021212528b1"
- }
- Frame {
- msec: 1824
- hash: "917c968e5ee8f0b25fdb175719d7dbfa"
- }
- Frame {
- msec: 1840
- hash: "56495c63676b9f73004e76e38d60567e"
- }
- Frame {
- msec: 1856
- hash: "86f1ccdd7ff408c5b141d79797eea1fa"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1872
- hash: "9e9b32a9f71ab1aa4e87ddc323ccda03"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 1888
- hash: "360aef37452ce8f045659c227285cb82"
- }
- Frame {
- msec: 1904
- hash: "805949377c620fa4310aa4328eba1f23"
- }
- Frame {
- msec: 1920
- image: "cursorDelegate.1.png"
- }
- Frame {
- msec: 1936
- hash: "00df8110a2008ba77b7e0bf2130e5319"
- }
- Frame {
- msec: 1952
- hash: "835f6f723577071461e41da1fd2e990a"
- }
- Frame {
- msec: 1968
- hash: "6876cafa4d6d3a7d387602eba4d26db1"
- }
- Frame {
- msec: 1984
- hash: "5570ae1e700cdf42ba516be69fbaadc0"
- }
- Frame {
- msec: 2000
- hash: "5570ae1e700cdf42ba516be69fbaadc0"
- }
- Frame {
- msec: 2016
- hash: "5570ae1e700cdf42ba516be69fbaadc0"
- }
- Frame {
- msec: 2032
- hash: "5570ae1e700cdf42ba516be69fbaadc0"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2048
- hash: "5570ae1e700cdf42ba516be69fbaadc0"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "6876cafa4d6d3a7d387602eba4d26db1"
- }
- Frame {
- msec: 2080
- hash: "835f6f723577071461e41da1fd2e990a"
- }
- Frame {
- msec: 2096
- hash: "00df8110a2008ba77b7e0bf2130e5319"
- }
- Frame {
- msec: 2112
- hash: "627206a252bd6fcbf57d9f1cde0506bb"
- }
- Frame {
- msec: 2128
- hash: "805949377c620fa4310aa4328eba1f23"
- }
- Frame {
- msec: 2144
- hash: "360aef37452ce8f045659c227285cb82"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "0ac33070e0c736bc0fb5ab12fa444b5c"
- }
- Frame {
- msec: 2176
- hash: "520a544fd92f17a14380803e253b396f"
- }
- Frame {
- msec: 2192
- hash: "4a080a5154c517e6bcf24b3a1f1d7f2c"
- }
- Frame {
- msec: 2208
- hash: "e83642b0793f5a790efca65ccf20a720"
- }
- Frame {
- msec: 2224
- hash: "8210b9cbf19f519ee34f4bb1a6afce16"
- }
- Frame {
- msec: 2240
- hash: "54d04e64af5c0a3d29f2dc8c0977ed3a"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2256
- hash: "ae2a644f96bd7b2662ebcf4ebc33d930"
- }
- Frame {
- msec: 2272
- hash: "718ac9cb5ef2992b06b34e957f987b7a"
- }
- Frame {
- msec: 2288
- hash: "a2e1dea5e5f37697c7ce1a9419b94f65"
- }
- Frame {
- msec: 2304
- hash: "c0eb56c72311263d892ce65331547531"
- }
- Frame {
- msec: 2320
- hash: "585ad3efb7330de889b8cf56a51a0899"
- }
- Frame {
- msec: 2336
- hash: "236e54ae31e5ee3d08a7bc9aeaef0d9b"
- }
- Frame {
- msec: 2352
- hash: "d6218c8bb4da9d62bdb5d0cf5d7f8e37"
- }
- Key {
- type: 6
- key: 16777249
- modifiers: 67108864
- text: ""
- autorep: false
- count: 1
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2368
- hash: "1dddd18a4ef66df9d9b431b2860e24d1"
- }
- Frame {
- msec: 2384
- hash: "5b1b45e75f5a829b31c0b6eb0189da7c"
- }
- Frame {
- msec: 2400
- hash: "062091bc7a5f3296c669614318b80fe7"
- }
- Frame {
- msec: 2416
- hash: "836f37fe92a46233640e0bd2c0932fea"
- }
- Frame {
- msec: 2432
- hash: "f14ec1544a380fc9993b39754c23c2f4"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "2d549b5fea734e47682415df1717e6a6"
- }
- Frame {
- msec: 2464
- hash: "824c5960260dd3ed7527709ebfb06d27"
- }
- Frame {
- msec: 2480
- hash: "258f034fe1e71f25a92e667e05f53e82"
- }
- Frame {
- msec: 2496
- hash: "c432e758e19c44d788cb38df6e4c6d69"
- }
- Frame {
- msec: 2512
- hash: "a1856592208f9a00385b13c44e1c4503"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2528
- hash: "2b4d40a0555df0b86f52d13790185459"
- }
- Frame {
- msec: 2544
- hash: "b153143e6b16c47fa06663dc6b1034d6"
- }
- Frame {
- msec: 2560
- hash: "ac52236c5d73aeae7c0834df1e6bd84e"
- }
- Frame {
- msec: 2576
- hash: "136eeb348b0b96edc9aaf9fbea741973"
- }
- Frame {
- msec: 2592
- hash: "4f8a1dfa8906de2bcdfbf5c3b29fbf9b"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2608
- hash: "7dc9726df2d112b46f4d9dbe66d534c7"
- }
- Frame {
- msec: 2624
- hash: "f64086ca0e83fa8bb0fae28065260fdc"
- }
- Frame {
- msec: 2640
- hash: "5237dd2b79d71bbfa0a0d3963a7f42b7"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2656
- hash: "8dd435b577bb258979d33034885a8cd8"
- }
- Frame {
- msec: 2672
- hash: "2609c066b8f102b4189991bf7d01eaad"
- }
- Frame {
- msec: 2688
- hash: "986fab22391264d04df9a55b18aee645"
- }
- Frame {
- msec: 2704
- hash: "0256423680aa0843fe8ec84f5e68fc9b"
- }
- Frame {
- msec: 2720
- hash: "b822bdcad69aa868f48b2bbf2d62e297"
- }
- Key {
- type: 6
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2736
- hash: "14effed70ca60233be9b2f6d0a1b5e6c"
- }
- Frame {
- msec: 2752
- hash: "1abaf2c36a0fb9f04606c0e191d113cf"
- }
- Frame {
- msec: 2768
- hash: "cffb8ca29b0369d183d6461bf9e63fdf"
- }
- Frame {
- msec: 2784
- hash: "9378bebddb09036bec98ff7018dcf7c1"
- }
- Key {
- type: 7
- key: 16777234
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 2800
- hash: "0c3823994ee8f838c26040118ba62622"
- }
- Frame {
- msec: 2816
- hash: "d374547f47adc81a18428c7a79cb9cf2"
- }
- Frame {
- msec: 2832
- hash: "449c2996a2d0e74f2300adad619700bc"
- }
- Frame {
- msec: 2848
- hash: "14379a320b6fc36de5d2a6776f1dc963"
- }
- Frame {
- msec: 2864
- hash: "cb010a99ffa3b6df26c6cd263a21cfcd"
- }
- Frame {
- msec: 2880
- image: "cursorDelegate.2.png"
- }
- Frame {
- msec: 2896
- hash: "a445d23288d462009916e31f370a2068"
- }
- Frame {
- msec: 2912
- hash: "8b3f2811300830e837797056f262bec2"
- }
- Frame {
- msec: 2928
- hash: "2303a27e72334cae84b4fe51a62974ba"
- }
- Frame {
- msec: 2944
- hash: "f3a9f3e74d2d83e38aee78cab7209bd6"
- }
- Frame {
- msec: 2960
- hash: "ca4777127a535655f057af57cf3e8c7b"
- }
- Frame {
- msec: 2976
- hash: "de2b65920fa9177a79019f33712c2275"
- }
- Frame {
- msec: 2992
- hash: "de2b65920fa9177a79019f33712c2275"
- }
- Frame {
- msec: 3008
- hash: "de2b65920fa9177a79019f33712c2275"
- }
- Frame {
- msec: 3024
- hash: "de2b65920fa9177a79019f33712c2275"
- }
- Frame {
- msec: 3040
- hash: "de2b65920fa9177a79019f33712c2275"
- }
- Frame {
- msec: 3056
- hash: "de2b65920fa9177a79019f33712c2275"
- }
- Frame {
- msec: 3072
- hash: "ca4777127a535655f057af57cf3e8c7b"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3088
- hash: "83cfb141f6b77fa062443a442a5b2e9e"
- }
- Frame {
- msec: 3104
- hash: "b3e262864238d03f988c9750cc74e48f"
- }
- Frame {
- msec: 3120
- hash: "6ed2086ae01be46f0684bbecc05484c4"
- }
- Frame {
- msec: 3136
- hash: "91f6dad8f05577af6e4f5f0aceb06b4b"
- }
- Frame {
- msec: 3152
- hash: "1bfb0c299c3c0db0518eaa54137c22b0"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3168
- hash: "37cc96ef4b760faadf76cc471f6ba49a"
- }
- Frame {
- msec: 3184
- hash: "67c848bf93e845eaf5eebc9b8e57482c"
- }
- Frame {
- msec: 3200
- hash: "e3906ad9b1dfbd1170364c11ff4b286f"
- }
- Frame {
- msec: 3216
- hash: "24dd59673c5659e3bf6f52723e1bcd07"
- }
- Frame {
- msec: 3232
- hash: "4b694f05f147bcf901a16807d4e3ec7c"
- }
- Frame {
- msec: 3248
- hash: "9d9dbf34f6a67a49210caa249b8a1abb"
- }
- Key {
- type: 6
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3264
- hash: "5381cde4763aa45c97793124e42db6f5"
- }
- Frame {
- msec: 3280
- hash: "0f113c0263faa47428c4d16891ac4d4f"
- }
- Frame {
- msec: 3296
- hash: "cc1767ec13803959333cd35bfb2d9119"
- }
- Frame {
- msec: 3312
- hash: "ec1b4c71f9bd63ccf6d766b0b2f68b30"
- }
- Frame {
- msec: 3328
- hash: "114ad78597ede2afc4dd8bafa1d4df21"
- }
- Frame {
- msec: 3344
- hash: "d08dc22ddc707316483f09b796ea0380"
- }
- Frame {
- msec: 3360
- hash: "135b2b0f4e469b207e673d1e7086cd4f"
- }
- Key {
- type: 7
- key: 16777236
- modifiers: 100663296
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3376
- hash: "4267354fe0d24597bdb5ee1a6e9affbb"
- }
- Frame {
- msec: 3392
- hash: "700bd56ecea646bbec2017007bbb5b84"
- }
- Frame {
- msec: 3408
- hash: "874a65c2069f4ba89301c129f884f217"
- }
- Frame {
- msec: 3424
- hash: "b5ec22f95abb43c83533f7dc606667f6"
- }
- Frame {
- msec: 3440
- hash: "445de6663e80d1fe1527ec5acf4ec1de"
- }
- Frame {
- msec: 3456
- hash: "87c129a5bf08536d3fca90375283e26b"
- }
- Frame {
- msec: 3472
- hash: "a63e2438a9cd412c2b119cd42b11009f"
- }
- Frame {
- msec: 3488
- hash: "61a3475bef5fd276b836cf3483526f57"
- }
- Frame {
- msec: 3504
- hash: "097ab9a1a1fe9743f162f57b93599fe7"
- }
- Key {
- type: 7
- key: 16777249
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3520
- hash: "ebae1fb540c6ff6b0bc9a951391e2e94"
- }
- Frame {
- msec: 3536
- hash: "ffc2da2e4c091eadaa9746b42b56d9e4"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 3552
- hash: "f243d823fc9977e69a008010d8db8a01"
- }
- Frame {
- msec: 3568
- hash: "592ac5bbf1c4b3a360be4d76c40a2be2"
- }
- Frame {
- msec: 3584
- hash: "bd5b206097f30dfce884a8c74856857d"
- }
- Frame {
- msec: 3600
- hash: "f14ec1544a380fc9993b39754c23c2f4"
- }
- Frame {
- msec: 3616
- hash: "836f37fe92a46233640e0bd2c0932fea"
- }
- Frame {
- msec: 3632
- hash: "062091bc7a5f3296c669614318b80fe7"
- }
- Frame {
- msec: 3648
- hash: "5b1b45e75f5a829b31c0b6eb0189da7c"
- }
- Frame {
- msec: 3664
- hash: "1dddd18a4ef66df9d9b431b2860e24d1"
- }
- Frame {
- msec: 3680
- hash: "d6218c8bb4da9d62bdb5d0cf5d7f8e37"
- }
- Frame {
- msec: 3696
- hash: "236e54ae31e5ee3d08a7bc9aeaef0d9b"
- }
- Frame {
- msec: 3712
- hash: "585ad3efb7330de889b8cf56a51a0899"
- }
- Frame {
- msec: 3728
- hash: "c0eb56c72311263d892ce65331547531"
- }
- Frame {
- msec: 3744
- hash: "a2e1dea5e5f37697c7ce1a9419b94f65"
- }
- Frame {
- msec: 3760
- hash: "718ac9cb5ef2992b06b34e957f987b7a"
- }
- Frame {
- msec: 3776
- hash: "ae2a644f96bd7b2662ebcf4ebc33d930"
- }
- Frame {
- msec: 3792
- hash: "54d04e64af5c0a3d29f2dc8c0977ed3a"
- }
- Frame {
- msec: 3808
- hash: "8210b9cbf19f519ee34f4bb1a6afce16"
- }
- Frame {
- msec: 3824
- hash: "e83642b0793f5a790efca65ccf20a720"
- }
- Frame {
- msec: 3840
- image: "cursorDelegate.3.png"
- }
- Frame {
- msec: 3856
- hash: "520a544fd92f17a14380803e253b396f"
- }
- Frame {
- msec: 3872
- hash: "0ac33070e0c736bc0fb5ab12fa444b5c"
- }
- Frame {
- msec: 3888
- hash: "5ee8c9dc7b238db131b3a078e46a8bbd"
- }
- Frame {
- msec: 3904
- hash: "69720bcca91f99f229aebc74c5e74261"
- }
- Frame {
- msec: 3920
- hash: "41d8f4031223f7c833d50208e231964a"
- }
- Frame {
- msec: 3936
- hash: "6fa8fd3252f367f3fafea4e3c7317a48"
- }
- Frame {
- msec: 3952
- hash: "8a1b63c42867f87a1cf4b47944b3860a"
- }
- Frame {
- msec: 3968
- hash: "8c6052eb4cf03d7742a73874d9f15285"
- }
- Frame {
- msec: 3984
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4000
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4016
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4032
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4048
- hash: "7bae45481596788afde8866a3c97edd7"
- }
- Frame {
- msec: 4064
- hash: "8c6052eb4cf03d7742a73874d9f15285"
- }
- Frame {
- msec: 4080
- hash: "8a1b63c42867f87a1cf4b47944b3860a"
- }
- Frame {
- msec: 4096
- hash: "6fa8fd3252f367f3fafea4e3c7317a48"
- }
- Frame {
- msec: 4112
- hash: "41d8f4031223f7c833d50208e231964a"
- }
- Frame {
- msec: 4128
- hash: "69720bcca91f99f229aebc74c5e74261"
- }
- Frame {
- msec: 4144
- hash: "5ee8c9dc7b238db131b3a078e46a8bbd"
- }
- Frame {
- msec: 4160
- hash: "0ac33070e0c736bc0fb5ab12fa444b5c"
- }
- Frame {
- msec: 4176
- hash: "520a544fd92f17a14380803e253b396f"
- }
- Frame {
- msec: 4192
- hash: "4a080a5154c517e6bcf24b3a1f1d7f2c"
- }
- Frame {
- msec: 4208
- hash: "e83642b0793f5a790efca65ccf20a720"
- }
- Frame {
- msec: 4224
- hash: "8210b9cbf19f519ee34f4bb1a6afce16"
- }
- Frame {
- msec: 4240
- hash: "54d04e64af5c0a3d29f2dc8c0977ed3a"
- }
- Frame {
- msec: 4256
- hash: "ae2a644f96bd7b2662ebcf4ebc33d930"
- }
- Frame {
- msec: 4272
- hash: "718ac9cb5ef2992b06b34e957f987b7a"
- }
- Frame {
- msec: 4288
- hash: "a2e1dea5e5f37697c7ce1a9419b94f65"
- }
- Frame {
- msec: 4304
- hash: "c0eb56c72311263d892ce65331547531"
- }
- Frame {
- msec: 4320
- hash: "585ad3efb7330de889b8cf56a51a0899"
- }
- Frame {
- msec: 4336
- hash: "236e54ae31e5ee3d08a7bc9aeaef0d9b"
- }
- Frame {
- msec: 4352
- hash: "d6218c8bb4da9d62bdb5d0cf5d7f8e37"
- }
- Frame {
- msec: 4368
- hash: "1dddd18a4ef66df9d9b431b2860e24d1"
- }
- Frame {
- msec: 4384
- hash: "5b1b45e75f5a829b31c0b6eb0189da7c"
- }
- Frame {
- msec: 4400
- hash: "062091bc7a5f3296c669614318b80fe7"
- }
- Frame {
- msec: 4416
- hash: "836f37fe92a46233640e0bd2c0932fea"
- }
- Frame {
- msec: 4432
- hash: "f14ec1544a380fc9993b39754c23c2f4"
- }
- Frame {
- msec: 4448
- hash: "bd5b206097f30dfce884a8c74856857d"
- }
- Frame {
- msec: 4464
- hash: "592ac5bbf1c4b3a360be4d76c40a2be2"
- }
- Frame {
- msec: 4480
- hash: "f243d823fc9977e69a008010d8db8a01"
- }
- Frame {
- msec: 4496
- hash: "ffc2da2e4c091eadaa9746b42b56d9e4"
- }
- Frame {
- msec: 4512
- hash: "ebae1fb540c6ff6b0bc9a951391e2e94"
- }
- Frame {
- msec: 4528
- hash: "097ab9a1a1fe9743f162f57b93599fe7"
- }
- Frame {
- msec: 4544
- hash: "61a3475bef5fd276b836cf3483526f57"
- }
- Frame {
- msec: 4560
- hash: "a63e2438a9cd412c2b119cd42b11009f"
- }
- Frame {
- msec: 4576
- hash: "87c129a5bf08536d3fca90375283e26b"
- }
- Frame {
- msec: 4592
- hash: "445de6663e80d1fe1527ec5acf4ec1de"
- }
- Frame {
- msec: 4608
- hash: "b5ec22f95abb43c83533f7dc606667f6"
- }
- Frame {
- msec: 4624
- hash: "874a65c2069f4ba89301c129f884f217"
- }
- Frame {
- msec: 4640
- hash: "700bd56ecea646bbec2017007bbb5b84"
- }
- Frame {
- msec: 4656
- hash: "4267354fe0d24597bdb5ee1a6e9affbb"
- }
- Frame {
- msec: 4672
- hash: "135b2b0f4e469b207e673d1e7086cd4f"
- }
- Frame {
- msec: 4688
- hash: "d08dc22ddc707316483f09b796ea0380"
- }
- Frame {
- msec: 4704
- hash: "114ad78597ede2afc4dd8bafa1d4df21"
- }
- Frame {
- msec: 4720
- hash: "ec1b4c71f9bd63ccf6d766b0b2f68b30"
- }
- Frame {
- msec: 4736
- hash: "cc1767ec13803959333cd35bfb2d9119"
- }
- Frame {
- msec: 4752
- hash: "0f113c0263faa47428c4d16891ac4d4f"
- }
- Frame {
- msec: 4768
- hash: "5381cde4763aa45c97793124e42db6f5"
- }
- Frame {
- msec: 4784
- hash: "99940d6744ac1245f82d62f08c371285"
- }
- Frame {
- msec: 4800
- image: "cursorDelegate.4.png"
- }
- Frame {
- msec: 4816
- hash: "77bbed46c7eb023252cdd80d0a15f38a"
- }
- Frame {
- msec: 4832
- hash: "36ee4da72825e96d5f670c94865a30d8"
- }
- Frame {
- msec: 4848
- hash: "c64d56c1b7df0a5c63ab8ff08ae6daf9"
- }
- Frame {
- msec: 4864
- hash: "942e038a3426fa318212a8f245141225"
- }
- Frame {
- msec: 4880
- hash: "c033ebaee12dd8fe953e91160f986c3d"
- }
- Frame {
- msec: 4896
- hash: "07e64024cf7eda082297f6f83dba8067"
- }
- Frame {
- msec: 4912
- hash: "b33cd5bbb90d435dd7ea3ab67bef88ee"
- }
- Frame {
- msec: 4928
- hash: "90712efd7c17b0ad33d2c2c02e9eaa97"
- }
- Frame {
- msec: 4944
- hash: "7e2e55555ee2c7e172e61ddb6365355d"
- }
- Frame {
- msec: 4960
- hash: "87ca0584879b25336a1023ac3252fc9a"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.qml
deleted file mode 100644
index 707734ab1d..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/echoMode.qml
+++ /dev/null
@@ -1,1043 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 32
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Key {
- type: 6
- key: 16777248
- modifiers: 33554432
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 48
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 64
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 80
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 96
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 112
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 128
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 144
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 160
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 176
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 192
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 208
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 224
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 240
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 256
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 272
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 288
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 304
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 320
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 336
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Frame {
- msec: 352
- hash: "b73bd9c2fef8812591fff9f43b73da13"
- }
- Key {
- type: 6
- key: 74
- modifiers: 33554432
- text: "4a"
- autorep: false
- count: 1
- }
- Frame {
- msec: 368
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 384
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 400
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 416
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 432
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Key {
- type: 7
- key: 74
- modifiers: 33554432
- text: "4a"
- autorep: false
- count: 1
- }
- Frame {
- msec: 448
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 464
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 480
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 496
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 512
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 528
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Key {
- type: 7
- key: 16777248
- modifiers: 0
- text: ""
- autorep: false
- count: 1
- }
- Frame {
- msec: 544
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 560
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 576
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 592
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 608
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 624
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 640
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 656
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 672
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Frame {
- msec: 688
- hash: "e8b6bdc7d552bb13c5dc2f50b8cf1125"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 704
- hash: "fbc09d695e0b47aae6e977c13f535bfd"
- }
- Frame {
- msec: 720
- hash: "fbc09d695e0b47aae6e977c13f535bfd"
- }
- Frame {
- msec: 736
- hash: "fbc09d695e0b47aae6e977c13f535bfd"
- }
- Frame {
- msec: 752
- hash: "fbc09d695e0b47aae6e977c13f535bfd"
- }
- Frame {
- msec: 768
- hash: "fbc09d695e0b47aae6e977c13f535bfd"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 784
- hash: "fbc09d695e0b47aae6e977c13f535bfd"
- }
- Frame {
- msec: 800
- hash: "fbc09d695e0b47aae6e977c13f535bfd"
- }
- Frame {
- msec: 816
- hash: "fbc09d695e0b47aae6e977c13f535bfd"
- }
- Frame {
- msec: 832
- hash: "fbc09d695e0b47aae6e977c13f535bfd"
- }
- Frame {
- msec: 848
- hash: "fbc09d695e0b47aae6e977c13f535bfd"
- }
- Key {
- type: 6
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 864
- hash: "a4b81c526a5bf8902fde9b8721980977"
- }
- Frame {
- msec: 880
- hash: "a4b81c526a5bf8902fde9b8721980977"
- }
- Frame {
- msec: 896
- hash: "a4b81c526a5bf8902fde9b8721980977"
- }
- Key {
- type: 7
- key: 67
- modifiers: 0
- text: "63"
- autorep: false
- count: 1
- }
- Frame {
- msec: 912
- hash: "a4b81c526a5bf8902fde9b8721980977"
- }
- Frame {
- msec: 928
- hash: "a4b81c526a5bf8902fde9b8721980977"
- }
- Frame {
- msec: 944
- hash: "a4b81c526a5bf8902fde9b8721980977"
- }
- Frame {
- msec: 960
- image: "echoMode.0.png"
- }
- Frame {
- msec: 976
- hash: "a4b81c526a5bf8902fde9b8721980977"
- }
- Key {
- type: 6
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Frame {
- msec: 992
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1008
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1024
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1040
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Key {
- type: 7
- key: 75
- modifiers: 0
- text: "6b"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1056
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1072
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1088
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1104
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1120
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1136
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1152
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1168
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1184
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1200
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1216
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Frame {
- msec: 1232
- hash: "d072aebc2314a149a856634786b208a0"
- }
- Key {
- type: 6
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1248
- hash: "94defec2865529f185d02cfcbfe166cc"
- }
- Frame {
- msec: 1264
- hash: "94defec2865529f185d02cfcbfe166cc"
- }
- Frame {
- msec: 1280
- hash: "94defec2865529f185d02cfcbfe166cc"
- }
- Key {
- type: 7
- key: 68
- modifiers: 0
- text: "64"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1296
- hash: "94defec2865529f185d02cfcbfe166cc"
- }
- Frame {
- msec: 1312
- hash: "94defec2865529f185d02cfcbfe166cc"
- }
- Frame {
- msec: 1328
- hash: "94defec2865529f185d02cfcbfe166cc"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1344
- hash: "f625a2a82879df96141000e6931d4487"
- }
- Frame {
- msec: 1360
- hash: "f625a2a82879df96141000e6931d4487"
- }
- Frame {
- msec: 1376
- hash: "f625a2a82879df96141000e6931d4487"
- }
- Frame {
- msec: 1392
- hash: "f625a2a82879df96141000e6931d4487"
- }
- Frame {
- msec: 1408
- hash: "f625a2a82879df96141000e6931d4487"
- }
- Frame {
- msec: 1424
- hash: "f625a2a82879df96141000e6931d4487"
- }
- Frame {
- msec: 1440
- hash: "f625a2a82879df96141000e6931d4487"
- }
- Frame {
- msec: 1456
- hash: "f625a2a82879df96141000e6931d4487"
- }
- Frame {
- msec: 1472
- hash: "f625a2a82879df96141000e6931d4487"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1488
- hash: "f625a2a82879df96141000e6931d4487"
- }
- Key {
- type: 6
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1504
- hash: "1cf29837a4ea63bbb06c15382680d1b6"
- }
- Frame {
- msec: 1520
- hash: "1cf29837a4ea63bbb06c15382680d1b6"
- }
- Frame {
- msec: 1536
- hash: "1cf29837a4ea63bbb06c15382680d1b6"
- }
- Frame {
- msec: 1552
- hash: "1cf29837a4ea63bbb06c15382680d1b6"
- }
- Key {
- type: 7
- key: 87
- modifiers: 0
- text: "77"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1568
- hash: "1cf29837a4ea63bbb06c15382680d1b6"
- }
- Frame {
- msec: 1584
- hash: "1cf29837a4ea63bbb06c15382680d1b6"
- }
- Frame {
- msec: 1600
- hash: "1cf29837a4ea63bbb06c15382680d1b6"
- }
- Frame {
- msec: 1616
- hash: "1cf29837a4ea63bbb06c15382680d1b6"
- }
- Frame {
- msec: 1632
- hash: "1cf29837a4ea63bbb06c15382680d1b6"
- }
- Frame {
- msec: 1648
- hash: "1cf29837a4ea63bbb06c15382680d1b6"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1664
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Frame {
- msec: 1680
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Frame {
- msec: 1696
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Frame {
- msec: 1712
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Frame {
- msec: 1728
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1744
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1760
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Frame {
- msec: 1776
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Frame {
- msec: 1792
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1808
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Frame {
- msec: 1824
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Frame {
- msec: 1840
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Frame {
- msec: 1856
- hash: "6eabb6d168ecc9ac604dcf2db0075380"
- }
- Key {
- type: 6
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1872
- hash: "cb2dc1c4fc4e213841b873561f404a4f"
- }
- Frame {
- msec: 1888
- hash: "cb2dc1c4fc4e213841b873561f404a4f"
- }
- Frame {
- msec: 1904
- hash: "cb2dc1c4fc4e213841b873561f404a4f"
- }
- Frame {
- msec: 1920
- image: "echoMode.1.png"
- }
- Key {
- type: 7
- key: 76
- modifiers: 0
- text: "6c"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1936
- hash: "cb2dc1c4fc4e213841b873561f404a4f"
- }
- Frame {
- msec: 1952
- hash: "cb2dc1c4fc4e213841b873561f404a4f"
- }
- Frame {
- msec: 1968
- hash: "cb2dc1c4fc4e213841b873561f404a4f"
- }
- Frame {
- msec: 1984
- hash: "cb2dc1c4fc4e213841b873561f404a4f"
- }
- Frame {
- msec: 2000
- hash: "cb2dc1c4fc4e213841b873561f404a4f"
- }
- Frame {
- msec: 2016
- hash: "cb2dc1c4fc4e213841b873561f404a4f"
- }
- Key {
- type: 6
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2032
- hash: "c2aff1ebdee69cca7dc67a102fce5e8e"
- }
- Frame {
- msec: 2048
- hash: "c2aff1ebdee69cca7dc67a102fce5e8e"
- }
- Key {
- type: 7
- key: 79
- modifiers: 0
- text: "6f"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "c2aff1ebdee69cca7dc67a102fce5e8e"
- }
- Frame {
- msec: 2080
- hash: "c2aff1ebdee69cca7dc67a102fce5e8e"
- }
- Key {
- type: 6
- key: 86
- modifiers: 0
- text: "76"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2096
- hash: "c82441813af6ff577687f29f6a09da38"
- }
- Frame {
- msec: 2112
- hash: "c82441813af6ff577687f29f6a09da38"
- }
- Frame {
- msec: 2128
- hash: "c82441813af6ff577687f29f6a09da38"
- }
- Frame {
- msec: 2144
- hash: "c82441813af6ff577687f29f6a09da38"
- }
- Key {
- type: 6
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Key {
- type: 7
- key: 86
- modifiers: 0
- text: "76"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2160
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Frame {
- msec: 2176
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Frame {
- msec: 2192
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Frame {
- msec: 2208
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Key {
- type: 6
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2224
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Key {
- type: 7
- key: 69
- modifiers: 0
- text: "65"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2240
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Frame {
- msec: 2256
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Frame {
- msec: 2272
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Frame {
- msec: 2288
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Frame {
- msec: 2304
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Key {
- type: 7
- key: 32
- modifiers: 0
- text: "20"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2320
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Frame {
- msec: 2336
- hash: "d7da9862980b99e97a1fcd1b5c4c976f"
- }
- Key {
- type: 6
- key: 77
- modifiers: 0
- text: "6d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2352
- hash: "8f36e26d8685fe55e7a1dd294188f649"
- }
- Frame {
- msec: 2368
- hash: "8f36e26d8685fe55e7a1dd294188f649"
- }
- Frame {
- msec: 2384
- hash: "8f36e26d8685fe55e7a1dd294188f649"
- }
- Frame {
- msec: 2400
- hash: "8f36e26d8685fe55e7a1dd294188f649"
- }
- Frame {
- msec: 2416
- hash: "8f36e26d8685fe55e7a1dd294188f649"
- }
- Frame {
- msec: 2432
- hash: "8f36e26d8685fe55e7a1dd294188f649"
- }
- Key {
- type: 7
- key: 77
- modifiers: 0
- text: "6d"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2448
- hash: "8f36e26d8685fe55e7a1dd294188f649"
- }
- Frame {
- msec: 2464
- hash: "8f36e26d8685fe55e7a1dd294188f649"
- }
- Frame {
- msec: 2480
- hash: "8f36e26d8685fe55e7a1dd294188f649"
- }
- Frame {
- msec: 2496
- hash: "8f36e26d8685fe55e7a1dd294188f649"
- }
- Key {
- type: 6
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2512
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2528
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2544
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Key {
- type: 7
- key: 89
- modifiers: 0
- text: "79"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2560
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2576
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2592
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2608
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2624
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2640
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2656
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2672
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2688
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2704
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2720
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2736
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2752
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2768
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2784
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2800
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2816
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2832
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2848
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2864
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2880
- image: "echoMode.2.png"
- }
- Frame {
- msec: 2896
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2912
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2928
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2944
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2960
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2976
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 2992
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 3008
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 3024
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 3040
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
- Frame {
- msec: 3056
- hash: "316f2ba46d059755576e6822dc77afb2"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.0.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.0.png
deleted file mode 100644
index 431bed842a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.1.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.1.png
deleted file mode 100644
index 9708b4f336..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.2.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.2.png
deleted file mode 100644
index 7034946c48..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.3.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.3.png
deleted file mode 100644
index 7c56f006c2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.4.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.4.png
deleted file mode 100644
index 431bed842a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.5.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.5.png
deleted file mode 100644
index 30b7a0810c..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.6.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.6.png
deleted file mode 100644
index 54e13cbfd2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.7.png b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.7.png
deleted file mode 100644
index 34c099b55a..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.qml
deleted file mode 100644
index de69c6afb4..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/flickableInput.qml
+++ /dev/null
@@ -1,3279 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "flickableInput.0.png"
- }
- Frame {
- msec: 32
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 48
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 64
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 80
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 96
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 112
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 128
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 144
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 160
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 176
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 192
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 208
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 224
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 240
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 256
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 272
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 288
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 304
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 320
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 336
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 352
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 368
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 384
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 400
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 416
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 432
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 448
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 464
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 480
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 496
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 512
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 528
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 544
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 560
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 576
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 592
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 608
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 624
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 640
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 656
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 672
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 688
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 704
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 720
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 736
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 752
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 768
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 39; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 784
- hash: "6ef5c0ad42aca699271501f9358d3de6"
- }
- Frame {
- msec: 800
- hash: "6ef5c0ad42aca699271501f9358d3de6"
- }
- Frame {
- msec: 816
- hash: "6ef5c0ad42aca699271501f9358d3de6"
- }
- Frame {
- msec: 832
- hash: "6ef5c0ad42aca699271501f9358d3de6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 41; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 43; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 848
- hash: "6ef5c0ad42aca699271501f9358d3de6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 46; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 50; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 864
- hash: "c54c442eb01186dc8d5be7ff7b242aa1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 53; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 57; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 880
- hash: "8eb5252ed783eae4dd998ea5a451c6bb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 62; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 68; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 896
- hash: "f80423adedb40b1c9ed88bb171590626"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 73; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 79; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 912
- hash: "afb2d22b60113d05b038fd09b5966151"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 84; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 928
- hash: "e0a4a243acd0c4f3960ea77fdb5e30c1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 101; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 944
- hash: "24c5185a748dc4b02fdd40fd2d0420ff"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 111; y: 8
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 960
- hash: "e271a2cd9847828da3e39c1e618f828a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 117; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 976
- image: "flickableInput.1.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 127; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 132; y: 6
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 992
- hash: "3f40064784f716ce75ef9390d90a1eac"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 136; y: 6
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 139; y: 6
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1008
- hash: "77a95b3d8d4682eb8e613bd86ea7b3c7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 142; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 145; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1024
- hash: "308ea214fc63e47141623bc436df0efc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 148; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 150; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1040
- hash: "3e0a860238ab282aebd733a92321f86f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 154; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 156; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1056
- hash: "ed4c6a18ed003922f5724ebc8e798c6c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 159; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 161; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1072
- hash: "ed4c6a18ed003922f5724ebc8e798c6c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 163; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 165; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1088
- hash: "90bc837ada7b6cd08028e790b1a87ae2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 166; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 169; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1104
- hash: "90bc837ada7b6cd08028e790b1a87ae2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 170; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 171; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1120
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 173; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1136
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 174; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1152
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1168
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 175; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1184
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 176; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1200
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1216
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1232
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1248
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1264
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1280
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1296
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1312
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1328
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1344
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1360
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1376
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 176; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1392
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1408
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1424
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1440
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1456
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1472
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1488
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1504
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1520
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1536
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1552
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1568
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1584
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1600
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 1616
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1632
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1648
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1664
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1680
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1696
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1712
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1728
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1744
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1760
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1776
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1792
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1808
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1824
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1840
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1856
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1872
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1888
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1904
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1920
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1936
- image: "flickableInput.2.png"
- }
- Frame {
- msec: 1952
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1968
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 1984
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 2000
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 2016
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 2032
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 2048
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 2064
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 2080
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 2096
- hash: "44850466b240778a11644fdea11d26d0"
- }
- Frame {
- msec: 2112
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2128
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2144
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2160
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2176
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2192
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2208
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2224
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2240
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2256
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2272
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Frame {
- msec: 2288
- hash: "556d042ec98e01fc1bdb0b2a5032a39e"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 17; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2304
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 2320
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 2336
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 2352
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 2368
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 2384
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 2400
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 2416
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2432
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 13
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 14
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2448
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2464
- hash: "6865c870740497e31dfeb91e09737206"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2480
- hash: "541acf0d74762064d970506a40f6600b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2496
- hash: "956939b887f2bb0d45400214685f1fac"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2512
- hash: "956939b887f2bb0d45400214685f1fac"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2528
- hash: "3eff05a088e55df16f0b30546ad8c87f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2544
- hash: "3eff05a088e55df16f0b30546ad8c87f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2560
- hash: "5b0488fc2a7f840f73d4fc9d17a5a738"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2576
- hash: "e17d039213c12708ff378789705e281a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2592
- hash: "2e2eaab559d0dd7543c2e6e17e0f7740"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2608
- hash: "49a9baad5178009409e28618a4132544"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2624
- hash: "49a9baad5178009409e28618a4132544"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2640
- hash: "a867fe835626e562d5e060c0b2bc4ea3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2656
- hash: "1479e0feffdff866bfd14cbbf76017c7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2672
- hash: "1479e0feffdff866bfd14cbbf76017c7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2688
- hash: "dfa99d1eee5ed8d2913c0e603be3ad0e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2704
- hash: "b55abbe5e7d2c3f5cdaf6dcf5a12c00a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2720
- hash: "46be0cd1b01d80de8e9d8cd78364fdd4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2736
- hash: "46be0cd1b01d80de8e9d8cd78364fdd4"
- }
- Frame {
- msec: 2752
- hash: "46be0cd1b01d80de8e9d8cd78364fdd4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 17; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2768
- hash: "c9ec87a419171b4d6311a36c952eaef1"
- }
- Frame {
- msec: 2784
- hash: "c9ec87a419171b4d6311a36c952eaef1"
- }
- Frame {
- msec: 2800
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2816
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2832
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2848
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2864
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2880
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2896
- image: "flickableInput.3.png"
- }
- Frame {
- msec: 2912
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2928
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2944
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2960
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2976
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 2992
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 3008
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 17; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3024
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 3040
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 3056
- hash: "34cb0a13417b38ff6c78a98a128f1b40"
- }
- Frame {
- msec: 3072
- hash: "09201585ad57e87efda13c469e1bc95d"
- }
- Frame {
- msec: 3088
- hash: "09201585ad57e87efda13c469e1bc95d"
- }
- Frame {
- msec: 3104
- hash: "b816b96270a846ed5776e6f53d507eb8"
- }
- Frame {
- msec: 3120
- hash: "6ee997c78cadb4357b30db81acf4ee40"
- }
- Frame {
- msec: 3136
- hash: "abbab9e07614915a49fc8f30242932a7"
- }
- Frame {
- msec: 3152
- hash: "47f0d0fe751a8ad3dd3f6341d76c929d"
- }
- Frame {
- msec: 3168
- hash: "0304cbed0c52d5486df52312898fe81d"
- }
- Frame {
- msec: 3184
- hash: "6ac82afa8805f1bdb4c67a2f1a1aff32"
- }
- Frame {
- msec: 3200
- hash: "4cc6db0a1dbe6c70d5e2dfe60fe70a51"
- }
- Frame {
- msec: 3216
- hash: "cf04ff1b13f5aa36470fd8ae23523153"
- }
- Frame {
- msec: 3232
- hash: "20fcdfd24f21125d61ac45cbe94e48a7"
- }
- Frame {
- msec: 3248
- hash: "e017109961b5e6c6701c3045f284ebf7"
- }
- Frame {
- msec: 3264
- hash: "e017109961b5e6c6701c3045f284ebf7"
- }
- Frame {
- msec: 3280
- hash: "c2a770b8c95959f4abf91420c0a3e8b2"
- }
- Frame {
- msec: 3296
- hash: "6865c870740497e31dfeb91e09737206"
- }
- Frame {
- msec: 3312
- hash: "6865c870740497e31dfeb91e09737206"
- }
- Frame {
- msec: 3328
- hash: "6865c870740497e31dfeb91e09737206"
- }
- Frame {
- msec: 3344
- hash: "6865c870740497e31dfeb91e09737206"
- }
- Frame {
- msec: 3360
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3376
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3392
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3408
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3424
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3440
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3456
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3472
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3488
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3504
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3520
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3536
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3552
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3568
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3584
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3600
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3616
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3632
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3648
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3664
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3680
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3696
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3712
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3728
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3744
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3760
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3776
- hash: "7b10e4abcc38d2359bb253f8477858e6"
- }
- Frame {
- msec: 3792
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 3808
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 3824
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 3840
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 3856
- image: "flickableInput.4.png"
- }
- Frame {
- msec: 3872
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 3888
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 3904
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 3920
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 3936
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Frame {
- msec: 3952
- hash: "a5480e4c53bbd8c58aa2d574c7644871"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 12; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3968
- hash: "b6dd7639973f6ee654a7ab6dec2fabbe"
- }
- Frame {
- msec: 3984
- hash: "b6dd7639973f6ee654a7ab6dec2fabbe"
- }
- Frame {
- msec: 4000
- hash: "b6dd7639973f6ee654a7ab6dec2fabbe"
- }
- Frame {
- msec: 4016
- hash: "b6dd7639973f6ee654a7ab6dec2fabbe"
- }
- Frame {
- msec: 4032
- hash: "b6dd7639973f6ee654a7ab6dec2fabbe"
- }
- Frame {
- msec: 4048
- hash: "b6dd7639973f6ee654a7ab6dec2fabbe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 13; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4064
- hash: "b6dd7639973f6ee654a7ab6dec2fabbe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 16; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 20; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4080
- hash: "b6dd7639973f6ee654a7ab6dec2fabbe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 23; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 27; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4096
- hash: "ab2ea5988d2b3288d3c57369f68933dc"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 31; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 36; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4112
- hash: "986834600427959d170d547a1c5ecce0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 41; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 47; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4128
- hash: "52847e87c1fef2d7357c86abb0944df4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 52; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 58; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4144
- hash: "bc68a47163712646cf8439459fb0d100"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 62; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 66; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4160
- hash: "9e9f66e9545c77a2e7ee02d46acd102e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 72; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 76; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4176
- hash: "4e9e7500185499c5a5f9d65e0e9406a0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 80; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 83; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4192
- hash: "550d6c645bf694c544734d67e2ae5ac3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 87; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4208
- hash: "0736bab3f9c1cec0f944003bebe3d499"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 94; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4224
- hash: "efffb9f6d6a7dacf297530b1cb68a713"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 100; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 103; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4240
- hash: "d5458a8dd8a9bf22e67439c9d8d9c366"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4256
- hash: "2d30acf6dc0e186577bd6f7ce858ab92"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 112; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 115; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4272
- hash: "e1a926cc5f7a49c9320a8d49c8a1bb3f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 117; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 120; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4288
- hash: "cfc9c0bca9e269887ad5c67cc684b753"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 122; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 124; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4304
- hash: "7b561e04ef93399460eb3b4b850c3cab"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 126; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 127; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4320
- hash: "1c17d036e08b24b47239f9a38df3d87d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 128; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 130; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4336
- hash: "3ec95ad7622048b68a53cfd3fdeac999"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 132; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 133; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4352
- hash: "1e20084ed70b7423885a2d0f06fba660"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 134; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 136; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4368
- hash: "f19e136b3c3d57d8b8e63c64b17c29e4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 137; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4384
- hash: "f19e136b3c3d57d8b8e63c64b17c29e4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 138; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4400
- hash: "894d439a8463cf460e5a66fdcf51a1b5"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 139; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4416
- hash: "894d439a8463cf460e5a66fdcf51a1b5"
- }
- Frame {
- msec: 4432
- hash: "894d439a8463cf460e5a66fdcf51a1b5"
- }
- Frame {
- msec: 4448
- hash: "894d439a8463cf460e5a66fdcf51a1b5"
- }
- Frame {
- msec: 4464
- hash: "03c99addee96254d19db72746f1bef11"
- }
- Frame {
- msec: 4480
- hash: "03c99addee96254d19db72746f1bef11"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4496
- hash: "cb087b0af44fd7e767b3ff5da1f49790"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 142; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 143; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4512
- hash: "8c36fa6a9c8bfb66e272c8628aec7077"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 145; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 146; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4528
- hash: "971154dba58b18b1d82999f5b6a40cc1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 149; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 151; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4544
- hash: "253397b603f99f7d092dda82d794e944"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 153; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 155; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4560
- hash: "f8ded9e6f36a35a73fbe2264321838ca"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 158; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 161; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4576
- hash: "83b9cec7bbe65ba9d68b089211296116"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 164; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 166; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4592
- hash: "525ffec3a2d2a7a9e0c82f2c98b09ea0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 171; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4608
- hash: "c4fb902f66abebb6b7c3489a073e17d4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 172; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 173; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4624
- hash: "0f4526d9f840c0a95e9d145c9822d6e1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 174; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4640
- hash: "db00d1ba5c8416b3418e9e5ca65be5ea"
- }
- Frame {
- msec: 4656
- hash: "db00d1ba5c8416b3418e9e5ca65be5ea"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 175; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4672
- hash: "db00d1ba5c8416b3418e9e5ca65be5ea"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 176; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4688
- hash: "d6f7a50416c3805aeafbdf55905e8276"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 177; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4704
- hash: "d6f7a50416c3805aeafbdf55905e8276"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 178; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4720
- hash: "7586c3d3f46eba4a1abe2fe223e7fde2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 179; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4736
- hash: "7586c3d3f46eba4a1abe2fe223e7fde2"
- }
- Frame {
- msec: 4752
- hash: "7586c3d3f46eba4a1abe2fe223e7fde2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 180; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4768
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4784
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4800
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4816
- image: "flickableInput.5.png"
- }
- Frame {
- msec: 4832
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4848
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4864
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4880
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4896
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4912
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4928
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4944
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 4960
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 4976
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 4992
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5008
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5024
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5040
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5056
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5072
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5088
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5104
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5120
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5136
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5152
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5168
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5184
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5200
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5216
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5232
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5248
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5264
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5280
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5296
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5312
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5328
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5344
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5360
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5376
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5392
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5408
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5424
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5440
- hash: "9fcd1fb769766e6019fd7e85cd3e05dc"
- }
- Frame {
- msec: 5456
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 5472
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 5488
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 5504
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 5520
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Frame {
- msec: 5536
- hash: "4f63c550ebf5c52fe55558310b366b11"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 177; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5552
- hash: "d6f7a50416c3805aeafbdf55905e8276"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 176; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 175; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5568
- hash: "db00d1ba5c8416b3418e9e5ca65be5ea"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 174; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 171; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5584
- hash: "c4fb902f66abebb6b7c3489a073e17d4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 170; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 168; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5600
- hash: "04c6accf277b5bca4c53c1817f85bafe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 166; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 164; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5616
- hash: "8eb14964fea798ceccc150310a12fd4b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 162; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 160; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5632
- hash: "83b9cec7bbe65ba9d68b089211296116"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 158; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 157; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5648
- hash: "e59ae71a5636c48e6befa305eba76ec8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 155; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 153; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5664
- hash: "73e178775ee01d28cf03378f267753b1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 151; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 150; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5680
- hash: "253397b603f99f7d092dda82d794e944"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 148; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 146; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5696
- hash: "971154dba58b18b1d82999f5b6a40cc1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 145; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 144; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5712
- hash: "5bd30e73b37592c06f735541f802f367"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 142; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 140; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5728
- hash: "cb087b0af44fd7e767b3ff5da1f49790"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 138; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5744
- hash: "03c99addee96254d19db72746f1bef11"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 137; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 135; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5760
- hash: "0f76d8a89e383e7e742a3d194d770061"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 133; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 131; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5776
- image: "flickableInput.6.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 129; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 127; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5792
- hash: "f047f32822850b2c0fee18b4a8f8a96a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 124; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 121; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5808
- hash: "160c8c8447a469291fc2f87c2b6c97ce"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 119; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 116; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5824
- hash: "4a9d610f3fa37336c0cab7b4e575713b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 114; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 112; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5840
- hash: "5a00b185983ad89bcf1ceb036c424dd4"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 110; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 109; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5856
- hash: "a578449e7df3994d0806f7ee2e5a7815"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 107; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5872
- hash: "445cb1ae1934659c3c8b5800bc30fc74"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 106; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 105; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5888
- hash: "ad22110876a867ca80530ca6d132dfe3"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 105; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 105; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5904
- hash: "7a644a888de5691c69543699229ec8ca"
- }
- Frame {
- msec: 5920
- hash: "7a644a888de5691c69543699229ec8ca"
- }
- Frame {
- msec: 5936
- hash: "41c14cc9ea05712aea8d1feb18ca85f3"
- }
- Frame {
- msec: 5952
- hash: "921d476813711e64b9c2272aeff3ed40"
- }
- Frame {
- msec: 5968
- hash: "2dad691263389dce74c99530f188cd20"
- }
- Frame {
- msec: 5984
- hash: "b426ff8ba6d1c52974b117fb8b912b76"
- }
- Frame {
- msec: 6000
- hash: "bbcae0d0547e1cfe9a4db1a6f86bf4b6"
- }
- Frame {
- msec: 6016
- hash: "b8e54bc1a48d7a225cce25c3735c2933"
- }
- Frame {
- msec: 6032
- hash: "b59e0f6eea3c41cedb10ac7a7e2629ef"
- }
- Frame {
- msec: 6048
- hash: "48add89789f9d1be82aedeecf6fda362"
- }
- Frame {
- msec: 6064
- hash: "3cf7a035a5b7dbc81c3da5e99efa5024"
- }
- Frame {
- msec: 6080
- hash: "ff9c7173f7138e273cdbdfa8c6f5fedf"
- }
- Frame {
- msec: 6096
- hash: "bc5e19862dfb38e687d1bfc37690a3b8"
- }
- Frame {
- msec: 6112
- hash: "6ff97512731fd97d3c540245ffff6205"
- }
- Frame {
- msec: 6128
- hash: "290e8c8bf51ced134e965f72a868e467"
- }
- Frame {
- msec: 6144
- hash: "3a63687a5179896572be2e1e0d00766f"
- }
- Frame {
- msec: 6160
- hash: "80f8d13272a23e8816ef45fbbef922fe"
- }
- Frame {
- msec: 6176
- hash: "7888e0ece9522f751417944855824be8"
- }
- Frame {
- msec: 6192
- hash: "3d81f8cde15b7d0b009fc9b46a1144e1"
- }
- Frame {
- msec: 6208
- hash: "3d81f8cde15b7d0b009fc9b46a1144e1"
- }
- Frame {
- msec: 6224
- hash: "d19f7d7d94695ca307b59ffdfea497d0"
- }
- Frame {
- msec: 6240
- hash: "d19f7d7d94695ca307b59ffdfea497d0"
- }
- Frame {
- msec: 6256
- hash: "d19f7d7d94695ca307b59ffdfea497d0"
- }
- Frame {
- msec: 6272
- hash: "d19f7d7d94695ca307b59ffdfea497d0"
- }
- Frame {
- msec: 6288
- hash: "d19f7d7d94695ca307b59ffdfea497d0"
- }
- Frame {
- msec: 6304
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6320
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6336
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6352
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6368
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6384
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6400
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6416
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6432
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6448
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6464
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6480
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6496
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6512
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6528
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6544
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6560
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6576
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6592
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6608
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6624
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6640
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6656
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6672
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6688
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6704
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6720
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6736
- image: "flickableInput.7.png"
- }
- Frame {
- msec: 6752
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6768
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6784
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6800
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6816
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6832
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6848
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6864
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6880
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6896
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6912
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6928
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6944
- hash: "399526752d472f9379d3d218d5d3fdf8"
- }
- Frame {
- msec: 6960
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6976
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 6992
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7008
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7024
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7040
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7056
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7072
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7088
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7104
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7120
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7136
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7152
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7168
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7184
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7200
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7216
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7232
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7248
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7264
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7280
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
- Frame {
- msec: 7296
- hash: "ef425c131e1c80a6d62d777963f3d08f"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.qml
deleted file mode 100644
index a0351e87fd..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/data/hAlign.qml
+++ /dev/null
@@ -1,107 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 32
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 48
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 64
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 80
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 96
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 112
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 128
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 144
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 160
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 176
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 192
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 208
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 224
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 240
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 256
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 272
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 288
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 304
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 320
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 336
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 352
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 368
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 384
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
- Frame {
- msec: 400
- hash: "7619ed68aca3544f373777e11a4bfefa"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/echoMode.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/echoMode.qml
deleted file mode 100644
index 83ec088a79..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/echoMode.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Item {
- height: 50; width: 200
- Column {
- //Not an exhaustive echo mode test, that's in QLineEdit (since the functionality is in QLineControl)
- TestTextInput { id: main; focus: true; echoMode: TextInput.Password; passwordCharacter: '.' }
- TestText { text: main.text }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/flickableInput.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/flickableInput.qml
deleted file mode 100644
index 7af74accd9..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/flickableInput.qml
+++ /dev/null
@@ -1,21 +0,0 @@
-import QtQuick 1.0
-
-Flickable {
- width: 200
- height: 50
- contentWidth: 400
- contentHeight: 100
-
- Column {
- anchors.fill: parent
-
- TextInput {
- selectByMouse: true
- text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- }
- TextInput {
- selectByMouse: false
- text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/hAlign.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/hAlign.qml
deleted file mode 100644
index f36a752ff2..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/hAlign.qml
+++ /dev/null
@@ -1,41 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Item{
- width:600;
- height:300;
- Column {
- //Because they have auto width, these three should look the same
- TestTextInput {
- text: "Jackdaws love my big sphinx of quartz";
- horizontalAlignment: TextInput.AlignLeft;
- }
- TestTextInput {
- text: "Jackdaws love my big sphinx of quartz";
- horizontalAlignment: TextInput.AlignHCenter;
- }
- TestTextInput {
- text: "Jackdaws love my big sphinx of quartz";
- horizontalAlignment: TextInput.AlignRight;
- }
- Rectangle{ width: 600; height: 10; color: "pink" }
- TestTextInput {
- height: 30;
- width: 600;
- text: "Jackdaws love my big sphinx of quartz";
- horizontalAlignment: TextInput.AlignLeft;
- }
- TestTextInput {
- height: 30;
- width: 600;
- text: "Jackdaws love my big sphinx of quartz";
- horizontalAlignment: TextInput.AlignHCenter;
- }
- TestTextInput {
- height: 30;
- width: 600;
- text: "Jackdaws love my big sphinx of quartz";
- horizontalAlignment: TextInput.AlignRight;
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/qtbug-15818.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/qtbug-15818.qml
deleted file mode 100644
index 59710a4cd3..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/qtbug-15818.qml
+++ /dev/null
@@ -1,13 +0,0 @@
-import QtQuick 1.1
-//Test that doubleclicking on the front of a word only selects that word, and not the word in front
-
-Item{
- width: 200
- height: 100
- TextInput{
- anchors.fill: parent
- readOnly: true
- selectByMouse: true
- text: "abc a cba test"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/usingLineEdit.qml b/tests/auto/declarative/qmlvisual/qdeclarativetextinput/usingLineEdit.qml
deleted file mode 100644
index 758717ea2b..0000000000
--- a/tests/auto/declarative/qmlvisual/qdeclarativetextinput/usingLineEdit.qml
+++ /dev/null
@@ -1,10 +0,0 @@
-import QtQuick 1.0
-
-Rectangle{
- width: 600
- height: 200
- Column {
- LineEdit {text: 'Hello world'}
- LineEdit {text: 'Hello underwhelmingly verbose world'; width: 80; height: 24;}
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/qmlvisual.pro b/tests/auto/declarative/qmlvisual/qmlvisual.pro
deleted file mode 100644
index 416f8d9e31..0000000000
--- a/tests/auto/declarative/qmlvisual/qmlvisual.pro
+++ /dev/null
@@ -1,35 +0,0 @@
-load(qttest_p4)
-contains(QT_CONFIG,declarative): QT += declarative
-macx:CONFIG -= app_bundle
-
-SOURCES += tst_qmlvisual.cpp
-
-symbian: {
- importFiles.path = .
- importFiles.files = animation \
- fillmode \
- focusscope \
- ListView \
- qdeclarativeborderimage \
- qdeclarativeflickable \
- qdeclarativeflipable \
- qdeclarativegridview \
- qdeclarativemousearea \
- qdeclarativeparticles \
- qdeclarativepathview \
- qdeclarativepositioners \
- qdeclarativesmoothedanimation \
- qdeclarativespringanimation \
- qdeclarativetext \
- qdeclarativetextedit \
- qdeclarativetextinput \
- rect \
- repeater \
- selftest_noimages \
- webview
- DEPLOYMENT += importFiles
-} else {
- DEFINES += QT_TEST_SOURCE_DIR=\"\\\"$$PWD\\\"\"
-}
-
-CONFIG += parallel_test
diff --git a/tests/auto/declarative/qmlvisual/rect/GradientRect.qml b/tests/auto/declarative/qmlvisual/rect/GradientRect.qml
deleted file mode 100644
index 5ac7dcf239..0000000000
--- a/tests/auto/declarative/qmlvisual/rect/GradientRect.qml
+++ /dev/null
@@ -1,25 +0,0 @@
-import QtQuick 1.0
-
-Item {
- id: rect
- property color color
- property color border : Qt.rgba(0,0,0,0)
- property int rotation
- property int radius
- property int borderWidth
- property bool smooth: false
-
- width: 40; height: 40
- Item {
- anchors.centerIn: parent; rotation: rect.rotation;
- Rectangle {
- anchors.centerIn: parent; width: 40; height: 40
- border.color: rect.border; border.width: rect.border != Qt.rgba(0,0,0,0) ? 2 : 0
- radius: rect.radius; smooth: rect.smooth
- gradient: Gradient {
- GradientStop { position: 0.0; color: rect.color }
- GradientStop { position: 1.0; color: "white" }
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/rect/MyRect.qml b/tests/auto/declarative/qmlvisual/rect/MyRect.qml
deleted file mode 100644
index 99226d35d4..0000000000
--- a/tests/auto/declarative/qmlvisual/rect/MyRect.qml
+++ /dev/null
@@ -1,21 +0,0 @@
-import QtQuick 1.0
-
-Item {
- id: rect
- property color color
- property color border : Qt.rgba(0,0,0,0)
- property int rotation
- property int radius
- property int borderWidth
- property bool smooth: false
-
- width: 40; height: 40
- Item {
- anchors.centerIn: parent; rotation: rect.rotation;
- Rectangle {
- anchors.centerIn: parent; width: 40; height: 40
- color: rect.color; border.color: rect.border; border.width: rect.border != Qt.rgba(0,0,0,0) ? 2 : 0
- radius: rect.radius; smooth: rect.smooth
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/rect/data/GradientRect.0.png b/tests/auto/declarative/qmlvisual/rect/data/GradientRect.0.png
deleted file mode 100644
index 2ca5d2821d..0000000000
--- a/tests/auto/declarative/qmlvisual/rect/data/GradientRect.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/rect/data/GradientRect.qml b/tests/auto/declarative/qmlvisual/rect/data/GradientRect.qml
deleted file mode 100644
index 116ab2ae35..0000000000
--- a/tests/auto/declarative/qmlvisual/rect/data/GradientRect.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "GradientRect.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/rect/data/MyRect.0.png b/tests/auto/declarative/qmlvisual/rect/data/MyRect.0.png
deleted file mode 100644
index 3eb9a8d52f..0000000000
--- a/tests/auto/declarative/qmlvisual/rect/data/MyRect.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/rect/data/MyRect.qml b/tests/auto/declarative/qmlvisual/rect/data/MyRect.qml
deleted file mode 100644
index 72141c830c..0000000000
--- a/tests/auto/declarative/qmlvisual/rect/data/MyRect.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "MyRect.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png b/tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png
deleted file mode 100644
index 3556dce13e..0000000000
--- a/tests/auto/declarative/qmlvisual/rect/data/rect-painting.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/rect/data/rect-painting.qml b/tests/auto/declarative/qmlvisual/rect/data/rect-painting.qml
deleted file mode 100644
index 9fc073caf7..0000000000
--- a/tests/auto/declarative/qmlvisual/rect/data/rect-painting.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "rect-painting.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/rect/rect-painting.qml b/tests/auto/declarative/qmlvisual/rect/rect-painting.qml
deleted file mode 100644
index 2de414dbf8..0000000000
--- a/tests/auto/declarative/qmlvisual/rect/rect-painting.qml
+++ /dev/null
@@ -1,55 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- width: 450; height: 250
- color: "white"
-
- Rectangle {
- anchors.top: parent.verticalCenter
- anchors.left: parent.left
- anchors.right: parent.right
- anchors.bottom: parent.bottom
- color: "#eeeeee"
- }
-
- Grid {
- anchors.centerIn: parent
- columns: 8; rows:4; spacing: 15
-
- MyRect { color: "lightsteelblue" }
- MyRect { color: "lightsteelblue"; border: "gray" }
- MyRect { color: "lightsteelblue"; radius: 10 }
- MyRect { color: "lightsteelblue"; radius: 10; border: "gray" }
- GradientRect { color: "lightsteelblue" }
- GradientRect { color: "lightsteelblue"; border: "gray" }
- GradientRect { color: "lightsteelblue"; radius: 10 }
- GradientRect { color: "lightsteelblue"; radius: 10; border: "gray" }
-
- MyRect { color: "thistle"; rotation: 10 }
- MyRect { color: "thistle"; border: "gray"; rotation: 10 }
- MyRect { color: "thistle"; radius: 10; rotation: 10 }
- MyRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10 }
- GradientRect { color: "thistle"; rotation: 10 }
- GradientRect { color: "thistle"; border: "gray"; rotation: 10 }
- GradientRect { color: "thistle"; radius: 10; rotation: 10 }
- GradientRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10 }
-
- MyRect { color: "lightsteelblue"; smooth: true }
- MyRect { color: "lightsteelblue"; border: "gray"; smooth: true }
- MyRect { color: "lightsteelblue"; radius: 10; smooth: true }
- MyRect { color: "lightsteelblue"; radius: 10; border: "gray"; smooth: true }
- GradientRect { color: "lightsteelblue"; smooth: true }
- GradientRect { color: "lightsteelblue"; border: "gray"; smooth: true }
- GradientRect { color: "lightsteelblue"; radius: 10; smooth: true }
- GradientRect { color: "lightsteelblue"; radius: 10; border: "gray"; smooth: true }
-
- MyRect { color: "thistle"; rotation: 10; smooth: true }
- MyRect { color: "thistle"; border: "gray"; rotation: 10; smooth: true }
- MyRect { color: "thistle"; radius: 10; rotation: 10; smooth: true }
- MyRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10; smooth: true }
- GradientRect { color: "thistle"; rotation: 10; smooth: true }
- GradientRect { color: "thistle"; border: "gray"; rotation: 10; smooth: true }
- GradientRect { color: "thistle"; radius: 10; rotation: 10; smooth: true }
- GradientRect { color: "thistle"; radius: 10; border: "gray"; rotation: 10; smooth: true }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/repeater/basic1.qml b/tests/auto/declarative/qmlvisual/repeater/basic1.qml
deleted file mode 100644
index 5d994b96a0..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/basic1.qml
+++ /dev/null
@@ -1,31 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "white"
- width: 120
- height: 240
- id: page
- Column{
- Repeater{
- delegate: Rectangle {
- color: "thistle"
- width: 100
- height: 100
- Rectangle {
- anchors.centerIn: parent
- width: 60
- height: 60
- color: name
- }
- }
- model: ListModel {
- ListElement {
- name: "palegoldenrod"
- }
- ListElement {
- name: "lightsteelblue"
- }
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/repeater/basic2.qml b/tests/auto/declarative/qmlvisual/repeater/basic2.qml
deleted file mode 100644
index ea14e92e21..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/basic2.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "white"
- width: 120
- height: 240
- id: page
- Component {
- id: delegate
- Rectangle {
- color: "thistle"
- width: 100
- height: 100
- Rectangle {
- anchors.centerIn: parent
- width: 60
- height: 60
- color: name
- }
- }
- }
- Column{
- Repeater{
- delegate: delegate
- model: ListModel {
- ListElement {
- name: "palegoldenrod"
- }
- ListElement {
- name: "lightsteelblue"
- }
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/repeater/basic3.qml b/tests/auto/declarative/qmlvisual/repeater/basic3.qml
deleted file mode 100644
index 0193db30c0..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/basic3.qml
+++ /dev/null
@@ -1,33 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "white"
- width: 120
- height: 240
- id: page
- ListModel {
- id: model
- ListElement {
- name: "palegoldenrod"
- }
- ListElement {
- name: "lightsteelblue"
- }
- }
- Column{
- Repeater{
- model: model
- delegate: Rectangle {
- color: "thistle"
- width: 100
- height: 100
- Rectangle {
- anchors.centerIn: parent
- width: 60
- height: 60
- color: name
- }
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/repeater/basic4.qml b/tests/auto/declarative/qmlvisual/repeater/basic4.qml
deleted file mode 100644
index c7c0d29682..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/basic4.qml
+++ /dev/null
@@ -1,37 +0,0 @@
-import QtQuick 1.0
-
-Rectangle {
- color: "white"
- width: 120
- height: 240
- id: page
- ListModel {
- id: model
- ListElement {
- name: "palegoldenrod"
- }
- ListElement {
- name: "lightsteelblue"
- }
- }
- Component {
- id: delegate
- Rectangle {
- color: "thistle"
- width: 100
- height: 100
- Rectangle {
- anchors.centerIn: parent
- width: 60
- height: 60
- color: name
- }
- }
- }
- Column{
- Repeater{
- model: model
- delegate: delegate
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic1.0.png b/tests/auto/declarative/qmlvisual/repeater/data/basic1.0.png
deleted file mode 100644
index 3e8043a685..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/data/basic1.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic1.qml b/tests/auto/declarative/qmlvisual/repeater/data/basic1.qml
deleted file mode 100644
index aad4858ca4..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/data/basic1.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "basic1.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic2.0.png b/tests/auto/declarative/qmlvisual/repeater/data/basic2.0.png
deleted file mode 100644
index 3e8043a685..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/data/basic2.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic2.qml b/tests/auto/declarative/qmlvisual/repeater/data/basic2.qml
deleted file mode 100644
index 373ad27cb3..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/data/basic2.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "basic2.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic3.0.png b/tests/auto/declarative/qmlvisual/repeater/data/basic3.0.png
deleted file mode 100644
index 3e8043a685..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/data/basic3.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic3.qml b/tests/auto/declarative/qmlvisual/repeater/data/basic3.qml
deleted file mode 100644
index f5dbf65a43..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/data/basic3.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "basic3.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic4.0.png b/tests/auto/declarative/qmlvisual/repeater/data/basic4.0.png
deleted file mode 100644
index 3e8043a685..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/data/basic4.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/repeater/data/basic4.qml b/tests/auto/declarative/qmlvisual/repeater/data/basic4.qml
deleted file mode 100644
index 5e494d13a7..0000000000
--- a/tests/auto/declarative/qmlvisual/repeater/data/basic4.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "basic4.0.png"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml b/tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml
deleted file mode 100644
index ccadea0d0f..0000000000
--- a/tests/auto/declarative/qmlvisual/selftest_noimages/data/selftest_noimages.qml
+++ /dev/null
@@ -1,356 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- }
- Frame {
- msec: 32
- }
- Frame {
- msec: 48
- }
- Frame {
- msec: 64
- }
- Frame {
- msec: 80
- }
- Frame {
- msec: 96
- }
- Frame {
- msec: 112
- }
- Frame {
- msec: 128
- }
- Frame {
- msec: 144
- }
- Frame {
- msec: 160
- }
- Frame {
- msec: 176
- }
- Frame {
- msec: 192
- }
- Frame {
- msec: 208
- }
- Frame {
- msec: 224
- }
- Frame {
- msec: 240
- }
- Frame {
- msec: 256
- }
- Frame {
- msec: 272
- }
- Frame {
- msec: 288
- }
- Frame {
- msec: 304
- }
- Frame {
- msec: 320
- }
- Frame {
- msec: 336
- }
- Frame {
- msec: 352
- }
- Frame {
- msec: 368
- }
- Frame {
- msec: 384
- }
- Frame {
- msec: 400
- }
- Frame {
- msec: 416
- }
- Frame {
- msec: 432
- }
- Frame {
- msec: 448
- }
- Frame {
- msec: 464
- }
- Frame {
- msec: 480
- }
- Frame {
- msec: 496
- }
- Frame {
- msec: 512
- }
- Frame {
- msec: 528
- }
- Frame {
- msec: 544
- }
- Frame {
- msec: 560
- }
- Frame {
- msec: 576
- }
- Frame {
- msec: 592
- }
- Frame {
- msec: 608
- }
- Frame {
- msec: 624
- }
- Frame {
- msec: 640
- }
- Frame {
- msec: 656
- }
- Frame {
- msec: 672
- }
- Frame {
- msec: 688
- }
- Frame {
- msec: 704
- }
- Frame {
- msec: 720
- }
- Frame {
- msec: 736
- }
- Frame {
- msec: 752
- }
- Frame {
- msec: 768
- }
- Frame {
- msec: 784
- }
- Frame {
- msec: 800
- }
- Frame {
- msec: 816
- }
- Frame {
- msec: 832
- }
- Frame {
- msec: 848
- }
- Frame {
- msec: 864
- }
- Frame {
- msec: 880
- }
- Frame {
- msec: 896
- }
- Frame {
- msec: 912
- }
- Frame {
- msec: 928
- }
- Frame {
- msec: 944
- }
- Frame {
- msec: 960
- }
- Frame {
- msec: 976
- }
- Frame {
- msec: 992
- }
- Frame {
- msec: 1008
- }
- Frame {
- msec: 1024
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 53; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1040
- }
- Frame {
- msec: 1056
- }
- Frame {
- msec: 1072
- }
- Frame {
- msec: 1088
- }
- Frame {
- msec: 1104
- }
- Frame {
- msec: 1120
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 53; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1136
- }
- Frame {
- msec: 1152
- }
- Frame {
- msec: 1168
- }
- Frame {
- msec: 1184
- }
- Frame {
- msec: 1200
- }
- Frame {
- msec: 1216
- }
- Frame {
- msec: 1232
- }
- Frame {
- msec: 1248
- }
- Frame {
- msec: 1264
- }
- Frame {
- msec: 1280
- }
- Frame {
- msec: 1296
- }
- Frame {
- msec: 1312
- }
- Frame {
- msec: 1328
- }
- Frame {
- msec: 1344
- }
- Frame {
- msec: 1360
- }
- Frame {
- msec: 1376
- }
- Frame {
- msec: 1392
- }
- Frame {
- msec: 1408
- }
- Frame {
- msec: 1424
- }
- Frame {
- msec: 1440
- }
- Frame {
- msec: 1456
- }
- Frame {
- msec: 1472
- }
- Frame {
- msec: 1488
- }
- Frame {
- msec: 1504
- }
- Frame {
- msec: 1520
- }
- Frame {
- msec: 1536
- }
- Frame {
- msec: 1552
- }
- Frame {
- msec: 1568
- }
- Frame {
- msec: 1584
- }
- Frame {
- msec: 1600
- }
- Frame {
- msec: 1616
- }
- Frame {
- msec: 1632
- }
- Frame {
- msec: 1648
- }
- Frame {
- msec: 1664
- }
- Frame {
- msec: 1680
- }
- Frame {
- msec: 1696
- }
- Frame {
- msec: 1712
- }
- Frame {
- msec: 1728
- }
- Frame {
- msec: 1744
- }
- Frame {
- msec: 1760
- }
- Frame {
- msec: 1776
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/selftest_noimages/selftest_noimages.qml b/tests/auto/declarative/qmlvisual/selftest_noimages/selftest_noimages.qml
deleted file mode 100644
index 3ef2a663e4..0000000000
--- a/tests/auto/declarative/qmlvisual/selftest_noimages/selftest_noimages.qml
+++ /dev/null
@@ -1,9 +0,0 @@
-import QtQuick 1.0
-Text {
- property string error: "not pressed"
- text: (new Date()).valueOf()
- MouseArea {
- anchors.fill: parent
- onPressed: error=""
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/shared/DejaVuSansMono.ttf b/tests/auto/declarative/qmlvisual/shared/DejaVuSansMono.ttf
deleted file mode 100644
index 029fcac35f..0000000000
--- a/tests/auto/declarative/qmlvisual/shared/DejaVuSansMono.ttf
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/shared/README b/tests/auto/declarative/qmlvisual/shared/README
deleted file mode 100644
index 56a88ae57c..0000000000
--- a/tests/auto/declarative/qmlvisual/shared/README
+++ /dev/null
@@ -1,7 +0,0 @@
-These components provide a standard set of what would otherwise be system dependant settings. These are
--default font
--default fontSize
--cursor blink time (unblinking cursor)
-
-This should probably be replaced with a Test Style/Theme once QtComponents is done.
-Note that having multiple font loaders is probably quite inefficient, so don't use these for performance tests.
diff --git a/tests/auto/declarative/qmlvisual/shared/TestText.qml b/tests/auto/declarative/qmlvisual/shared/TestText.qml
deleted file mode 100644
index ab624c319e..0000000000
--- a/tests/auto/declarative/qmlvisual/shared/TestText.qml
+++ /dev/null
@@ -1,8 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-Text{
- FontLoader { id: fixedFont; source: "DejaVuSansMono.ttf" }
- font.family: fixedFont.name
- font.pixelSize: 12
-}
diff --git a/tests/auto/declarative/qmlvisual/shared/TestTextEdit.qml b/tests/auto/declarative/qmlvisual/shared/TestTextEdit.qml
deleted file mode 100644
index e7c5bc1b10..0000000000
--- a/tests/auto/declarative/qmlvisual/shared/TestTextEdit.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-TextEdit {
- id: edit
- FontLoader { id: fixedFont; source: "DejaVuSansMono.ttf" }
- font.family: fixedFont.name
- font.pixelSize: 12
- cursorDelegate: Rectangle {
- width: 1;
- color: "black";
- visible: edit.cursorVisible
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/shared/TestTextInput.qml b/tests/auto/declarative/qmlvisual/shared/TestTextInput.qml
deleted file mode 100644
index 64938e043c..0000000000
--- a/tests/auto/declarative/qmlvisual/shared/TestTextInput.qml
+++ /dev/null
@@ -1,14 +0,0 @@
-import QtQuick 1.0
-import "../shared" 1.0
-
-TextInput {
- id: inp
- FontLoader { id: fixedFont; source: "DejaVuSansMono.ttf" }
- font.family: fixedFont.name
- font.pixelSize: 12
- cursorDelegate: Rectangle {
- width: 1;
- color: "black";
- visible: parent.cursorVisible//bug that 'inp' doesn't seem to work?
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/shared/qmldir b/tests/auto/declarative/qmlvisual/shared/qmldir
deleted file mode 100644
index 4aebb393e4..0000000000
--- a/tests/auto/declarative/qmlvisual/shared/qmldir
+++ /dev/null
@@ -1,3 +0,0 @@
-TestText 1.0 TestText.qml
-TestTextEdit 1.0 TestTextEdit.qml
-TestTextInput 1.0 TestTextInput.qml
diff --git a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp b/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp
deleted file mode 100644
index bd95a527d2..0000000000
--- a/tests/auto/declarative/qmlvisual/tst_qmlvisual.cpp
+++ /dev/null
@@ -1,418 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 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$
-** GNU Lesser General Public License Usage
-** This file may be used under the terms of the GNU Lesser General Public
-** License version 2.1 as published by the Free Software Foundation and
-** appearing in the file LICENSE.LGPL included in the packaging of this
-** file. Please review the following information to ensure the GNU Lesser
-** General Public License version 2.1 requirements will be met:
-** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU General
-** Public License version 3.0 as published by the Free Software Foundation
-** and appearing in the file LICENSE.GPL included in the packaging of this
-** file. Please review the following information to ensure the GNU General
-** Public License version 3.0 requirements will be met:
-** http://www.gnu.org/copyleft/gpl.html.
-**
-** Other Usage
-** Alternatively, this file may be used in accordance with the terms and
-** conditions contained in a signed written agreement between you and Nokia.
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <qtest.h>
-#include <QDeclarativeView>
-#include <QApplication>
-#include <QLibraryInfo>
-#include <QDir>
-#include <QDebug>
-#include <QProcess>
-#include <QFile>
-
-#ifdef Q_OS_SYMBIAN
-// In Symbian OS test data is located in applications private dir
-#define QT_TEST_SOURCE_DIR "."
-#endif
-
-enum Mode { Record, RecordNoVisuals, RecordSnapshot, Play, TestVisuals, RemoveVisuals, UpdateVisuals, UpdatePlatformVisuals, Test };
-
-static QString testdir;
-class tst_qmlvisual : public QObject
-{
- Q_OBJECT
-public:
- tst_qmlvisual();
-
- static QString toTestScript(const QString &, Mode=Test);
- static QString viewer();
-
- static QStringList findQmlFiles(const QDir &d);
-private slots:
- void visual_data();
- void visual();
-
-private:
- QString qmlruntime;
-};
-
-
-tst_qmlvisual::tst_qmlvisual()
-{
- qmlruntime = viewer();
-}
-
-QString tst_qmlvisual::viewer()
-{
- QString binaries = QLibraryInfo::location(QLibraryInfo::BinariesPath);
-
- QString qmlruntime;
-
-#if defined(Q_WS_MAC)
- qmlruntime = QDir(binaries).absoluteFilePath("QMLViewer.app/Contents/MacOS/QMLViewer");
-#elif defined(Q_WS_WIN) || defined(Q_WS_S60)
- qmlruntime = QDir(binaries).absoluteFilePath("qmlviewer.exe");
-#else
- qmlruntime = QDir(binaries).absoluteFilePath("qmlviewer");
-#endif
-
- return qmlruntime;
-}
-
-void tst_qmlvisual::visual_data()
-{
- QTest::addColumn<QString>("file");
- QTest::addColumn<QString>("testdata");
-
- QStringList files;
- files << findQmlFiles(QDir(QT_TEST_SOURCE_DIR));
- if (qgetenv("QMLVISUAL_ALL") != "1") {
-#if defined(Q_WS_MAC)
- //Text on Mac varies per version. Only check the text on 10.6
- if(QSysInfo::MacintoshVersion != QSysInfo::MV_10_6)
- foreach(const QString &str, files.filter(QRegExp(".*text.*")))
- files.removeAll(str);
-#endif
-#if defined(Q_WS_QWS)
- //We don't want QWS test results to mire down the CI system
- files.clear();
- //Needs at least one test data or it fails anyways
- files << QT_TEST_SOURCE_DIR "/selftest_noimages/selftest_noimages.qml";
-#endif
- }
-
- foreach (const QString &file, files) {
- QString testdata = toTestScript(file);
- if (testdata.isEmpty())
- continue;
-
- QTest::newRow(file.toLatin1().constData()) << file << testdata;
- }
-}
-
-void tst_qmlvisual::visual()
-{
- QFETCH(QString, file);
- QFETCH(QString, testdata);
-
- QStringList arguments;
-#ifdef Q_WS_MAC
- arguments << "-no-opengl";
-#endif
- arguments << "-script" << testdata
- << "-scriptopts" << "play,testimages,testerror,testskip,exitoncomplete,exitonfailure"
- << file;
-#ifdef Q_WS_QWS
- arguments << "-qws";
-#endif
-
- QProcess p;
- p.start(qmlruntime, arguments);
- bool finished = p.waitForFinished();
- QByteArray output = p.readAllStandardOutput() + p.readAllStandardError();
- QVERIFY2(finished, output.data());
- if (p.exitCode() != 0)
- qDebug() << output;
- QCOMPARE(p.exitStatus(), QProcess::NormalExit);
- QCOMPARE(p.exitCode(), 0);
-}
-
-QString tst_qmlvisual::toTestScript(const QString &file, Mode mode)
-{
- if (!file.endsWith(".qml"))
- return QString();
-
- int index = file.lastIndexOf(QDir::separator());
- if (index == -1)
- index = file.lastIndexOf('/');
- if (index == -1)
- return QString();
-
- const char* platformsuffix=0; // platforms with different fonts
-#if defined(Q_WS_MACX)
- platformsuffix = "-MAC";
-#elif defined(Q_WS_X11)
- platformsuffix = "-X11";
-#elif defined(Q_WS_WIN32)
- platformsuffix = "-WIN";
-#elif defined(Q_WS_QWS)
- platformsuffix = "-QWS";
-#elif defined(Q_WS_S60)
- platformsuffix = "-S60";
-#endif
-
- QString testdata = file.left(index + 1) +
- QString("data");
- QString testname = file.mid(index + 1, file.length() - index - 5);
-
- if (platformsuffix && (mode == UpdatePlatformVisuals || QFile::exists(testdata+QLatin1String(platformsuffix)+QDir::separator()+testname+".qml"))) {
- QString platformdir = testdata + QLatin1String(platformsuffix);
- if (mode == UpdatePlatformVisuals) {
- Q_ASSERT(QDir().mkpath(platformdir));
- // Copy from base
- QDir dir(testdata,testname+".*");
- dir.setFilter(QDir::Files);
- QFileInfoList list = dir.entryInfoList();
- for (int i = 0; i < list.size(); ++i) {
- QFile in(list.at(i).filePath());
- Q_ASSERT(in.open(QIODevice::ReadOnly));
- QFile out(platformdir + QDir::separator() + list.at(i).fileName());
- Q_ASSERT(out.open(QIODevice::WriteOnly));
- out.write(in.readAll());
- }
- }
- testdata = platformdir;
- }
-
- testdata += QDir::separator() + testname;
-
- return testdata;
-}
-
-QStringList tst_qmlvisual::findQmlFiles(const QDir &d)
-{
- QStringList rv;
-
- QStringList files = d.entryList(QStringList() << QLatin1String("*.qml"),
- QDir::Files);
- foreach (const QString &file, files) {
- if (file.at(0).isLower()) {
- rv << d.absoluteFilePath(file);
- }
- }
-
- QStringList dirs = d.entryList(QDir::Dirs | QDir::NoDotAndDotDot |
- QDir::NoSymLinks);
- foreach (const QString &dir, dirs) {
- if (dir.left(4) == "data")
- continue;
-
- QDir sub = d;
- sub.cd(dir);
- rv << findQmlFiles(sub);
- }
-
- return rv;
-}
-
-void action(Mode mode, const QString &file)
-{
- Q_ASSERT(mode != Test);
-
- QString testdata = tst_qmlvisual::toTestScript(file,mode);
-
- QStringList arguments;
-#ifdef Q_WS_MAC
- arguments << "-no-opengl";
-#endif
- switch (mode) {
- case Test:
- // Don't run qml
- break;
- case Record:
- arguments << "-script" << testdata
- << "-scriptopts" << "record,testimages,saveonexit"
- << file;
- break;
- case RecordNoVisuals:
- arguments << "-script" << testdata
- << "-scriptopts" << "record,saveonexit"
- << file;
- break;
- case RecordSnapshot:
- arguments << "-script" << testdata
- << "-scriptopts" << "record,testimages,snapshot,saveonexit"
- << file;
- break;
- case Play:
- arguments << "-script" << testdata
- << "-scriptopts" << "play,testimages,testerror,testskip,exitoncomplete"
- << file;
- break;
- case TestVisuals:
- arguments << "-script" << testdata
- << "-scriptopts" << "play"
- << file;
- break;
- case UpdateVisuals:
- case UpdatePlatformVisuals:
- arguments << "-script" << testdata
- << "-scriptopts" << "play,record,testimages,exitoncomplete,saveonexit"
- << file;
- break;
- case RemoveVisuals:
- arguments << "-script" << testdata
- << "-scriptopts" << "play,record,exitoncomplete,saveonexit"
- << file;
- break;
- }
- if (!arguments.isEmpty()) {
- QProcess p;
- p.setProcessChannelMode(QProcess::ForwardedChannels);
- p.start(tst_qmlvisual::viewer(), arguments);
- p.waitForFinished();
- }
-}
-
-void usage()
-{
- fprintf(stderr, "\n");
- fprintf(stderr, "QML related options\n");
- fprintf(stderr, " -listtests : list all the tests seen by tst_qmlvisual, and then exit immediately\n");
- fprintf(stderr, " -record file : record new test data for file\n");
- fprintf(stderr, " -recordnovisuals file : record new test data for file, but ignore visuals\n");
- fprintf(stderr, " -recordsnapshot file : record new snapshot for file (like record but only records a single frame and then exits)\n");
- fprintf(stderr, " -play file : playback test data for file, printing errors\n");
- fprintf(stderr, " -testvisuals file : playback test data for file, without errors\n");
- fprintf(stderr, " -updatevisuals file : playback test data for file, accept new visuals for file\n");
- fprintf(stderr, " -updateplatformvisuals file : playback test data for file, accept new visuals for file only on current platform (MacOSX/Win32/X11/QWS/S60)\n");
- fprintf(stderr, "\n"
- "Visual tests are recordings of manual interactions with a QML test,\n"
- "that can then be run automatically. To record a new test, run:\n"
- "\n"
- " tst_qmlvisual -record yourtestdir/yourtest.qml\n"
- "\n"
- "This records everything you do (try to keep it short).\n"
- "To play back a test, run:\n"
- "\n"
- " tst_qmlvisual -play yourtestdir/yourtest.qml\n"
- "\n"
- "Your test may include QML code to test itself, reporting any error to an\n"
- "'error' property on the root object - the test will fail if this property\n"
- "gets set to anything non-empty.\n"
- "\n"
- "If your test changes slightly but is still correct (check with -play), you\n"
- "can update the visuals by running:\n"
- "\n"
- " tst_qmlvisual -updatevisuals yourtestdir/yourtest.qml\n"
- "\n"
- "If your test includes platform-sensitive visuals (eg. text in system fonts),\n"
- "you should create platform-specific visuals, using -updateplatformvisuals\n"
- "instead.\n"
- "\n"
- "If you ONLY wish to use the 'error' property, you can record your test with\n"
- "-recordnovisuals, or discard existing visuals with -removevisuals; the test\n"
- "will then only fail on a syntax error, crash, or non-empty 'error' property.\n"
- "\n"
- "If your test has anything set to the 'skip' property on the root object then\n"
- "test failures will be ignored. This allows for an opt-out of automated\n"
- "aggregation of test results. The value of the 'skip' property (usually a\n"
- "string) will then be printed to stdout when the test is run as part of the\n"
- "message saying the test has been skipped.\n"
- );
-}
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
-
- Mode mode = Test;
- QString file;
- bool showHelp = false;
-
- int newArgc = 1;
- char **newArgv = new char*[argc];
- newArgv[0] = argv[0];
-
- for (int ii = 1; ii < argc; ++ii) {
- QString arg(argv[ii]);
- if (arg == "-play" && (ii + 1) < argc) {
- mode = Play;
- file = argv[++ii];
- } else if (arg == "-record" && (ii + 1) < argc) {
- mode = Record;
- file = argv[++ii];
- } else if (arg == "-recordnovisuals" && (ii + 1) < argc) {
- mode = RecordNoVisuals;
- file = argv[++ii];
- } else if (arg == "-recordsnapshot" && (ii + 1) < argc) {
- mode = RecordSnapshot;
- file = argv[++ii];
- } else if (arg == "-testvisuals" && (ii + 1) < argc) {
- mode = TestVisuals;
- file = argv[++ii];
- } else if (arg == "-removevisuals" && (ii + 1) < argc) {
- mode = RemoveVisuals;
- file = argv[++ii];
- } else if (arg == "-updatevisuals" && (ii + 1) < argc) {
- mode = UpdateVisuals;
- file = argv[++ii];
- } else if (arg == "-updateplatformvisuals" && (ii + 1) < argc) {
- mode = UpdatePlatformVisuals;
- file = argv[++ii];
- } else {
- newArgv[newArgc++] = argv[ii];
- }
-
- if (arg == "-help" || arg == "-?" || arg == "--help") {
- atexit(usage);
- showHelp = true;
- }
-
- if (arg == "-listtests") {
- QStringList list = tst_qmlvisual::findQmlFiles(QDir(QT_TEST_SOURCE_DIR));
- foreach (QString test, list) {
- qWarning() << qPrintable(test);
- }
- return 0;
- }
- }
-
- if (mode == Test || showHelp) {
- tst_qmlvisual tc;
- return QTest::qExec(&tc, newArgc, newArgv);
- } else {
- if (!file.endsWith(QLatin1String(".qml"))) {
- qWarning() << "Error: Invalid file name (must end in .qml)";
- return -1;
- }
- QDir d = QDir::current();
- QString absFile = d.absoluteFilePath(file);
- if (!QFile::exists(absFile)) {
- qWarning() << "Error: File does not exist";
- return -1;
- }
-
- action(mode, absFile);
- return 0;
- }
-}
-
-#include "tst_qmlvisual.moc"
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/autosize.qml b/tests/auto/declarative/qmlvisual/webview/autosize/autosize.qml
deleted file mode 100644
index 1cd0c7b50e..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/autosize.qml
+++ /dev/null
@@ -1,62 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-// The WebView size is determined by the width, height,
-// preferredWidth, and preferredHeight properties.
-Rectangle {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- id: rect
- color: "white"
- width: 200
- height: layout.height
- Column {
- id: layout
- spacing: 2
- WebView {
- html: "No width defined."
- Rectangle { color: "#10000000"
- anchors.fill: parent
- }
- }
- WebView {
- width: rect.width
- html: "The width is full."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- WebView {
- width: rect.width/2
- html: "The width is half."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- WebView {
- preferredWidth: rect.width/2
- html: "The preferredWidth is half."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- WebView {
- preferredWidth: rect.width/2
- html: "The_preferredWidth_is_half."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- WebView {
- width: rect.width/2
- html: "The_width_is_half."
- Rectangle {
- color: "#10000000"
- anchors.fill: parent
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.0.png b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.0.png
deleted file mode 100644
index ed87174dce..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.1.png b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.1.png
deleted file mode 100644
index ed87174dce..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.2.png b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.2.png
deleted file mode 100644
index ed87174dce..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.3.png b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.3.png
deleted file mode 100644
index ed87174dce..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.4.png b/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.4.png
deleted file mode 100644
index ed87174dce..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data-X11/autosize.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.0.png b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.0.png
deleted file mode 100644
index ed87174dce..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.1.png b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.1.png
deleted file mode 100644
index ed87174dce..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.2.png b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.2.png
deleted file mode 100644
index ed87174dce..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.3.png b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.3.png
deleted file mode 100644
index ed87174dce..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.4.png b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.4.png
deleted file mode 100644
index ed87174dce..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.qml b/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.qml
deleted file mode 100644
index 612213877f..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/autosize/data/autosize.qml
+++ /dev/null
@@ -1,115 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "b2d863e57dee2a297d038e18acc70f92"
- }
- Frame {
- msec: 32
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 48
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 64
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 80
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 96
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 112
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 128
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 144
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 160
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 176
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 192
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 208
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 224
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 240
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 256
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 272
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 288
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 304
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 320
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 336
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 352
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 368
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 384
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 400
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 416
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
- Frame {
- msec: 432
- hash: "903a4c7e619abba5342c8c827f26a722"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.0.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.0.png
deleted file mode 100644
index 513aab69ec..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.1.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.1.png
deleted file mode 100644
index 513aab69ec..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.10.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.10.png
deleted file mode 100644
index bb22d01d17..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.10.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.2.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.2.png
deleted file mode 100644
index 1357551f75..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.3.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.3.png
deleted file mode 100644
index 513aab69ec..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.4.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.4.png
deleted file mode 100644
index bb22d01d17..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.5.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.5.png
deleted file mode 100644
index bb22d01d17..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.6.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.6.png
deleted file mode 100644
index c61ae3fda0..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.7.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.7.png
deleted file mode 100644
index bb22d01d17..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.8.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.8.png
deleted file mode 100644
index bb22d01d17..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.9.png b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.9.png
deleted file mode 100644
index bb22d01d17..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.9.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.qml b/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.qml
deleted file mode 100644
index c248167fb0..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/data/flickweb.qml
+++ /dev/null
@@ -1,6083 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- image: "flickweb.0.png"
- }
- Frame {
- msec: 32
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 48
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 64
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 80
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 96
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 112
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 128
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 144
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 160
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 176
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 192
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 208
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 224
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 240
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 256
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 272
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 288
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 304
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 320
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 336
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 352
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 368
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 384
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 400
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 416
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 432
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 448
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 464
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 480
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 496
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 512
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 528
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 544
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 0; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 0; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 560
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 12; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 576
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 15; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 592
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 608
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 624
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 640
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 12; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 11; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 656
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 9; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 672
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 688
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 9; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 704
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 9; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 9; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 720
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 9; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 12; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 736
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 14; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 18; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 752
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 19; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 22; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 768
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 22; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 23; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 784
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 800
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 23; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 816
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 24; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 832
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 26; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 28; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 848
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 29; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 32; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 864
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 34; y: 57
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 36; y: 61
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 880
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 38; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 41; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 896
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 43; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 48; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 912
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 50; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 928
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 87
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 944
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 72; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 93
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 960
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 80; y: 97
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 99
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 976
- image: "flickweb.1.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 88; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 992
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 104
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1008
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 1024
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 1040
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1056
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1072
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 107
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1088
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 109
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1104
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 110
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1120
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1136
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1152
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 116
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1168
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1184
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 1200
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 92; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1216
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 116
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1232
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 91; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1248
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 107
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 104
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1264
- hash: "e891b00cd44578b4a8e635ffe4c6d3fd"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 101
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 89; y: 96
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1280
- hash: "61a543282ffb5e751ea1d97f0c95b208"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 89; y: 93
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 89; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1296
- hash: "102e4b664bade46ab3bbb611acee22c9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 89; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 87; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1312
- hash: "6bf42ac28a14db681442aeb7ed0c7610"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 85; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1328
- hash: "ef531060d6b75cec8a6e3c01b3f69cc0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1344
- hash: "e839af9d67f6214f0901977b3aa96d1a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1360
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1376
- hash: "e4a562aa35aa532d15c9b129e22797bb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1392
- hash: "029d347e9c99dd4a9cec5120ac7fc25e"
- }
- Frame {
- msec: 1408
- hash: "3c16a74e18a59630f35511ab5514c769"
- }
- Frame {
- msec: 1424
- hash: "5dc472d6c5198d5a628510bd45a61a11"
- }
- Frame {
- msec: 1440
- hash: "430d60127ed59dbc5904647424ead40d"
- }
- Frame {
- msec: 1456
- hash: "cb27cfcfbbb77b55c2a8bf7e51c0af07"
- }
- Frame {
- msec: 1472
- hash: "46f2eb33b0e8316c4123ddbee2f60ae2"
- }
- Frame {
- msec: 1488
- hash: "1df306111ca012c9f405018778c0a12b"
- }
- Frame {
- msec: 1504
- hash: "1eafab8fd457ad9acda068344178b4a8"
- }
- Frame {
- msec: 1520
- hash: "286656898100e53d6d7728b51ce93df5"
- }
- Frame {
- msec: 1536
- hash: "e2a88f0ba3030a430028147930989bbb"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1552
- hash: "fb23cf265c4d253470c2515043bc5dd8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1568
- hash: "1dba4f0e5e5948b7133725ea8bbef3e7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1584
- hash: "8578965c5ad012284e4e0a14a42da25e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1600
- hash: "3ef187decae08baa2ec92998c2cbb7f7"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1616
- hash: "4e0491128eac0bbfa7a131b1f18f243c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1632
- hash: "c2d0799526e908204efbd3aa980e086c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1648
- hash: "cc87e09a6784d61680f8c6ab0d6a38fa"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 16
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1664
- hash: "13dec7e835b4f26970f98b66533f84f1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 14
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1680
- hash: "e5d2862bee024b64326b7d85e5e45399"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1696
- hash: "0b1401ce4a91811ac9c3eec5f94b380d"
- }
- Frame {
- msec: 1712
- hash: "0de290542c9d3e03ed78f51423011c16"
- }
- Frame {
- msec: 1728
- hash: "4c9aa06ad1e246b4b026742fc8cf37bc"
- }
- Frame {
- msec: 1744
- hash: "c33003a8262c2ba25510ece181e61bc9"
- }
- Frame {
- msec: 1760
- hash: "c33003a8262c2ba25510ece181e61bc9"
- }
- Frame {
- msec: 1776
- hash: "ad184fa88c4299b8911c9b7ada5b3736"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 85; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 13
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1792
- hash: "ad184fa88c4299b8911c9b7ada5b3736"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1808
- hash: "c2d0799526e908204efbd3aa980e086c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1824
- hash: "b343a9ed7e9740ec1725837fad766745"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1840
- hash: "b33260ad955474452f204ed5d468ef78"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 86; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1856
- hash: "9a647c54e378bd0ee35ef4164892722c"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 87; y: 61
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 88; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 88; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1872
- hash: "dc553d1a7b678dffea41147fc6b841f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 74
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1888
- hash: "2d61b4fb1e5a8beb6e3c3cb53c21db42"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 82
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1904
- hash: "209faf0b20fd53d9a1c261c8cae9666f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 82
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 83
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1920
- hash: "3497258aa07c76f0e31b5a492ee7e7cb"
- }
- Frame {
- msec: 1936
- image: "flickweb.2.png"
- }
- Frame {
- msec: 1952
- hash: "64c677ac4fea0e525279e86bf831d5d3"
- }
- Frame {
- msec: 1968
- hash: "76c6c887fea94288e9fd975655e5181c"
- }
- Frame {
- msec: 1984
- hash: "71b85e596c88b84a851a52aa3389e63a"
- }
- Frame {
- msec: 2000
- hash: "e4a562aa35aa532d15c9b129e22797bb"
- }
- Frame {
- msec: 2016
- hash: "148484dd95c88720cc5ef196334cb9a8"
- }
- Frame {
- msec: 2032
- hash: "924c6254ffa1707b69174f49e4e95213"
- }
- Frame {
- msec: 2048
- hash: "9e61907acedb27941d8be2befa364cfb"
- }
- Frame {
- msec: 2064
- hash: "9e61907acedb27941d8be2befa364cfb"
- }
- Frame {
- msec: 2080
- hash: "f2c4e99db1bb087a40b277ce8ce628f6"
- }
- Frame {
- msec: 2096
- hash: "f2c4e99db1bb087a40b277ce8ce628f6"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 82
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2112
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 82
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2128
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 88; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2144
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 87; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2160
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2176
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2192
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 81; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2208
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 76; y: 61
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 75; y: 59
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2224
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 71; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2240
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2256
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 69; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2272
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 68; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 67; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2288
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2304
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 64; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 64; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2320
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2336
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2352
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2368
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 64; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2384
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2400
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 68; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2416
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 69; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 71; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2432
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2448
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2464
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2480
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2496
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 16
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2512
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 14
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2528
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Frame {
- msec: 2544
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Frame {
- msec: 2560
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 73; y: 14
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2576
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 73; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 72; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2592
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 72; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 72; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2608
- hash: "b2d6b68f1f7229e8e65bb37e4c418a1b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 72; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 71; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2624
- hash: "c4dd48fca556c2760c8f81db7fea6938"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2640
- hash: "9dbad8cb2692807d67f74e7ac4a4a70e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 70; y: 96
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 70; y: 96
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2656
- hash: "152648affe4045a81f0d6ff9150889f1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 99
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2672
- hash: "152648affe4045a81f0d6ff9150889f1"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 103
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2688
- hash: "152648affe4045a81f0d6ff9150889f1"
- }
- Frame {
- msec: 2704
- hash: "152648affe4045a81f0d6ff9150889f1"
- }
- Frame {
- msec: 2720
- hash: "152648affe4045a81f0d6ff9150889f1"
- }
- Frame {
- msec: 2736
- hash: "152648affe4045a81f0d6ff9150889f1"
- }
- Frame {
- msec: 2752
- hash: "152648affe4045a81f0d6ff9150889f1"
- }
- Frame {
- msec: 2768
- hash: "c9eee2b7529b07a17151e7140444c099"
- }
- Frame {
- msec: 2784
- hash: "c9eee2b7529b07a17151e7140444c099"
- }
- Frame {
- msec: 2800
- hash: "c9eee2b7529b07a17151e7140444c099"
- }
- Frame {
- msec: 2816
- hash: "c9eee2b7529b07a17151e7140444c099"
- }
- Frame {
- msec: 2832
- hash: "c9eee2b7529b07a17151e7140444c099"
- }
- Frame {
- msec: 2848
- hash: "c9eee2b7529b07a17151e7140444c099"
- }
- Frame {
- msec: 2864
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 2880
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 2896
- image: "flickweb.3.png"
- }
- Frame {
- msec: 2912
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 2928
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2944
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 101
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 98
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2960
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 69; y: 93
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 67; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2976
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 60; y: 83
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2992
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 56; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 55; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3008
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 52; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 49; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3024
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 49; y: 65
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 48; y: 61
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3040
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 48; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 46; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3056
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 45; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 42; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3072
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 39; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 38; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3088
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 37; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 36; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3104
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 35; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 35; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3120
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 33; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 33; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3136
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 32; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3152
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 32; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 31; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3168
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 31; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3184
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 30; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 30; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3200
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 28; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 28; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3216
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 26; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 26; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3232
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 25; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3248
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 25; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3264
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 3280
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 3296
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 3312
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 25; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3328
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 3344
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 3360
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Frame {
- msec: 3376
- hash: "d045839439e4091210c745f0ea173e52"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 25; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3392
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 25; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3408
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 26; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 26; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3424
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 27; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 27; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3440
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3456
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3472
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3488
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3504
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 27; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3520
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 28; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 29; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3536
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 31; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 37; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3552
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 40; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 50; y: 59
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3568
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 55; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3584
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 69; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 75; y: 83
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3600
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 78; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 80; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3616
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 89
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3632
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3648
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3664
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3680
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3696
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3712
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3728
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3744
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3760
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 89
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3776
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3792
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 87
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3808
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 83
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3824
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3840
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3856
- image: "flickweb.4.png"
- }
- Frame {
- msec: 3872
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3888
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3904
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3920
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3936
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3952
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3968
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 3984
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4000
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4016
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 84
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4032
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 87
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4048
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4064
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4080
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4096
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4112
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4128
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 89
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4144
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4160
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4176
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 93
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4192
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 97
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 100
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4208
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 101
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4224
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 107
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 110
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4240
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4256
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 115
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 116
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4272
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4288
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4304
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4320
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4336
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4352
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4368
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4384
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4400
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4416
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4432
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4448
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4464
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4480
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 116
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4496
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4512
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4528
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4544
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4560
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4576
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4592
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4608
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 116
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4624
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4640
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4656
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4672
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4688
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 118
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4704
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4720
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4736
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4752
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4768
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4784
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4800
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4816
- image: "flickweb.5.png"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 83; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4832
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 4848
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 84; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4864
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 118
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 85; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4880
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 86; y: 113
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 87; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4896
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 89; y: 107
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 90; y: 104
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4912
- hash: "f10fa114e248809ed280788d03a3e234"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 92; y: 99
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 93; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4928
- hash: "442357340d9690811d582f548f933d92"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 95; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 98; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 98; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4944
- hash: "188b8f78b2a2180a8e96a8a05bb20fe2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 69
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4960
- hash: "2b8ee42c5660f4f938cf10507690abbe"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 100; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 101; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4976
- hash: "3d4aab388f62e64c5f72c631fb8584aa"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 103; y: 59
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 104; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4992
- hash: "439364cea3330411f526093d58ece463"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 104; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 104; y: 53
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5008
- hash: "27653ec59651e6b3cb2ebf2bc81a975a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 104; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 104; y: 51
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5024
- hash: "d9c0fb2cbf968e0524291ae2570ca585"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5040
- hash: "ef75df694a972985f410e21182dbb12b"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5056
- hash: "adda6aa851c1587c1bb2605809348725"
- }
- Frame {
- msec: 5072
- hash: "196c12052069f0f8c775aa38d3291bef"
- }
- Frame {
- msec: 5088
- hash: "eaa025b6aee87edf95643cc46880d0db"
- }
- Frame {
- msec: 5104
- hash: "edeab897b82df47ae6deb858eca3087e"
- }
- Frame {
- msec: 5120
- hash: "46e3b5da149cfc40036a860e74e0cd78"
- }
- Frame {
- msec: 5136
- hash: "46e3b5da149cfc40036a860e74e0cd78"
- }
- Frame {
- msec: 5152
- hash: "0fe9b13b9b0752ab4ad74f4e43f94d86"
- }
- Frame {
- msec: 5168
- hash: "0fe9b13b9b0752ab4ad74f4e43f94d86"
- }
- Frame {
- msec: 5184
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5200
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5216
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5232
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5248
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5264
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5280
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5296
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5312
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5328
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5344
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 104; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5360
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 103; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 102; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5376
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 102; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5392
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 101; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5408
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 101; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 100; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5424
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5440
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5456
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5472
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5488
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5504
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 29
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5520
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5536
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5552
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 97; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 97; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5568
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5584
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5600
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5616
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5632
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 97; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5648
- hash: "695e9c7292475cad011ca76799452042"
- }
- Frame {
- msec: 5664
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5680
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5696
- hash: "695e9c7292475cad011ca76799452042"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5712
- hash: "27653ec59651e6b3cb2ebf2bc81a975a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 58
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5728
- hash: "f2a68c3a60002a796b0cd595ae89e477"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 71
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5744
- hash: "2628ffe66f06c997d9c9b66febc04ce8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 97; y: 75
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 98; y: 83
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5760
- hash: "9b68c76d622f7b883a13927a112179f0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 99; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 101; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 101; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5776
- image: "flickweb.6.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 103; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 104; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5792
- hash: "6d6d87355037ec4a15b2a81c8d48b74d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 107; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 107; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5808
- hash: "6d6d87355037ec4a15b2a81c8d48b74d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 107; y: 93
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5824
- hash: "6d6d87355037ec4a15b2a81c8d48b74d"
- }
- Frame {
- msec: 5840
- hash: "6d6d87355037ec4a15b2a81c8d48b74d"
- }
- Frame {
- msec: 5856
- hash: "34c3edc4500a268a326b5c2156c12f09"
- }
- Frame {
- msec: 5872
- hash: "34c3edc4500a268a326b5c2156c12f09"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 106; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5888
- hash: "34c3edc4500a268a326b5c2156c12f09"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 104; y: 91
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 103; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5904
- hash: "ac600900160ab37ec8a3e67eb82d0259"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 101; y: 89
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 100; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5920
- hash: "ac600900160ab37ec8a3e67eb82d0259"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5936
- hash: "dc3cef419e3b7d59f450d3307aeebefa"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 97; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 85
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5952
- hash: "dc3cef419e3b7d59f450d3307aeebefa"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 94; y: 84
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 93; y: 83
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5968
- hash: "9b68c76d622f7b883a13927a112179f0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 82
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5984
- hash: "9b68c76d622f7b883a13927a112179f0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 81; y: 79
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6000
- hash: "9b68c76d622f7b883a13927a112179f0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 79; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 76; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6016
- hash: "9b68c76d622f7b883a13927a112179f0"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 75; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 72; y: 73
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6032
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 68; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6048
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 65
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 61; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6064
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 58; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 59
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6080
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 54; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 53; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6096
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 51; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 48; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6112
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 48; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 46; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6128
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 45; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 43; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6144
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 43; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 41; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6160
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 40; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 38; y: 28
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6176
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 36; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 35; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6192
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 33; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 32; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6208
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 31; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 30; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6224
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 29; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 28; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6240
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 27; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 26; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6256
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 25; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6272
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 24; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6288
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6304
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6320
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6336
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6352
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 24; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6368
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6384
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6400
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6416
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 24; y: 17
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6432
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 24; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6448
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 25; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 25; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6464
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 26; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 27; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6480
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 28; y: 21
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6496
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6512
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6528
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 29; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6544
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 30; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 31; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6560
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 32; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 33; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6576
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 34; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 34; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6592
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 37; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 38; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6608
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 41; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 42; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6624
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 45; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 50; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6640
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 52; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 53
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6656
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 60; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 58
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6672
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 59
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 71; y: 61
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6688
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 75; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 77; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6704
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 80; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 81; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6720
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6736
- image: "flickweb.7.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6752
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 87; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 88; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6768
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 93; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6784
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 94; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6800
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 102; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 106; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6816
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 110; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 116; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6832
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 122; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 124; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6848
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 125; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6864
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6880
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6896
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6912
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6928
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6944
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6960
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6976
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 6992
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7008
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7024
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7040
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7056
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7072
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7088
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 126; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7104
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 127; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 129; y: 64
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7120
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 132; y: 65
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 134; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7136
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 139; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 144; y: 69
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7152
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 148; y: 69
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 154; y: 69
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7168
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 158; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 162; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7184
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 164; y: 65
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 165; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7200
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 165; y: 60
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 165; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7216
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 162; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 159; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7232
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 151; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 146; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7248
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 129; y: 3
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7264
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7280
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7296
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7312
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7328
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7344
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7360
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7376
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7392
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7408
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7424
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7440
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7456
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7472
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7488
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7504
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7520
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7536
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7552
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7568
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7584
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7600
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7616
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7632
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7648
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7664
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7680
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7696
- image: "flickweb.8.png"
- }
- Frame {
- msec: 7712
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7728
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7744
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7760
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7776
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7792
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7808
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7824
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7840
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7856
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7872
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7888
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7904
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7920
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7936
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7952
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7968
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 7984
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8000
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8016
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8032
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8048
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8064
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8080
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8096
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8112
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8128
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8144
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8160
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8176
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8192
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8208
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8224
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8240
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8256
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8272
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8288
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8304
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8320
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8336
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8352
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8368
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8384
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8400
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8416
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8432
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8448
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8464
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8480
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8496
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8512
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8528
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8544
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8560
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8576
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8592
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8608
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8624
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8640
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8656
- image: "flickweb.9.png"
- }
- Frame {
- msec: 8672
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8688
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8704
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8720
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8736
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8752
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8768
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8784
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8800
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8816
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8832
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8848
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8864
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8880
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8896
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8912
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8928
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8944
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8960
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8976
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 8992
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9008
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9024
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9040
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9056
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9072
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9088
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9104
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9120
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9136
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9152
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9168
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9184
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9200
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9216
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9232
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9248
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9264
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9280
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9296
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9312
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9328
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9344
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9360
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9376
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9392
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9408
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9424
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9440
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9456
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9472
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9488
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9504
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9520
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9536
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9552
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9568
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9584
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9600
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9616
- image: "flickweb.10.png"
- }
- Frame {
- msec: 9632
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9648
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9664
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9680
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9696
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
- Frame {
- msec: 9712
- hash: "98990f624351f88347b2eb010bb5cd13"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/flickweb.qml b/tests/auto/declarative/qmlvisual/webview/flickable/flickweb.qml
deleted file mode 100644
index af09389f45..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/flickweb.qml
+++ /dev/null
@@ -1,35 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Flickable {
- id: flickable
- width: 320
- height: 200
- contentWidth: Math.max(flickable.width,webView.width)
- contentHeight: Math.max(flickable.height,webView.height)
- pressDelay: 100
-
- WebView {
- id: webView
- transformOrigin: Item.TopLeft
- smooth: false // We don't want smooth scaling, since we only scale during (fast) transitions
- url: "test.html"
- preferredWidth: flickable.width
- preferredHeight: flickable.height
- contentsScale: 1
- onContentsSizeChanged: {
- // zoom out
- contentsScale = Math.min(1,flickable.width / contentsSize.width)
- }
- }
-
- Rectangle {
- id: button
- width: 50; height: 50; color: "red"
- MouseArea {
- anchors.fill: parent
- onPressed: button.color = "blue"
- onReleased: button.color = "green"
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/qtlogo.png b/tests/auto/declarative/qmlvisual/webview/flickable/qtlogo.png
deleted file mode 100644
index 399bd0b1d9..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/qtlogo.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/flickable/test.html b/tests/auto/declarative/qmlvisual/webview/flickable/test.html
deleted file mode 100644
index 35eb7184e8..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/flickable/test.html
+++ /dev/null
@@ -1,3 +0,0 @@
-<html>
- <img width="400" height="400" src="qtlogo.png">
-</html>
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.0.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.0.png
deleted file mode 100644
index 139aa9d8cd..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.1.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.1.png
deleted file mode 100644
index e2e164423d..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.2.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.2.png
deleted file mode 100644
index aa2fb828cb..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.3.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.3.png
deleted file mode 100644
index 197643091b..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.4.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.4.png
deleted file mode 100644
index c895a0a35a..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.5.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.5.png
deleted file mode 100644
index c895a0a35a..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.5.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.6.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.6.png
deleted file mode 100644
index c895a0a35a..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.6.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.7.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.7.png
deleted file mode 100644
index c895a0a35a..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.7.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.8.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.8.png
deleted file mode 100644
index c895a0a35a..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.8.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.qml b/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.qml
deleted file mode 100644
index bfe40da256..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/evaluateJavaScript.qml
+++ /dev/null
@@ -1,3759 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 32
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 48
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 64
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 80
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 96
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 112
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 128
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 144
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 160
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 176
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 192
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 208
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 224
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 240
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 256
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 272
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 288
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 304
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 320
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 336
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 352
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 368
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 384
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 400
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 416
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 195; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 187; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 432
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 153; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 448
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 145; y: 87
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 139; y: 99
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 464
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 135; y: 111
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 129; y: 121
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 480
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 125; y: 131
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 121; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 117; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 496
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 111; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 512
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 107; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 101; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 528
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 97; y: 177
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 95; y: 185
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 544
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 189
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 195
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 560
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 199
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 576
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 81; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 592
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 80; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 608
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 79; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 78; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 624
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 77; y: 207
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 76; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 75; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 640
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 71; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 656
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 218
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 220
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 672
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 69; y: 222
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 68; y: 224
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 688
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 67; y: 225
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 704
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 720
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 736
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 752
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 768
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 784
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 67; y: 225
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 800
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 224
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 816
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 222
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 832
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 221
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 61; y: 217
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 848
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 60; y: 215
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 864
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 59; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 880
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 55; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 896
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 912
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 928
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 944
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 960
- image: "evaluateJavaScript.0.png"
- }
- Frame {
- msec: 976
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 992
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1008
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 55; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1024
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1040
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1056
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1072
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1088
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 55; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1104
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1120
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1136
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1152
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1168
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1184
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1200
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1216
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1232
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1248
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1264
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1280
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1296
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 212
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1312
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 67; y: 209
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1328
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 69; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 71; y: 207
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1344
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 207
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 75; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1360
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1376
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1392
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1408
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1424
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1440
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1456
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1472
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1488
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1504
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1520
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1536
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1552
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1568
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1584
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1600
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1616
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1632
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1648
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1664
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1680
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Frame {
- msec: 1696
- hash: "f35c69aed43a795ff02b46d7b01ef64a"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1712
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1728
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1744
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1760
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1776
- hash: "244200622435603a75f58366496daf8b"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1792
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1808
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1824
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1840
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1856
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1872
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1888
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1904
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1920
- image: "evaluateJavaScript.1.png"
- }
- Frame {
- msec: 1936
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1952
- hash: "244200622435603a75f58366496daf8b"
- }
- Frame {
- msec: 1968
- hash: "244200622435603a75f58366496daf8b"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 1984
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2000
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2016
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2032
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2048
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2064
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2080
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2096
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2112
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2128
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2144
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2160
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2176
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Frame {
- msec: 2192
- hash: "44dc10a2914a391b57e68c2002a95adf"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2208
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2224
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2240
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2256
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2272
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2288
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2304
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2320
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2336
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2352
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2368
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2384
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2400
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Frame {
- msec: 2416
- hash: "c93921d0611e95373338c14cfcc17481"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2432
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2448
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2464
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2480
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 2496
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2512
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2528
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2544
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2560
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2576
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2592
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2608
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2624
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2640
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2656
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2672
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2688
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2704
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2720
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2736
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2752
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2768
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2784
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2800
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2816
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2832
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2848
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2864
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2880
- image: "evaluateJavaScript.2.png"
- }
- Frame {
- msec: 2896
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2912
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2928
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2944
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2960
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2976
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 2992
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3008
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3024
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3040
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3056
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3072
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3088
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3104
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3120
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3136
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3152
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3168
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3184
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3200
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3216
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3232
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3248
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3264
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3280
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3296
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3312
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3328
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 72; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3344
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 68; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3360
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3376
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 61; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 59; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3392
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 55; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3408
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 54; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 53; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3424
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3440
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3456
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3472
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3488
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3504
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Frame {
- msec: 3520
- hash: "9266775c7f2156977ff56fcd45246229"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 52; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 52; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3536
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3552
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3568
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3584
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3600
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3616
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3632
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3648
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 52; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3664
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3680
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3696
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3712
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3728
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3744
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3760
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3776
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3792
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3808
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3824
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3840
- image: "evaluateJavaScript.3.png"
- }
- Frame {
- msec: 3856
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3872
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3888
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3904
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3920
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3936
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3952
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3968
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Frame {
- msec: 3984
- hash: "b62d9027299daa6ab8304d812ed00f83"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4000
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4016
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4032
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4048
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4064
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4080
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4096
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4112
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4128
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4144
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4160
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4176
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4192
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4208
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4224
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4240
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4256
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4272
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4288
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4304
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4320
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4336
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4352
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4368
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4384
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4400
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4416
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4432
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4448
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4464
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4480
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4496
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4512
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4528
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4544
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4560
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4576
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4592
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4608
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4624
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4640
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4656
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4672
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4688
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4704
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4720
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4736
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4752
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4768
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Frame {
- msec: 4784
- hash: "6cea5b700e402072a9953c81b605ef22"
- }
- Key {
- type: 6
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4800
- image: "evaluateJavaScript.4.png"
- }
- Frame {
- msec: 4816
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 4832
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 4848
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 4864
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 4880
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 4896
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 4912
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 4928
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Key {
- type: 7
- key: 65
- modifiers: 0
- text: "61"
- autorep: false
- count: 1
- }
- Frame {
- msec: 4944
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 4960
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 4976
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 4992
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5008
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5024
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5040
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5056
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5072
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5088
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5104
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5120
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5136
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5152
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5168
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5184
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5200
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5216
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5232
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5248
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5264
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5280
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5296
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5312
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5328
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5344
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5360
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5376
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5392
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5408
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5424
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5440
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5456
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5472
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5488
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5504
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5520
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5536
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5552
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5568
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5584
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5600
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5616
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5632
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5648
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5664
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5680
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5696
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5712
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5728
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5744
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5760
- image: "evaluateJavaScript.5.png"
- }
- Frame {
- msec: 5776
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5792
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5808
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 5824
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 54; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5840
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 56; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5856
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 71; y: 202
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 79; y: 200
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5872
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 200
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 196
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5888
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 192
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 102; y: 188
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5904
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 108; y: 182
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 112; y: 176
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5920
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 116; y: 168
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 120; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5936
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 124; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 128; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5952
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 130; y: 124
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 134; y: 112
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5968
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 138; y: 100
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 142; y: 88
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 5984
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 144; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6000
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 150; y: 68
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 154; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 158; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6016
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 162; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6032
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 166; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 168; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 172; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6048
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 174; y: 26
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 176; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6064
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 177; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6080
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 178; y: 16
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 178; y: 14
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6096
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 178; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6112
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 178; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6128
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 178; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6144
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 179; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6160
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 180; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6176
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 181; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 181; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6192
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 182; y: 2
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 183; y: 1
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6208
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6224
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6240
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6256
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6272
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6288
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6304
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6320
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6336
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6352
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6368
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6384
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6400
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6416
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6432
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6448
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6464
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6480
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6496
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6512
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6528
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6544
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6560
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6576
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6592
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6608
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6624
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6640
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6656
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6672
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6688
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6704
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6720
- image: "evaluateJavaScript.6.png"
- }
- Frame {
- msec: 6736
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6752
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6768
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6784
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6800
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6816
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6832
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6848
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6864
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 176; y: 1
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 174; y: 15
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 172; y: 31
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6880
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 166; y: 47
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 162; y: 63
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6896
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 156; y: 81
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 150; y: 95
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6912
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 144; y: 107
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 138; y: 119
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6928
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 132; y: 127
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 126; y: 133
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6944
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 122; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 120; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6960
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 120; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 6976
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 6992
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7008
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7024
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7040
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7056
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7072
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 119; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7088
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7104
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7120
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 117; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7136
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 116; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 115; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7152
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 113; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 109; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7168
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 107; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 103; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7184
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 179
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 181
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7200
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 95; y: 189
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7216
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 95; y: 190
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7232
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7248
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7264
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7280
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 188
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7296
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 187
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 186
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7312
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 185
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 97; y: 184
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7328
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 97; y: 183
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 97; y: 182
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7344
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7360
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 178
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7376
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 177
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 176
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 174
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7392
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7408
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 100; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 100; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7424
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 100; y: 170
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7440
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 100; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7456
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 101; y: 167
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7472
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7488
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7504
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 101; y: 167
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7520
- hash: "04e2e16813a9cafc37077a675e279f5f"
- }
- Frame {
- msec: 7536
- hash: "04e2e16813a9cafc37077a675e279f5f"
- }
- Frame {
- msec: 7552
- hash: "04e2e16813a9cafc37077a675e279f5f"
- }
- Frame {
- msec: 7568
- hash: "04e2e16813a9cafc37077a675e279f5f"
- }
- Frame {
- msec: 7584
- hash: "04e2e16813a9cafc37077a675e279f5f"
- }
- Frame {
- msec: 7600
- hash: "04e2e16813a9cafc37077a675e279f5f"
- }
- Frame {
- msec: 7616
- hash: "04e2e16813a9cafc37077a675e279f5f"
- }
- Frame {
- msec: 7632
- hash: "04e2e16813a9cafc37077a675e279f5f"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 101; y: 166
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 101; y: 166
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7648
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7664
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7680
- image: "evaluateJavaScript.7.png"
- }
- Frame {
- msec: 7696
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7712
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7728
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7744
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7760
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7776
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7792
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7808
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7824
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 103; y: 166
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7840
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 7856
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 166
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7872
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 106; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 107; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7888
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 108; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 109; y: 163
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7904
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 111; y: 163
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 112; y: 162
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7920
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 116; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7936
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 118; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 122; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7952
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 128; y: 147
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 134; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7968
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 140; y: 133
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 146; y: 125
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 150; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 7984
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 156; y: 109
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 160; y: 99
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8000
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 164; y: 89
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 166; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8016
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 170; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 172; y: 55
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8032
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 176; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8048
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 178; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 178; y: 27
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 180; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8064
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 180; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 182; y: 5
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 8080
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8096
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8112
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8128
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8144
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8160
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8176
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8192
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8208
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8224
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8240
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8256
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8272
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8288
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8304
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8320
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8336
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8352
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8368
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8384
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8400
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8416
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8432
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8448
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8464
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8480
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8496
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8512
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8528
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8544
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8560
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8576
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8592
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8608
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8624
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8640
- image: "evaluateJavaScript.8.png"
- }
- Frame {
- msec: 8656
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
- Frame {
- msec: 8672
- hash: "792140067e09d04b31e78be1fc9a40a2"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.0.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.0.png
deleted file mode 100644
index b5c35d2109..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.1.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.1.png
deleted file mode 100644
index b5c35d2109..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.2.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.2.png
deleted file mode 100644
index 28403c88df..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.3.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.3.png
deleted file mode 100644
index 241b9f8b50..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.4.png b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.4.png
deleted file mode 100644
index 1877cb2684..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.qml b/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.qml
deleted file mode 100644
index 07aa13d2d6..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/data/windowObjects.qml
+++ /dev/null
@@ -1,2643 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 32
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 48
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 64
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 80
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 96
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 112
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 128
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 144
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 160
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 176
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 192
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 208
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 224
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 240
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 256
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 272
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 288
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 304
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 320
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 336
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 352
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 368
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 384
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 400
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 416
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 432
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 448
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 464
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 480
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 496
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 512
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 528
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 544
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 560
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 576
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 592
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 608
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 624
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 640
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 656
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 672
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 688
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 704
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 720
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 736
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 752
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 768
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 784
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 800
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 816
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 832
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 848
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 864
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 880
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 896
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 912
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 928
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 944
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 960
- image: "windowObjects.0.png"
- }
- Frame {
- msec: 976
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 992
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1008
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1024
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1040
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 155; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 145; y: 23
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1056
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 137; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 127; y: 53
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1072
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 119; y: 67
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 111; y: 77
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1088
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 103; y: 87
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1104
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 97; y: 93
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 101
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 87; y: 109
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1120
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 117
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 81; y: 125
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1136
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 81; y: 133
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 79; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1152
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 79; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 79; y: 145
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1168
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 78; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 78; y: 147
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1184
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1200
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1216
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1232
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1248
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 143
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1264
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1280
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1296
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1312
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1328
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1344
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 87; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1360
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 88; y: 137
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1376
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 139
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1392
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 141
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1408
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1424
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 148
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 149
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1440
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 151
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 153
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1456
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 155
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1472
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1488
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1504
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1520
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1536
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1552
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1568
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1584
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1600
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1616
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1632
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1648
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1664
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1680
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1696
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1712
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1728
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1744
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1760
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1776
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1792
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1808
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1824
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1840
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1856
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1872
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1888
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1904
- hash: "b1a19797afefa71e30f4594064aa4951"
- }
- Frame {
- msec: 1920
- image: "windowObjects.1.png"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 89; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1936
- hash: "fca76207a4fa6f2c4bb01d28aa018f0c"
- }
- Frame {
- msec: 1952
- hash: "fca76207a4fa6f2c4bb01d28aa018f0c"
- }
- Frame {
- msec: 1968
- hash: "fca76207a4fa6f2c4bb01d28aa018f0c"
- }
- Frame {
- msec: 1984
- hash: "fca76207a4fa6f2c4bb01d28aa018f0c"
- }
- Frame {
- msec: 2000
- hash: "fca76207a4fa6f2c4bb01d28aa018f0c"
- }
- Frame {
- msec: 2016
- hash: "fca76207a4fa6f2c4bb01d28aa018f0c"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 89; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2032
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2048
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2064
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2080
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2096
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2112
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2128
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2144
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2160
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2176
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2192
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2208
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2224
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2240
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2256
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2272
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2288
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 157
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 88; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 87; y: 160
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2304
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 87; y: 161
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 167
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2320
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 80; y: 175
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2336
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 78; y: 183
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 189
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2352
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 72; y: 195
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 68; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2368
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 64; y: 207
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2384
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 61; y: 215
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 59; y: 221
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2400
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 58; y: 222
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 224
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2416
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2432
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2448
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2464
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2480
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2496
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2512
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2528
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2544
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2560
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2576
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2592
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2608
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2624
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2640
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2656
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2672
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2688
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2704
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2720
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2736
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 49; y: 225
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 50; y: 224
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2752
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 50; y: 223
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2768
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 51; y: 222
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2784
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 51; y: 221
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 52; y: 220
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2800
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 52; y: 218
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2816
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 53; y: 217
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2832
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2848
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2864
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 54; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2880
- image: "windowObjects.2.png"
- }
- Frame {
- msec: 2896
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 55; y: 215
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2912
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2928
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 56; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2944
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2960
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 2976
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 57; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2992
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3008
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3024
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3040
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3056
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3072
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3088
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3104
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 57; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3120
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3136
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3152
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3168
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3184
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3200
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3216
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Frame {
- msec: 3232
- hash: "6927f81ca01ef75d204994aa82c60c4d"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3248
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Frame {
- msec: 3264
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Frame {
- msec: 3280
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Frame {
- msec: 3296
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3312
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Frame {
- msec: 3328
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Frame {
- msec: 3344
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Frame {
- msec: 3360
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 212
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3376
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Frame {
- msec: 3392
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Frame {
- msec: 3408
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 57; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3424
- hash: "2165224e8f66a797ae5c991462fb56d8"
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3440
- hash: "c6ac7e0be8b7b2a80966344389def97a"
- }
- Frame {
- msec: 3456
- hash: "c6ac7e0be8b7b2a80966344389def97a"
- }
- Frame {
- msec: 3472
- hash: "c6ac7e0be8b7b2a80966344389def97a"
- }
- Frame {
- msec: 3488
- hash: "40f333072bb9f1d334d5ae432d9641b9"
- }
- Frame {
- msec: 3504
- hash: "40f333072bb9f1d334d5ae432d9641b9"
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3520
- hash: "40f333072bb9f1d334d5ae432d9641b9"
- }
- Frame {
- msec: 3536
- hash: "40f333072bb9f1d334d5ae432d9641b9"
- }
- Frame {
- msec: 3552
- hash: "40f333072bb9f1d334d5ae432d9641b9"
- }
- Frame {
- msec: 3568
- hash: "40f333072bb9f1d334d5ae432d9641b9"
- }
- Frame {
- msec: 3584
- hash: "40f333072bb9f1d334d5ae432d9641b9"
- }
- Frame {
- msec: 3600
- hash: "40f333072bb9f1d334d5ae432d9641b9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 58; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Key {
- type: 6
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3616
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 60; y: 209
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 61; y: 207
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3632
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3648
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 203
- modifiers: 0
- sendToViewport: true
- }
- Key {
- type: 7
- key: 83
- modifiers: 0
- text: "73"
- autorep: false
- count: 1
- }
- Frame {
- msec: 3664
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 202
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 64; y: 200
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3680
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Frame {
- msec: 3696
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 65; y: 198
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 197
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 67; y: 195
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3712
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 68; y: 194
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 69; y: 192
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3728
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 190
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 188
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3744
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 186
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 185
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3760
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 71; y: 183
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 71; y: 181
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3776
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 72; y: 179
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 178
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3792
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 176
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 73; y: 175
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3808
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 174
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 173
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3824
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3840
- image: "windowObjects.3.png"
- }
- Frame {
- msec: 3856
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Frame {
- msec: 3872
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Frame {
- msec: 3888
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Frame {
- msec: 3904
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Frame {
- msec: 3920
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 75; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 76; y: 171
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3936
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Frame {
- msec: 3952
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Frame {
- msec: 3968
- hash: "96f727ef0dacfda9ea77fb5651493030"
- }
- Frame {
- msec: 3984
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Frame {
- msec: 4000
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Frame {
- msec: 4016
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Frame {
- msec: 4032
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 76; y: 170
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4048
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 77; y: 169
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 78; y: 168
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4064
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 79; y: 168
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4080
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 81; y: 167
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 81; y: 166
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4096
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 165
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4112
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 83; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4128
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Frame {
- msec: 4144
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Frame {
- msec: 4160
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Frame {
- msec: 4176
- hash: "ed7b3d93d690df73be5cbee8c41a1931"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 83; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4192
- hash: "5b3505be865f704640e81cea092d35ba"
- }
- Frame {
- msec: 4208
- hash: "5b3505be865f704640e81cea092d35ba"
- }
- Frame {
- msec: 4224
- hash: "5b3505be865f704640e81cea092d35ba"
- }
- Frame {
- msec: 4240
- hash: "5b3505be865f704640e81cea092d35ba"
- }
- Frame {
- msec: 4256
- hash: "5b3505be865f704640e81cea092d35ba"
- }
- Frame {
- msec: 4272
- hash: "5b3505be865f704640e81cea092d35ba"
- }
- Frame {
- msec: 4288
- hash: "5b3505be865f704640e81cea092d35ba"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 83; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4304
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4320
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4336
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4352
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4368
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4384
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4400
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4416
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4432
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4448
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4464
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 158
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4480
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 154
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4496
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 87; y: 150
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 144
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4512
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 93; y: 138
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 99; y: 134
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4528
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 101; y: 128
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 122
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4544
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 109; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 113; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4560
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 114; y: 106
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 114; y: 105
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4576
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 115; y: 104
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 115; y: 102
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4592
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 115; y: 100
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 116; y: 98
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4608
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 120; y: 92
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 122; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4624
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 126; y: 76
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 130; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4640
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 132; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 134; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4656
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 136; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 138; y: 30
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4672
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 140; y: 22
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 141; y: 20
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4688
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 143; y: 14
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 144; y: 12
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4704
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 144; y: 11
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 144; y: 9
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4720
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 144; y: 7
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 144; y: 6
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4736
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 143; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 143; y: 2
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4752
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 143; y: 1
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 4768
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4784
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4800
- image: "windowObjects.4.png"
- }
- Frame {
- msec: 4816
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4832
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4848
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4864
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4880
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4896
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4912
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4928
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4944
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4960
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4976
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 4992
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5008
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5024
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5040
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5056
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5072
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5088
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5104
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5120
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5136
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5152
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5168
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5184
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5200
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5216
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5232
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5248
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5264
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5280
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5296
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5312
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5328
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5344
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5360
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5376
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5392
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5408
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5424
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5440
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5456
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5472
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5488
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5504
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5520
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5536
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5552
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5568
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
- Frame {
- msec: 5584
- hash: "cb5a42e7ab70e05a8bbecabb587f9e5e"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/evaluateJavaScript.qml b/tests/auto/declarative/qmlvisual/webview/javascript/evaluateJavaScript.qml
deleted file mode 100644
index 9ea2b64b24..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/evaluateJavaScript.qml
+++ /dev/null
@@ -1,33 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Column {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- WebView {
- id: webview
- width: 200
- height: 200
- url: "test-objects.html"
- javaScriptWindowObjects:
- QtObject {
- property string text: btntext.text
- WebView.windowObjectName: "qmltext"
- onTextChanged: {
- webview.evaluateJavaScript("{document.getElementById('button').value=window.qmltext.text}")
- }
- }
- }
- Row {
- Text { text: "Input:" }
- Rectangle {
- width: btntext.width+10
- height: btntext.height+10
- border.color: "black"
- TextInput {
- id: btntext
- text: "Blah"
- cursorDelegate: Rectangle { width: 1; color: "red" }
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/test-objects.html b/tests/auto/declarative/qmlvisual/webview/javascript/test-objects.html
deleted file mode 100644
index ed7d2ea4f3..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/test-objects.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<html>
-<head>
-</head>
-<body>
-<h1>Boring Document</h1>
-<p>
-This is a boring document.
-It gets the text on this button:
-<input id=button type=button value="click me"
- onClick="{document.getElementById('button').value=window.qmltext.text}">
-from QML.
-<p>
diff --git a/tests/auto/declarative/qmlvisual/webview/javascript/windowObjects.qml b/tests/auto/declarative/qmlvisual/webview/javascript/windowObjects.qml
deleted file mode 100644
index 0b78539cda..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/javascript/windowObjects.qml
+++ /dev/null
@@ -1,28 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Column {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- WebView {
- width: 200
- height: 200
- url: "test-objects.html"
- javaScriptWindowObjects:
- QtObject {
- property string text: btntext.text
- WebView.windowObjectName: "qmltext"
- }
- }
- Row {
- Text { text: "Input:" }
- Rectangle {
- width: btntext.width+10
- height: btntext.height+10
- border.color: "black"
- TextInput {
- id: btntext
- text: "Blah"
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.0.png b/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.0.png
deleted file mode 100644
index 7721e75533..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.qml b/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.qml
deleted file mode 100644
index 34d11166e5..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/data/fontFamily.qml
+++ /dev/null
@@ -1,395 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 32
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 48
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 64
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 80
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 96
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 112
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 128
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 144
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 160
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 176
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 192
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 208
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 224
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 240
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 256
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 272
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 288
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 304
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 320
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 336
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 352
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 368
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 384
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 400
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 416
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 432
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 448
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 464
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 480
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 496
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 512
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 528
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 544
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 560
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 576
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 592
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 608
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 624
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 640
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 656
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 672
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 688
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 196; y: 25
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 194; y: 19
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 190; y: 13
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 704
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 720
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 736
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 752
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 768
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 784
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 800
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 816
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 832
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 848
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 864
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 880
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 896
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 912
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 928
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 944
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 960
- image: "fontFamily.0.png"
- }
- Frame {
- msec: 976
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 992
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1008
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1024
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1040
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1056
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1072
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1088
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1104
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1120
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1136
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1152
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1168
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1184
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1200
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1216
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1232
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1248
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1264
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1280
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1296
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1312
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1328
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1344
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1360
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1376
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1392
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1408
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1424
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1440
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
- Frame {
- msec: 1456
- hash: "5d66fdee6a0a96bb24e89244f02eacc9"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.0.png b/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.0.png
deleted file mode 100644
index 95196a1b59..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.qml b/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.qml
deleted file mode 100644
index efe38755e8..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/data/fontSize.qml
+++ /dev/null
@@ -1,339 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 32
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 48
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 64
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 80
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 96
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 112
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 128
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 144
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 160
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 176
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 192
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 208
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 224
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 240
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 256
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 272
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 288
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 304
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 320
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 336
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 352
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 368
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 384
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 400
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 416
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 432
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 448
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 464
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 480
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 496
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 512
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 528
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 544
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 560
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 576
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 592
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 608
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 624
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 640
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 656
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 672
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 688
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 704
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 720
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 736
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 752
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 768
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 784
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 800
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 816
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 832
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 848
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 864
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 880
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 896
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 912
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 928
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 944
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 960
- image: "fontSize.0.png"
- }
- Frame {
- msec: 976
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 992
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1008
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1024
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1040
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1056
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1072
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1088
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1104
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1120
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1136
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1152
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1168
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1184
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1200
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1216
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1232
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1248
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1264
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1280
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1296
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1312
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
- Frame {
- msec: 1328
- hash: "962e77f522956d38f3b1b890df749f0a"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.0.png b/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.0.png
deleted file mode 100644
index 48920a23c5..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.1.png b/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.1.png
deleted file mode 100644
index 48920a23c5..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.qml b/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.qml
deleted file mode 100644
index 624a16bd20..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/data/noAutoLoadImages.qml
+++ /dev/null
@@ -1,595 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 32
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 48
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 64
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 80
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 96
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 112
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 128
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 144
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 160
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 176
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 192
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 208
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 224
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 240
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 256
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 272
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 288
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 304
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 320
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 336
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 352
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 368
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 384
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 400
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 416
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 432
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 448
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 464
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 480
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 496
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 512
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 528
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 544
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 560
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 576
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 592
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 608
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 624
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 640
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 656
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 672
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 688
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 704
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 720
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 736
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 752
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 768
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 784
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 800
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 816
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 832
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 848
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 864
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 880
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 896
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 912
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 928
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 944
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 960
- image: "noAutoLoadImages.0.png"
- }
- Frame {
- msec: 976
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 992
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1008
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1024
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1040
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1056
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1072
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1088
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1104
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1120
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1136
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1152
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1168
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1184
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1200
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1216
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1232
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1248
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1264
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1280
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1296
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1312
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1328
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1344
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1360
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1376
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1392
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1408
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1424
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1440
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1456
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1472
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1488
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1504
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1520
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1536
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1552
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1568
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1584
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1600
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1616
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1632
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1648
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1664
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1680
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1696
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1712
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1728
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1744
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1760
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1776
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1792
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1808
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1824
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1840
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1856
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1872
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1888
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1904
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1920
- image: "noAutoLoadImages.1.png"
- }
- Frame {
- msec: 1936
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1952
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1968
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 1984
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2000
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2016
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2032
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2048
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2064
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2080
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2096
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2112
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2128
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2144
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2160
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2176
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2192
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2208
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2224
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2240
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2256
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2272
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2288
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2304
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2320
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2336
- hash: "5146cfbeefc51268eca7717d84775750"
- }
- Frame {
- msec: 2352
- hash: "5146cfbeefc51268eca7717d84775750"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.0.png b/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.0.png
deleted file mode 100644
index f3c621af99..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.qml b/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.qml
deleted file mode 100644
index 414d64fbe8..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/data/setFontFamily.qml
+++ /dev/null
@@ -1,351 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 32
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 48
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 64
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 80
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 96
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 112
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 128
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 144
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 160
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 176
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 192
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 208
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 224
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 240
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 256
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 272
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 288
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 304
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 320
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 336
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 352
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 368
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 384
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 400
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 416
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 432
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 448
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 464
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 480
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 496
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 512
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 528
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 544
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 560
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 576
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 592
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 608
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 624
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 640
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 656
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 672
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 688
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 704
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 720
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 736
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 752
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 768
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 784
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 800
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 816
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 832
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 848
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 864
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 880
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 896
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 912
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 928
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 944
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 960
- image: "setFontFamily.0.png"
- }
- Frame {
- msec: 976
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 992
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1008
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1024
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1040
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1056
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1072
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1088
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1104
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1120
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1136
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1152
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1168
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1184
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1200
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1216
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1232
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1248
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1264
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1280
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1296
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1312
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1328
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1344
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1360
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
- Frame {
- msec: 1376
- hash: "7ef8bb83c146898bd75de8951a932b58"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/fontFamily.qml b/tests/auto/declarative/qmlvisual/webview/settings/fontFamily.qml
deleted file mode 100644
index 7c3270425e..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/fontFamily.qml
+++ /dev/null
@@ -1,18 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-WebView {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- id: web
- width: 200
- height: 200
- Column {
- anchors.fill: parent
- Text { text: "standard: " + web.settings.standardFontFamily }
- Text { text: "fixed: " + web.settings.fixedFontFamily }
- Text { text: "serif: " + web.settings.serifFontFamily }
- Text { text: "sansserif: " + web.settings.sansSerifFontFamily }
- Text { text: "cursive: " + web.settings.cursiveFontFamily }
- Text { text: "fantasy: " + web.settings.fantasyFontFamily }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/fontSize.qml b/tests/auto/declarative/qmlvisual/webview/settings/fontSize.qml
deleted file mode 100644
index 988ff6416b..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/fontSize.qml
+++ /dev/null
@@ -1,72 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Grid {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- columns: 3
- Rectangle {
- Text { color: "green"; text: "Normal" }
- border.color: "black"
- width: 200
- height: 200
- WebView {
- anchors.fill: parent
- url: "test.html"
- }
- }
- Rectangle {
- Text { color: "green"; text: "Big" }
- border.color: "black"
- width: 200
- height: 200
- WebView {
- anchors.fill: parent
- url: "test.html"
- settings.minimumFontSize: 20
- }
- }
- Rectangle {
- Text { color: "green"; text: "Big (logical)" }
- border.color: "black"
- width: 200
- height: 200
- WebView {
- anchors.fill: parent
- url: "test.html"
- settings.minimumLogicalFontSize: 20
- }
- }
- Rectangle {
- Text { color: "green"; text: "Bigger" }
- border.color: "black"
- width: 200
- height: 200
- WebView {
- anchors.fill: parent
- url: "test.html"
- settings.minimumFontSize: 30
- }
- }
- Rectangle {
- Text { color: "green"; text: "Small (except fixed)" }
- border.color: "black"
- width: 200
- height: 200
- WebView {
- anchors.fill: parent
- url: "test.html"
- settings.defaultFontSize: 8
- }
- }
- Rectangle {
- Text { color: "green"; text: "Small fixed" }
- border.color: "black"
- width: 200
- height: 200
- WebView {
- anchors.fill: parent
- url: "test.html"
- settings.defaultFixedFontSize: 8
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/noAutoLoadImages.qml b/tests/auto/declarative/qmlvisual/webview/settings/noAutoLoadImages.qml
deleted file mode 100644
index c465be8bca..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/noAutoLoadImages.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Grid {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- columns: 2
- Rectangle {
- Text { id: label; x:10; y:170; color: "green"; text: "No image" }
- border.color: "black"
- width: 200
- height: 200
- WebView {
- anchors.fill: parent
- settings.autoLoadImages: false
- url: "test-img.html"
- MouseArea {
- anchors.fill: parent
- onClicked: { parent.settings.autoLoadImages=true; label.text=""; parent.reload.trigger() }
- }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/qtlogo.png b/tests/auto/declarative/qmlvisual/webview/settings/qtlogo.png
deleted file mode 100644
index 399bd0b1d9..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/qtlogo.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/setFontFamily.qml b/tests/auto/declarative/qmlvisual/webview/settings/setFontFamily.qml
deleted file mode 100644
index 11de161f55..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/setFontFamily.qml
+++ /dev/null
@@ -1,12 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-WebView {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- url: "test.html"
- width: 300
- height: 300
- settings.standardFontFamily: font.name
- // WebKit doesn't seem to honour any other FontFamily settings
- FontLoader { id: font; source: "tarzeau_ocr_a.ttf" }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/tarzeau_ocr_a.ttf b/tests/auto/declarative/qmlvisual/webview/settings/tarzeau_ocr_a.ttf
deleted file mode 100644
index cf93f9651f..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/tarzeau_ocr_a.ttf
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/test-img.html b/tests/auto/declarative/qmlvisual/webview/settings/test-img.html
deleted file mode 100644
index cdd63ace5b..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/test-img.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>
-<body>
-<h1>Boring Document</h1>
-<p>
-This is a boring document.
-With a picture: <img src="qtlogo.png">
diff --git a/tests/auto/declarative/qmlvisual/webview/settings/test.html b/tests/auto/declarative/qmlvisual/webview/settings/test.html
deleted file mode 100644
index 3265e205fc..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/settings/test.html
+++ /dev/null
@@ -1,9 +0,0 @@
-<html>
-<body>
-<h1>Boring Document</h1>
-<p>
-This is a boring document.
-</p>
-<i>This is italic.</i>
-<b>This is bold.</b>
-<tt>This is fixed.</tt>
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/pageWidth.qml b/tests/auto/declarative/qmlvisual/webview/zooming/data/pageWidth.qml
deleted file mode 100644
index 2e60b7ff89..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/pageWidth.qml
+++ /dev/null
@@ -1,227 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 32
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 48
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 64
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 80
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 96
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 112
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 128
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 144
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 160
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 176
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 192
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 208
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 224
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 240
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 256
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 272
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 288
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 304
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 320
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 336
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 352
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 368
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 384
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 400
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 416
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 432
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 448
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 464
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 480
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 496
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 512
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 528
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 544
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 560
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 576
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 592
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 608
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 624
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 640
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 656
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 672
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 688
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 704
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 720
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 736
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 752
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 768
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 784
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 800
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 816
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 832
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 848
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 864
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
- Frame {
- msec: 880
- hash: "9a2554b1b322ea71115fa91d0100d2ff"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.0.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.0.png
deleted file mode 100644
index 38df70e1a5..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.qml b/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.qml
deleted file mode 100644
index 464e009094..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/renderControl.qml
+++ /dev/null
@@ -1,415 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "4f999826cd5ebe4f58bfd255e1c22be0"
- }
- Frame {
- msec: 32
- hash: "3aa9bd1bd75219f82578689ac6d81c7e"
- }
- Frame {
- msec: 48
- hash: "19d5f48f1c73d52483be96c887d3fd76"
- }
- Frame {
- msec: 64
- hash: "9b85eef4e0746cc43aaefd442efdd824"
- }
- Frame {
- msec: 80
- hash: "fca0034fb720e40198ede95a0ab0fadb"
- }
- Frame {
- msec: 96
- hash: "9f63ddbd927a4b08242f3410a9ed7283"
- }
- Frame {
- msec: 112
- hash: "4f5804c3c3ee195470a462293307cfd5"
- }
- Frame {
- msec: 128
- hash: "d0434f08a8097b97b76c1194317a38ba"
- }
- Frame {
- msec: 144
- hash: "921880d300e56f9605923a13fcd8b967"
- }
- Frame {
- msec: 160
- hash: "f5dc87abf36332c68fd4450a6236dcb4"
- }
- Frame {
- msec: 176
- hash: "c54f220cd5768afa1c12579007e17eff"
- }
- Frame {
- msec: 192
- hash: "e1c70c3896d5a937296f205b09991b31"
- }
- Frame {
- msec: 208
- hash: "d135f70f761add1358062a0386c62d18"
- }
- Frame {
- msec: 224
- hash: "53cb2ed2b65e77cf0cd70530f32854ad"
- }
- Frame {
- msec: 240
- hash: "2ff4feb61d958a800b38b282c3400293"
- }
- Frame {
- msec: 256
- hash: "59f5585ec472efa29c5eba8b972ab3bd"
- }
- Frame {
- msec: 272
- hash: "3aef5e1ff6da15e0e9f2e620dbabbab2"
- }
- Frame {
- msec: 288
- hash: "2931299f667752efe9fca727534385e1"
- }
- Frame {
- msec: 304
- hash: "2ed90e61c41b994ccea924191b66fc71"
- }
- Frame {
- msec: 320
- hash: "1424c634067c896973c2c10793957933"
- }
- Frame {
- msec: 336
- hash: "c4d30d511053a7caeefdae753236cf5b"
- }
- Frame {
- msec: 352
- hash: "32300e07e34e8f316770c790a5ef9f6d"
- }
- Frame {
- msec: 368
- hash: "95312dc2a4d88a48605fea170712354d"
- }
- Frame {
- msec: 384
- hash: "3d146357d1532640cefb64fbae75bc0d"
- }
- Frame {
- msec: 400
- hash: "5b78740511a456a3647d8392b2008f7f"
- }
- Frame {
- msec: 416
- hash: "dddb065cefa27a862d108429c9984191"
- }
- Frame {
- msec: 432
- hash: "0857067a0ee381e0f462ef8aceb0b696"
- }
- Frame {
- msec: 448
- hash: "1f5e7e064cc62ff2e0585c98875351df"
- }
- Frame {
- msec: 464
- hash: "c7f6bb852bdb2b99cbb5a8ca34f1585a"
- }
- Frame {
- msec: 480
- hash: "f2284dea5812f167cae08c687fc1a3e9"
- }
- Frame {
- msec: 496
- hash: "deec54bc32c46921e5032bce7daa1dad"
- }
- Frame {
- msec: 512
- hash: "1271d3704de17bfe463c76fd73c3132b"
- }
- Frame {
- msec: 528
- hash: "0568b0ecd47cd1c34b9de477e68e5751"
- }
- Frame {
- msec: 544
- hash: "f070dd88e42697a9e43573f9f41b3540"
- }
- Frame {
- msec: 560
- hash: "f5ced2827b06ea514f05866f1e4099f0"
- }
- Frame {
- msec: 576
- hash: "59f5585ec472efa29c5eba8b972ab3bd"
- }
- Frame {
- msec: 592
- hash: "2ff4feb61d958a800b38b282c3400293"
- }
- Frame {
- msec: 608
- hash: "53cb2ed2b65e77cf0cd70530f32854ad"
- }
- Frame {
- msec: 624
- hash: "d135f70f761add1358062a0386c62d18"
- }
- Frame {
- msec: 640
- hash: "e1c70c3896d5a937296f205b09991b31"
- }
- Frame {
- msec: 656
- hash: "c54f220cd5768afa1c12579007e17eff"
- }
- Frame {
- msec: 672
- hash: "f5dc87abf36332c68fd4450a6236dcb4"
- }
- Frame {
- msec: 688
- hash: "921880d300e56f9605923a13fcd8b967"
- }
- Frame {
- msec: 704
- hash: "d0434f08a8097b97b76c1194317a38ba"
- }
- Frame {
- msec: 720
- hash: "4f5804c3c3ee195470a462293307cfd5"
- }
- Frame {
- msec: 736
- hash: "9f63ddbd927a4b08242f3410a9ed7283"
- }
- Frame {
- msec: 752
- hash: "fca0034fb720e40198ede95a0ab0fadb"
- }
- Frame {
- msec: 768
- hash: "9b85eef4e0746cc43aaefd442efdd824"
- }
- Frame {
- msec: 784
- hash: "19d5f48f1c73d52483be96c887d3fd76"
- }
- Frame {
- msec: 800
- hash: "3aa9bd1bd75219f82578689ac6d81c7e"
- }
- Frame {
- msec: 816
- hash: "4f999826cd5ebe4f58bfd255e1c22be0"
- }
- Frame {
- msec: 832
- hash: "3aa9bd1bd75219f82578689ac6d81c7e"
- }
- Frame {
- msec: 848
- hash: "19d5f48f1c73d52483be96c887d3fd76"
- }
- Frame {
- msec: 864
- hash: "9b85eef4e0746cc43aaefd442efdd824"
- }
- Frame {
- msec: 880
- hash: "fca0034fb720e40198ede95a0ab0fadb"
- }
- Frame {
- msec: 896
- hash: "9f63ddbd927a4b08242f3410a9ed7283"
- }
- Frame {
- msec: 912
- hash: "4f5804c3c3ee195470a462293307cfd5"
- }
- Frame {
- msec: 928
- hash: "d0434f08a8097b97b76c1194317a38ba"
- }
- Frame {
- msec: 944
- hash: "921880d300e56f9605923a13fcd8b967"
- }
- Frame {
- msec: 960
- image: "renderControl.0.png"
- }
- Frame {
- msec: 976
- hash: "c54f220cd5768afa1c12579007e17eff"
- }
- Frame {
- msec: 992
- hash: "e1c70c3896d5a937296f205b09991b31"
- }
- Frame {
- msec: 1008
- hash: "d135f70f761add1358062a0386c62d18"
- }
- Frame {
- msec: 1024
- hash: "53cb2ed2b65e77cf0cd70530f32854ad"
- }
- Frame {
- msec: 1040
- hash: "2ff4feb61d958a800b38b282c3400293"
- }
- Frame {
- msec: 1056
- hash: "59f5585ec472efa29c5eba8b972ab3bd"
- }
- Frame {
- msec: 1072
- hash: "3aef5e1ff6da15e0e9f2e620dbabbab2"
- }
- Frame {
- msec: 1088
- hash: "2931299f667752efe9fca727534385e1"
- }
- Frame {
- msec: 1104
- hash: "2ed90e61c41b994ccea924191b66fc71"
- }
- Frame {
- msec: 1120
- hash: "1424c634067c896973c2c10793957933"
- }
- Frame {
- msec: 1136
- hash: "c4d30d511053a7caeefdae753236cf5b"
- }
- Frame {
- msec: 1152
- hash: "32300e07e34e8f316770c790a5ef9f6d"
- }
- Frame {
- msec: 1168
- hash: "95312dc2a4d88a48605fea170712354d"
- }
- Frame {
- msec: 1184
- hash: "3d146357d1532640cefb64fbae75bc0d"
- }
- Frame {
- msec: 1200
- hash: "5b78740511a456a3647d8392b2008f7f"
- }
- Frame {
- msec: 1216
- hash: "dddb065cefa27a862d108429c9984191"
- }
- Frame {
- msec: 1232
- hash: "0857067a0ee381e0f462ef8aceb0b696"
- }
- Frame {
- msec: 1248
- hash: "1f5e7e064cc62ff2e0585c98875351df"
- }
- Frame {
- msec: 1264
- hash: "c7f6bb852bdb2b99cbb5a8ca34f1585a"
- }
- Frame {
- msec: 1280
- hash: "f2284dea5812f167cae08c687fc1a3e9"
- }
- Frame {
- msec: 1296
- hash: "deec54bc32c46921e5032bce7daa1dad"
- }
- Frame {
- msec: 1312
- hash: "1271d3704de17bfe463c76fd73c3132b"
- }
- Frame {
- msec: 1328
- hash: "0568b0ecd47cd1c34b9de477e68e5751"
- }
- Frame {
- msec: 1344
- hash: "f070dd88e42697a9e43573f9f41b3540"
- }
- Frame {
- msec: 1360
- hash: "f5ced2827b06ea514f05866f1e4099f0"
- }
- Frame {
- msec: 1376
- hash: "59f5585ec472efa29c5eba8b972ab3bd"
- }
- Frame {
- msec: 1392
- hash: "2ff4feb61d958a800b38b282c3400293"
- }
- Frame {
- msec: 1408
- hash: "53cb2ed2b65e77cf0cd70530f32854ad"
- }
- Frame {
- msec: 1424
- hash: "d135f70f761add1358062a0386c62d18"
- }
- Frame {
- msec: 1440
- hash: "e1c70c3896d5a937296f205b09991b31"
- }
- Frame {
- msec: 1456
- hash: "c54f220cd5768afa1c12579007e17eff"
- }
- Frame {
- msec: 1472
- hash: "f5dc87abf36332c68fd4450a6236dcb4"
- }
- Frame {
- msec: 1488
- hash: "921880d300e56f9605923a13fcd8b967"
- }
- Frame {
- msec: 1504
- hash: "d0434f08a8097b97b76c1194317a38ba"
- }
- Frame {
- msec: 1520
- hash: "4f5804c3c3ee195470a462293307cfd5"
- }
- Frame {
- msec: 1536
- hash: "9f63ddbd927a4b08242f3410a9ed7283"
- }
- Frame {
- msec: 1552
- hash: "fca0034fb720e40198ede95a0ab0fadb"
- }
- Frame {
- msec: 1568
- hash: "9b85eef4e0746cc43aaefd442efdd824"
- }
- Frame {
- msec: 1584
- hash: "19d5f48f1c73d52483be96c887d3fd76"
- }
- Frame {
- msec: 1600
- hash: "3aa9bd1bd75219f82578689ac6d81c7e"
- }
- Frame {
- msec: 1616
- hash: "4f999826cd5ebe4f58bfd255e1c22be0"
- }
- Frame {
- msec: 1632
- hash: "3aa9bd1bd75219f82578689ac6d81c7e"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.0.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.0.png
deleted file mode 100644
index 7e989c62e7..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.1.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.1.png
deleted file mode 100644
index 60ccc0b5e2..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.2.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.2.png
deleted file mode 100644
index 6c22494b08..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.3.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.3.png
deleted file mode 100644
index 71dd56fee0..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.4.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.4.png
deleted file mode 100644
index ce03cb684f..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.4.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.qml b/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.qml
deleted file mode 100644
index edf80401fa..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/resolution.qml
+++ /dev/null
@@ -1,1319 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "ac1d9c1cc13813b5e94c692a209a4e36"
- }
- Frame {
- msec: 32
- hash: "1f189a436cf74ae83a03c3bb63c24ec2"
- }
- Frame {
- msec: 48
- hash: "369f761053d5910e00672aa866f698ba"
- }
- Frame {
- msec: 64
- hash: "30a191ae899121ae22d10acee6593415"
- }
- Frame {
- msec: 80
- hash: "7af041898748bb5950643b057ca59eea"
- }
- Frame {
- msec: 96
- hash: "e0a2ed91e78ff9a994deb9649a8afc16"
- }
- Frame {
- msec: 112
- hash: "649ad1a3fb57fb088e4e5cfd749bf2e5"
- }
- Frame {
- msec: 128
- hash: "9053a92e343ebb79bd2831f5ab94a1b5"
- }
- Frame {
- msec: 144
- hash: "dc78b09e27bbc0a2cfec83436eef4446"
- }
- Frame {
- msec: 160
- hash: "2aaa3749f93734dd203e1fea91a9f24a"
- }
- Frame {
- msec: 176
- hash: "8df8dd33eada434231332b81e03430ce"
- }
- Frame {
- msec: 192
- hash: "b5b1beb4dd4720eaa8b888fbef1ba875"
- }
- Frame {
- msec: 208
- hash: "e531d33ef14b58ad843a6be6d7cb0961"
- }
- Frame {
- msec: 224
- hash: "011c0bcca7717b08bc53738718203f7e"
- }
- Frame {
- msec: 240
- hash: "412a630348aa44d56f36f04982035e36"
- }
- Frame {
- msec: 256
- hash: "45528cdc62622b6d01e44466cd85bd38"
- }
- Frame {
- msec: 272
- hash: "0901c99f959d6c10a0b6ea46a282d8fd"
- }
- Frame {
- msec: 288
- hash: "3f200fca4815d555f22912d9fcdc20ee"
- }
- Frame {
- msec: 304
- hash: "5e3c58e2f3a57f4ea48f4315d37ed813"
- }
- Frame {
- msec: 320
- hash: "e8d98ec2d13ef4324feba11be95d0735"
- }
- Frame {
- msec: 336
- hash: "4f3b79b341b63499a20f1e1e2cd979f9"
- }
- Frame {
- msec: 352
- hash: "5ddbc3bc10292bec41531e83c0921c59"
- }
- Frame {
- msec: 368
- hash: "9bc9801e83267689cd2750226f2b08ce"
- }
- Frame {
- msec: 384
- hash: "f87195f2393914a0bbed9a454de01ff5"
- }
- Frame {
- msec: 400
- hash: "4e0fd7f45e53a8d44c416eb9235ec877"
- }
- Frame {
- msec: 416
- hash: "a579d6324fb4bf9ac5ceaba2aa708764"
- }
- Frame {
- msec: 432
- hash: "b9f3f08168fb55ba01e56e670db565de"
- }
- Frame {
- msec: 448
- hash: "cbd63ec868578e295a83170f42b23678"
- }
- Frame {
- msec: 464
- hash: "2ed9d0e09b61dee8b2703e580007d7a5"
- }
- Frame {
- msec: 480
- hash: "92fa2d9ef05140eb9d0fcf78b55f202e"
- }
- Frame {
- msec: 496
- hash: "9a3f9dc04a900020f0e488309d7b4757"
- }
- Frame {
- msec: 512
- hash: "93b4876c3e185ff4875a7447b0bf4f0f"
- }
- Frame {
- msec: 528
- hash: "41b40e36f77d04e62f72ad34aa50709a"
- }
- Frame {
- msec: 544
- hash: "2ea69aeb32fee61b61aa9c4efb2834bf"
- }
- Frame {
- msec: 560
- hash: "0971ac1e05ea2ba387c78d4d103f5ea1"
- }
- Frame {
- msec: 576
- hash: "98e46dff678f293fd6a4e9313ab3aec7"
- }
- Frame {
- msec: 592
- hash: "82b94393071d6c32dd8028e1ee69e7fb"
- }
- Frame {
- msec: 608
- hash: "240df67aa72a24546eb6e043e0d3d205"
- }
- Frame {
- msec: 624
- hash: "56c4113cc341c254ccab66f3bc313154"
- }
- Frame {
- msec: 640
- hash: "20d758c1537ed1a9aff657414b50926c"
- }
- Frame {
- msec: 656
- hash: "ae252d835a05e01c2a12ae820335049a"
- }
- Frame {
- msec: 672
- hash: "4d53256fbb012e738ba3868e2482250d"
- }
- Frame {
- msec: 688
- hash: "261a341cab38986fb2f53b8e430f04a3"
- }
- Frame {
- msec: 704
- hash: "1030f795d310f742ba491a2a90ff52d8"
- }
- Frame {
- msec: 720
- hash: "59d24ebfedd2a87bdbd755d06c4361d2"
- }
- Frame {
- msec: 736
- hash: "a6eaa480b3f93d33ae23bb36b7691b92"
- }
- Frame {
- msec: 752
- hash: "cb6cf1e6e89da3fcbad323f744aef18d"
- }
- Frame {
- msec: 768
- hash: "33a4f07cf7f5d16f006541c61ae2e4ee"
- }
- Frame {
- msec: 784
- hash: "6e857b106486ea0aaa5321d4a7a07eae"
- }
- Frame {
- msec: 800
- hash: "0f80edaf3eecf7a8c015d3fcecc0a494"
- }
- Frame {
- msec: 816
- hash: "24b45d00d70904694c30ebd422c739ce"
- }
- Frame {
- msec: 832
- hash: "c0ca66fefb19294852b9be0c4ba36481"
- }
- Frame {
- msec: 848
- hash: "047846d243e7613193a8ddd526c4268e"
- }
- Frame {
- msec: 864
- hash: "ca85f90e450ccda6b76e6a29a3187a63"
- }
- Frame {
- msec: 880
- hash: "fcd803f5640d054190c2ddc9a6406bb9"
- }
- Frame {
- msec: 896
- hash: "f81152b8a464bfa8343f52efcb0c8b8c"
- }
- Frame {
- msec: 912
- hash: "e86be73d83699584dca986dfdb030b36"
- }
- Frame {
- msec: 928
- hash: "d9798e4ebaf72c35b19a56b336d2ea93"
- }
- Frame {
- msec: 944
- hash: "460f13d8e05b529c0e4fba39b1449ff1"
- }
- Frame {
- msec: 960
- image: "resolution.0.png"
- }
- Frame {
- msec: 976
- hash: "8b2f13580c6de9ec231809330d2d0362"
- }
- Frame {
- msec: 992
- hash: "94a2cc520340573557e6a310f2ea125e"
- }
- Frame {
- msec: 1008
- hash: "a8df78ab2e800349ec887ea6b1f5dcb8"
- }
- Frame {
- msec: 1024
- hash: "0f3a56dbe26d453847ed4847c0e81d1a"
- }
- Frame {
- msec: 1040
- hash: "96c89325862a982235b4b75922ec4669"
- }
- Frame {
- msec: 1056
- hash: "ead6352a4ca47da59422e8d6a5844aa4"
- }
- Frame {
- msec: 1072
- hash: "b50a6b14f15882e2c1ae6e3babeecdf8"
- }
- Frame {
- msec: 1088
- hash: "2f32245c3388b86194e8183a290e99b8"
- }
- Frame {
- msec: 1104
- hash: "2b54d49d30ccbf11ccb5ba8d62ba7d83"
- }
- Frame {
- msec: 1120
- hash: "495b25d87cb6d1d4bdea4d5ec62c698e"
- }
- Frame {
- msec: 1136
- hash: "3d45b061939783b6359fa4cdb908ecc0"
- }
- Frame {
- msec: 1152
- hash: "e9e601c2a65a09b6354fff2c162106d6"
- }
- Frame {
- msec: 1168
- hash: "8cfba8a724e85403b573caf7bbac9d83"
- }
- Frame {
- msec: 1184
- hash: "5910765354645b724e14681cbdea227e"
- }
- Frame {
- msec: 1200
- hash: "4358af7f2ccfc0919614351bfd5a7405"
- }
- Frame {
- msec: 1216
- hash: "032e064336b458a6de03fdc98684cc34"
- }
- Frame {
- msec: 1232
- hash: "c81d87bf83ee7e834a4b15dd103f7082"
- }
- Frame {
- msec: 1248
- hash: "9d4416b55ed3b9e45a2314e9be5a5f2d"
- }
- Frame {
- msec: 1264
- hash: "5b96da1a52a0413f9e8edbc9291a2502"
- }
- Frame {
- msec: 1280
- hash: "aaa4008281ebc60b15616c818816e195"
- }
- Frame {
- msec: 1296
- hash: "81ebf882aeb89648300dfc2e8e2cf11b"
- }
- Frame {
- msec: 1312
- hash: "4e686e6cee12902f92e0ece915386fb3"
- }
- Frame {
- msec: 1328
- hash: "6ff8d9bd6ec4dce414cdc7330646156e"
- }
- Frame {
- msec: 1344
- hash: "dac6334e8b221527ef74b4f93eeef7c3"
- }
- Frame {
- msec: 1360
- hash: "e58dbf419d1831e001e802600803aaa5"
- }
- Frame {
- msec: 1376
- hash: "e8685f9b12c9ccb9d0e471946f1f6f9c"
- }
- Frame {
- msec: 1392
- hash: "0936715ff8d38c2c813ebef0683a3246"
- }
- Frame {
- msec: 1408
- hash: "37ad0a5532af8b083a7d4c4b044075ca"
- }
- Frame {
- msec: 1424
- hash: "52ae25414d353d994cba36918644949a"
- }
- Frame {
- msec: 1440
- hash: "07719485f9a7d0012eb0f3f211f0f21b"
- }
- Frame {
- msec: 1456
- hash: "2d1a4f2c8d4a8d6316a31a81a2d20c61"
- }
- Frame {
- msec: 1472
- hash: "3b279fb9e7b3efe05becc1651ba59493"
- }
- Frame {
- msec: 1488
- hash: "4b9c126dcdf499f9de4e09d4f6ab86bf"
- }
- Frame {
- msec: 1504
- hash: "6a1b8d8ea46949cb65e8f4155ab94819"
- }
- Frame {
- msec: 1520
- hash: "6dbd2106b91ffbbb8a845e6cddbd47d7"
- }
- Frame {
- msec: 1536
- hash: "8244eda92302f2b5cff01f05d438bf20"
- }
- Frame {
- msec: 1552
- hash: "f939bd80ae865e365e554a532ade38f5"
- }
- Frame {
- msec: 1568
- hash: "92d135616eee6737333b3d86d0aa5956"
- }
- Frame {
- msec: 1584
- hash: "ca75854d6e5a77c8e609d65971b5671a"
- }
- Frame {
- msec: 1600
- hash: "b0a113800cd05768b57bac6b9a338b1d"
- }
- Frame {
- msec: 1616
- hash: "7af1a2aa6a201e36c3a969be4330af04"
- }
- Frame {
- msec: 1632
- hash: "e54e8a2cfb0e6678b2a7cc64b8ae08bc"
- }
- Frame {
- msec: 1648
- hash: "5d212c7efd9cf7d3eb5219b0bbe766d7"
- }
- Frame {
- msec: 1664
- hash: "f4f2c95380c0f76c9e89820cdbeb5b31"
- }
- Frame {
- msec: 1680
- hash: "b8eefbf5ade1a6b9eef9608f66a46474"
- }
- Frame {
- msec: 1696
- hash: "d699ace9babbb152aad2fa852114c099"
- }
- Frame {
- msec: 1712
- hash: "ceb3dea0d2b93cc5882a2b38ab3d1b95"
- }
- Frame {
- msec: 1728
- hash: "08175810bfb80e1c5816b0d0aebbac4a"
- }
- Frame {
- msec: 1744
- hash: "86abce93f50e7e7ebbd90690cfb20dd2"
- }
- Frame {
- msec: 1760
- hash: "2918979f2682bd32beb5eaf7ecb3e463"
- }
- Frame {
- msec: 1776
- hash: "b165ab96b0d51d41578bf99cbf7f6d02"
- }
- Frame {
- msec: 1792
- hash: "d56cfdb2c65372cb36aeb13fd9c73deb"
- }
- Frame {
- msec: 1808
- hash: "c53f0e4dc8204e5892ed4f367a6bade3"
- }
- Frame {
- msec: 1824
- hash: "b3ae62e13149160f3695ed5c116411aa"
- }
- Frame {
- msec: 1840
- hash: "057e4a0428ea2ff9893becd40e6d2977"
- }
- Frame {
- msec: 1856
- hash: "10c050131093cc0d3f4b80c44eb1218b"
- }
- Frame {
- msec: 1872
- hash: "17ce5a6dace37f4eb316f37ea26a8a2c"
- }
- Frame {
- msec: 1888
- hash: "6e00c7e74bfaed5cf06aba54c8b73e57"
- }
- Frame {
- msec: 1904
- hash: "5a03b1b698ca28d2afd9c67aef3bc2e9"
- }
- Frame {
- msec: 1920
- image: "resolution.1.png"
- }
- Frame {
- msec: 1936
- hash: "0fab102a33521e8893afdb6a11a3c5c9"
- }
- Frame {
- msec: 1952
- hash: "232e8f1b060ef55e37a372bec4435d11"
- }
- Frame {
- msec: 1968
- hash: "2107724eac0d1b8735060876f80d303a"
- }
- Frame {
- msec: 1984
- hash: "cf5d12d2707975ad364750d5ba787944"
- }
- Frame {
- msec: 2000
- hash: "2457c88828c2cb39feb1d34556077139"
- }
- Frame {
- msec: 2016
- hash: "5f08d6dab8199b3f0f57d32cf2da4d67"
- }
- Frame {
- msec: 2032
- hash: "2457c88828c2cb39feb1d34556077139"
- }
- Frame {
- msec: 2048
- hash: "cf5d12d2707975ad364750d5ba787944"
- }
- Frame {
- msec: 2064
- hash: "2107724eac0d1b8735060876f80d303a"
- }
- Frame {
- msec: 2080
- hash: "232e8f1b060ef55e37a372bec4435d11"
- }
- Frame {
- msec: 2096
- hash: "0a93c515cd328978ebd8103539a2fd63"
- }
- Frame {
- msec: 2112
- hash: "63d6c7beac12e3bd83f9ef58c233c7d2"
- }
- Frame {
- msec: 2128
- hash: "5a03b1b698ca28d2afd9c67aef3bc2e9"
- }
- Frame {
- msec: 2144
- hash: "6e00c7e74bfaed5cf06aba54c8b73e57"
- }
- Frame {
- msec: 2160
- hash: "17ce5a6dace37f4eb316f37ea26a8a2c"
- }
- Frame {
- msec: 2176
- hash: "10c050131093cc0d3f4b80c44eb1218b"
- }
- Frame {
- msec: 2192
- hash: "057e4a0428ea2ff9893becd40e6d2977"
- }
- Frame {
- msec: 2208
- hash: "b3ae62e13149160f3695ed5c116411aa"
- }
- Frame {
- msec: 2224
- hash: "c53f0e4dc8204e5892ed4f367a6bade3"
- }
- Frame {
- msec: 2240
- hash: "d56cfdb2c65372cb36aeb13fd9c73deb"
- }
- Frame {
- msec: 2256
- hash: "b165ab96b0d51d41578bf99cbf7f6d02"
- }
- Frame {
- msec: 2272
- hash: "2918979f2682bd32beb5eaf7ecb3e463"
- }
- Frame {
- msec: 2288
- hash: "86abce93f50e7e7ebbd90690cfb20dd2"
- }
- Frame {
- msec: 2304
- hash: "08175810bfb80e1c5816b0d0aebbac4a"
- }
- Frame {
- msec: 2320
- hash: "ceb3dea0d2b93cc5882a2b38ab3d1b95"
- }
- Frame {
- msec: 2336
- hash: "d699ace9babbb152aad2fa852114c099"
- }
- Frame {
- msec: 2352
- hash: "b8eefbf5ade1a6b9eef9608f66a46474"
- }
- Frame {
- msec: 2368
- hash: "f4f2c95380c0f76c9e89820cdbeb5b31"
- }
- Frame {
- msec: 2384
- hash: "5d212c7efd9cf7d3eb5219b0bbe766d7"
- }
- Frame {
- msec: 2400
- hash: "e54e8a2cfb0e6678b2a7cc64b8ae08bc"
- }
- Frame {
- msec: 2416
- hash: "d9408487f747ffb8eff5e1da92207285"
- }
- Frame {
- msec: 2432
- hash: "e6b3fa1829535ac90d1548f45aadb9be"
- }
- Frame {
- msec: 2448
- hash: "ca75854d6e5a77c8e609d65971b5671a"
- }
- Frame {
- msec: 2464
- hash: "92d135616eee6737333b3d86d0aa5956"
- }
- Frame {
- msec: 2480
- hash: "f939bd80ae865e365e554a532ade38f5"
- }
- Frame {
- msec: 2496
- hash: "8244eda92302f2b5cff01f05d438bf20"
- }
- Frame {
- msec: 2512
- hash: "6dbd2106b91ffbbb8a845e6cddbd47d7"
- }
- Frame {
- msec: 2528
- hash: "6a1b8d8ea46949cb65e8f4155ab94819"
- }
- Frame {
- msec: 2544
- hash: "4b9c126dcdf499f9de4e09d4f6ab86bf"
- }
- Frame {
- msec: 2560
- hash: "3b279fb9e7b3efe05becc1651ba59493"
- }
- Frame {
- msec: 2576
- hash: "bb40b884b56defb61ad86757fd51b9e6"
- }
- Frame {
- msec: 2592
- hash: "07719485f9a7d0012eb0f3f211f0f21b"
- }
- Frame {
- msec: 2608
- hash: "52ae25414d353d994cba36918644949a"
- }
- Frame {
- msec: 2624
- hash: "37ad0a5532af8b083a7d4c4b044075ca"
- }
- Frame {
- msec: 2640
- hash: "0936715ff8d38c2c813ebef0683a3246"
- }
- Frame {
- msec: 2656
- hash: "e8685f9b12c9ccb9d0e471946f1f6f9c"
- }
- Frame {
- msec: 2672
- hash: "e58dbf419d1831e001e802600803aaa5"
- }
- Frame {
- msec: 2688
- hash: "dac6334e8b221527ef74b4f93eeef7c3"
- }
- Frame {
- msec: 2704
- hash: "6ff8d9bd6ec4dce414cdc7330646156e"
- }
- Frame {
- msec: 2720
- hash: "4e686e6cee12902f92e0ece915386fb3"
- }
- Frame {
- msec: 2736
- hash: "81ebf882aeb89648300dfc2e8e2cf11b"
- }
- Frame {
- msec: 2752
- hash: "aaa4008281ebc60b15616c818816e195"
- }
- Frame {
- msec: 2768
- hash: "5b96da1a52a0413f9e8edbc9291a2502"
- }
- Frame {
- msec: 2784
- hash: "9d4416b55ed3b9e45a2314e9be5a5f2d"
- }
- Frame {
- msec: 2800
- hash: "c81d87bf83ee7e834a4b15dd103f7082"
- }
- Frame {
- msec: 2816
- hash: "9fdf30d57c49a6644377ba40140b1969"
- }
- Frame {
- msec: 2832
- hash: "4358af7f2ccfc0919614351bfd5a7405"
- }
- Frame {
- msec: 2848
- hash: "5910765354645b724e14681cbdea227e"
- }
- Frame {
- msec: 2864
- hash: "8cfba8a724e85403b573caf7bbac9d83"
- }
- Frame {
- msec: 2880
- image: "resolution.2.png"
- }
- Frame {
- msec: 2896
- hash: "3d45b061939783b6359fa4cdb908ecc0"
- }
- Frame {
- msec: 2912
- hash: "495b25d87cb6d1d4bdea4d5ec62c698e"
- }
- Frame {
- msec: 2928
- hash: "2b54d49d30ccbf11ccb5ba8d62ba7d83"
- }
- Frame {
- msec: 2944
- hash: "2f32245c3388b86194e8183a290e99b8"
- }
- Frame {
- msec: 2960
- hash: "b50a6b14f15882e2c1ae6e3babeecdf8"
- }
- Frame {
- msec: 2976
- hash: "ead6352a4ca47da59422e8d6a5844aa4"
- }
- Frame {
- msec: 2992
- hash: "96c89325862a982235b4b75922ec4669"
- }
- Frame {
- msec: 3008
- hash: "0f3a56dbe26d453847ed4847c0e81d1a"
- }
- Frame {
- msec: 3024
- hash: "a8df78ab2e800349ec887ea6b1f5dcb8"
- }
- Frame {
- msec: 3040
- hash: "94a2cc520340573557e6a310f2ea125e"
- }
- Frame {
- msec: 3056
- hash: "8b2f13580c6de9ec231809330d2d0362"
- }
- Frame {
- msec: 3072
- hash: "5f76ef4f6b8e703fd0822859cd9a1353"
- }
- Frame {
- msec: 3088
- hash: "460f13d8e05b529c0e4fba39b1449ff1"
- }
- Frame {
- msec: 3104
- hash: "d9798e4ebaf72c35b19a56b336d2ea93"
- }
- Frame {
- msec: 3120
- hash: "e86be73d83699584dca986dfdb030b36"
- }
- Frame {
- msec: 3136
- hash: "f81152b8a464bfa8343f52efcb0c8b8c"
- }
- Frame {
- msec: 3152
- hash: "fcd803f5640d054190c2ddc9a6406bb9"
- }
- Frame {
- msec: 3168
- hash: "ca85f90e450ccda6b76e6a29a3187a63"
- }
- Frame {
- msec: 3184
- hash: "047846d243e7613193a8ddd526c4268e"
- }
- Frame {
- msec: 3200
- hash: "c0ca66fefb19294852b9be0c4ba36481"
- }
- Frame {
- msec: 3216
- hash: "d4a075656790c4f2c50addcd2cc660b5"
- }
- Frame {
- msec: 3232
- hash: "0f80edaf3eecf7a8c015d3fcecc0a494"
- }
- Frame {
- msec: 3248
- hash: "6e857b106486ea0aaa5321d4a7a07eae"
- }
- Frame {
- msec: 3264
- hash: "33a4f07cf7f5d16f006541c61ae2e4ee"
- }
- Frame {
- msec: 3280
- hash: "cb6cf1e6e89da3fcbad323f744aef18d"
- }
- Frame {
- msec: 3296
- hash: "a6eaa480b3f93d33ae23bb36b7691b92"
- }
- Frame {
- msec: 3312
- hash: "59d24ebfedd2a87bdbd755d06c4361d2"
- }
- Frame {
- msec: 3328
- hash: "1030f795d310f742ba491a2a90ff52d8"
- }
- Frame {
- msec: 3344
- hash: "261a341cab38986fb2f53b8e430f04a3"
- }
- Frame {
- msec: 3360
- hash: "4d53256fbb012e738ba3868e2482250d"
- }
- Frame {
- msec: 3376
- hash: "ae252d835a05e01c2a12ae820335049a"
- }
- Frame {
- msec: 3392
- hash: "20d758c1537ed1a9aff657414b50926c"
- }
- Frame {
- msec: 3408
- hash: "56c4113cc341c254ccab66f3bc313154"
- }
- Frame {
- msec: 3424
- hash: "240df67aa72a24546eb6e043e0d3d205"
- }
- Frame {
- msec: 3440
- hash: "82b94393071d6c32dd8028e1ee69e7fb"
- }
- Frame {
- msec: 3456
- hash: "98e46dff678f293fd6a4e9313ab3aec7"
- }
- Frame {
- msec: 3472
- hash: "0971ac1e05ea2ba387c78d4d103f5ea1"
- }
- Frame {
- msec: 3488
- hash: "2ea69aeb32fee61b61aa9c4efb2834bf"
- }
- Frame {
- msec: 3504
- hash: "41b40e36f77d04e62f72ad34aa50709a"
- }
- Frame {
- msec: 3520
- hash: "93b4876c3e185ff4875a7447b0bf4f0f"
- }
- Frame {
- msec: 3536
- hash: "9a3f9dc04a900020f0e488309d7b4757"
- }
- Frame {
- msec: 3552
- hash: "92fa2d9ef05140eb9d0fcf78b55f202e"
- }
- Frame {
- msec: 3568
- hash: "2ed9d0e09b61dee8b2703e580007d7a5"
- }
- Frame {
- msec: 3584
- hash: "cbd63ec868578e295a83170f42b23678"
- }
- Frame {
- msec: 3600
- hash: "b9f3f08168fb55ba01e56e670db565de"
- }
- Frame {
- msec: 3616
- hash: "a579d6324fb4bf9ac5ceaba2aa708764"
- }
- Frame {
- msec: 3632
- hash: "4e0fd7f45e53a8d44c416eb9235ec877"
- }
- Frame {
- msec: 3648
- hash: "f87195f2393914a0bbed9a454de01ff5"
- }
- Frame {
- msec: 3664
- hash: "9bc9801e83267689cd2750226f2b08ce"
- }
- Frame {
- msec: 3680
- hash: "5ddbc3bc10292bec41531e83c0921c59"
- }
- Frame {
- msec: 3696
- hash: "4f3b79b341b63499a20f1e1e2cd979f9"
- }
- Frame {
- msec: 3712
- hash: "e8d98ec2d13ef4324feba11be95d0735"
- }
- Frame {
- msec: 3728
- hash: "5e3c58e2f3a57f4ea48f4315d37ed813"
- }
- Frame {
- msec: 3744
- hash: "3f200fca4815d555f22912d9fcdc20ee"
- }
- Frame {
- msec: 3760
- hash: "0901c99f959d6c10a0b6ea46a282d8fd"
- }
- Frame {
- msec: 3776
- hash: "a186b8e984c999e8609472a7a5fa0610"
- }
- Frame {
- msec: 3792
- hash: "412a630348aa44d56f36f04982035e36"
- }
- Frame {
- msec: 3808
- hash: "011c0bcca7717b08bc53738718203f7e"
- }
- Frame {
- msec: 3824
- hash: "e531d33ef14b58ad843a6be6d7cb0961"
- }
- Frame {
- msec: 3840
- image: "resolution.3.png"
- }
- Frame {
- msec: 3856
- hash: "8df8dd33eada434231332b81e03430ce"
- }
- Frame {
- msec: 3872
- hash: "2aaa3749f93734dd203e1fea91a9f24a"
- }
- Frame {
- msec: 3888
- hash: "dc78b09e27bbc0a2cfec83436eef4446"
- }
- Frame {
- msec: 3904
- hash: "9053a92e343ebb79bd2831f5ab94a1b5"
- }
- Frame {
- msec: 3920
- hash: "649ad1a3fb57fb088e4e5cfd749bf2e5"
- }
- Frame {
- msec: 3936
- hash: "3579849956c1101000ef09949aa4c0f9"
- }
- Frame {
- msec: 3952
- hash: "7af041898748bb5950643b057ca59eea"
- }
- Frame {
- msec: 3968
- hash: "30a191ae899121ae22d10acee6593415"
- }
- Frame {
- msec: 3984
- hash: "369f761053d5910e00672aa866f698ba"
- }
- Frame {
- msec: 4000
- hash: "1f189a436cf74ae83a03c3bb63c24ec2"
- }
- Frame {
- msec: 4016
- hash: "ac1d9c1cc13813b5e94c692a209a4e36"
- }
- Frame {
- msec: 4032
- hash: "f0e0b5c041bcf38d8d9144d466ad74a9"
- }
- Frame {
- msec: 4048
- hash: "38a35c94ebcf33f6720fea33821a54e1"
- }
- Frame {
- msec: 4064
- hash: "061d139f43a3dd63daf887b82721f42f"
- }
- Frame {
- msec: 4080
- hash: "623747b5fe99e5ffaa62f4daa3f840ef"
- }
- Frame {
- msec: 4096
- hash: "4dd5081a387ffda296811b64b9235d7d"
- }
- Frame {
- msec: 4112
- hash: "1598cf2fe996f99ab4c15f84d89cd7bd"
- }
- Frame {
- msec: 4128
- hash: "30cac85bf1a622d438a64b6ccb59a8ca"
- }
- Frame {
- msec: 4144
- hash: "114e54ae3e1493750a022f1c019e7f77"
- }
- Frame {
- msec: 4160
- hash: "a585efc3aae3a426e6af5f4a8cc23b10"
- }
- Frame {
- msec: 4176
- hash: "c0f315549baad93dd885d58b185e7ed7"
- }
- Frame {
- msec: 4192
- hash: "3a00f5f034bef58ca341bf9e1056f46f"
- }
- Frame {
- msec: 4208
- hash: "b3022d07dee989499a35aea21e07e4c1"
- }
- Frame {
- msec: 4224
- hash: "e722464809e94fb7d8c752506f0d3ac2"
- }
- Frame {
- msec: 4240
- hash: "82ea3d06367ce9dc582dbdbc186cc70a"
- }
- Frame {
- msec: 4256
- hash: "359040facbe531c7f6b805b8bfc5b17a"
- }
- Frame {
- msec: 4272
- hash: "264c7b65bae7e3945d87c17edfda6889"
- }
- Frame {
- msec: 4288
- hash: "d941ec8e363942af02f36d4672521801"
- }
- Frame {
- msec: 4304
- hash: "e46e145b4d07d1697c1d9efce80c80de"
- }
- Frame {
- msec: 4320
- hash: "d8bed5c42bc5725d811db4dacdab1581"
- }
- Frame {
- msec: 4336
- hash: "aa221160b4a11b30cb73eaa8ccaa9dfd"
- }
- Frame {
- msec: 4352
- hash: "f411483477906d83f872b306cd021406"
- }
- Frame {
- msec: 4368
- hash: "d9c52e4f99416fa1043a9c34a1c29f5a"
- }
- Frame {
- msec: 4384
- hash: "ec2890446f34b8a5d47ae97ba2853d0f"
- }
- Frame {
- msec: 4400
- hash: "6a3e6ef7d832fa7ec813b38171cb3602"
- }
- Frame {
- msec: 4416
- hash: "6dfd75b6cb780f7d80466f3450d0b255"
- }
- Frame {
- msec: 4432
- hash: "170774843dc6f28f51f07c445e046bd8"
- }
- Frame {
- msec: 4448
- hash: "eab348bef656739d9723d3bd659c43ff"
- }
- Frame {
- msec: 4464
- hash: "f06e546bb710002cdf1cefd51ffa47c4"
- }
- Frame {
- msec: 4480
- hash: "52f7ff1348d9aa7cdf43cd81f0a71625"
- }
- Frame {
- msec: 4496
- hash: "55a5b1befa3b7a4674a62d492b5527ea"
- }
- Frame {
- msec: 4512
- hash: "699c093fddc6b9293a011d8d6eccd36d"
- }
- Frame {
- msec: 4528
- hash: "b988e1ad7dc7d26ffeea8f71a69a9abf"
- }
- Frame {
- msec: 4544
- hash: "8dea2b47492f83f961a47536a10aad0c"
- }
- Frame {
- msec: 4560
- hash: "925ea8105779ffd801a3c62129d64bed"
- }
- Frame {
- msec: 4576
- hash: "aa5d957c4f452b1f1c70ea672ce4a0b9"
- }
- Frame {
- msec: 4592
- hash: "85d3ea97a1fb152ae8ad65a17693a16d"
- }
- Frame {
- msec: 4608
- hash: "069b2bc8b86f822c5e7ceca3664e78a6"
- }
- Frame {
- msec: 4624
- hash: "209071b7f72d8c25b9ce27c05397fe56"
- }
- Frame {
- msec: 4640
- hash: "068dea708612620d34bd57c6affb44b1"
- }
- Frame {
- msec: 4656
- hash: "36b53a0845220645059fed803a6ffcbc"
- }
- Frame {
- msec: 4672
- hash: "2c84e15006a39a554eb2047bae9d4f6f"
- }
- Frame {
- msec: 4688
- hash: "1bdab31534f4b5a7e9d27ede3e9acb57"
- }
- Frame {
- msec: 4704
- hash: "688689eeb584b0c74f0322af35857dd5"
- }
- Frame {
- msec: 4720
- hash: "024939fea5b6c6f9d3e26a0abf42ae3c"
- }
- Frame {
- msec: 4736
- hash: "2efb2f47c6f0be3743f0f4dc7a66b08e"
- }
- Frame {
- msec: 4752
- hash: "4631f3756af880693d3654c16cbe47bb"
- }
- Frame {
- msec: 4768
- hash: "2fd77649c1e1ade97534ef530ad05612"
- }
- Frame {
- msec: 4784
- hash: "5d13517bac111c8af49c444d41a42ea1"
- }
- Frame {
- msec: 4800
- image: "resolution.4.png"
- }
- Frame {
- msec: 4816
- hash: "8bd8efe405a42730304dcc120a6e718c"
- }
- Frame {
- msec: 4832
- hash: "a83c543977e3f1dd4c020375eb3273fd"
- }
- Frame {
- msec: 4848
- hash: "c52f38469fec77afc7f0a44b992e3d0d"
- }
- Frame {
- msec: 4864
- hash: "af645449d6ec3f42449ffc59193aaaa4"
- }
- Frame {
- msec: 4880
- hash: "2eb982cf754c77c109158076957775ae"
- }
- Frame {
- msec: 4896
- hash: "9bf2fd4a4e45f302b34b7f038937d3d7"
- }
- Frame {
- msec: 4912
- hash: "5520e309d68c8eedf76a9392714a6150"
- }
- Frame {
- msec: 4928
- hash: "9dcd043a25e33b788729c0a0531301e7"
- }
- Frame {
- msec: 4944
- hash: "1475b9bcfe08c66135673f4284c9bbcd"
- }
- Frame {
- msec: 4960
- hash: "9af1f355bcf4d5f05b42040ebba75e09"
- }
- Frame {
- msec: 4976
- hash: "8b6e04980ea60ca2ff06053d35c06881"
- }
- Frame {
- msec: 4992
- hash: "def466e377a44afc4b2a9a9ebb258f86"
- }
- Frame {
- msec: 5008
- hash: "18f6d6f5a3fdaee0037580df0f4f9ef0"
- }
- Frame {
- msec: 5024
- hash: "ae2579498558f6f93489999c7c82cbcd"
- }
- Frame {
- msec: 5040
- hash: "623d8e756c2c131150554272df231bf9"
- }
- Frame {
- msec: 5056
- hash: "c13146576229848b8a1e1b382fbf749d"
- }
- Frame {
- msec: 5072
- hash: "f963a399aeea1d34ec3bd30a5b991035"
- }
- Frame {
- msec: 5088
- hash: "45a4db021ba0a53ad783c14a3b66aa38"
- }
- Frame {
- msec: 5104
- hash: "2031618470e3bb3a3435fe0e270a15d4"
- }
- Frame {
- msec: 5120
- hash: "f7cc01c301f29110db8364fecc8751f1"
- }
- Frame {
- msec: 5136
- hash: "2d366fa500257ec0a12863f3637d0c47"
- }
- Frame {
- msec: 5152
- hash: "4ba700e7f9ffba4889ca26d903a63029"
- }
- Frame {
- msec: 5168
- hash: "329bec5e3d6a131b4bd9a056659bdb3e"
- }
- Frame {
- msec: 5184
- hash: "48f7356707cdbcb401c135207ee38821"
- }
- Frame {
- msec: 5200
- hash: "5314e448affe60d193d07a784035ecce"
- }
- Frame {
- msec: 5216
- hash: "c87e98becdf99c214ad4987985b4af07"
- }
- Frame {
- msec: 5232
- hash: "ea81d2a967b619980d7e42937ec74668"
- }
- Frame {
- msec: 5248
- hash: "845319d4e0f6ee97697e59c606220e7a"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.0.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.0.png
deleted file mode 100644
index 4b9abb4f38..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.1.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.1.png
deleted file mode 100644
index 5ce9787160..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.qml b/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.qml
deleted file mode 100644
index 4aab708248..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/zoomTextOnly.qml
+++ /dev/null
@@ -1,655 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "4e401b5ebff6e442fa108e94a5dba668"
- }
- Frame {
- msec: 32
- hash: "c2f8551d0442d0736b71c54fc965562b"
- }
- Frame {
- msec: 48
- hash: "4fc1ef611b24ec5737310859b12c83d3"
- }
- Frame {
- msec: 64
- hash: "7df07aea83bc5c3213e7871854661820"
- }
- Frame {
- msec: 80
- hash: "0ae4ee18cc675749f008b897fe35cc40"
- }
- Frame {
- msec: 96
- hash: "0ae4ee18cc675749f008b897fe35cc40"
- }
- Frame {
- msec: 112
- hash: "f5c917c7ca26bb916dd4df84eafc8e94"
- }
- Frame {
- msec: 128
- hash: "0696257de0441666bd264f8db6383d15"
- }
- Frame {
- msec: 144
- hash: "0b43fdee23346c30c60b822a20131cc3"
- }
- Frame {
- msec: 160
- hash: "98dbd004cf4809dbc90bfa9272378644"
- }
- Frame {
- msec: 176
- hash: "32d0e9005ebb9dfd410d348e336bcd93"
- }
- Frame {
- msec: 192
- hash: "8a64b18006ad0bd2c373a2a9395ce52e"
- }
- Frame {
- msec: 208
- hash: "7dc26fd658f626b8fe18545cf93dc4ec"
- }
- Frame {
- msec: 224
- hash: "6712be93cf1ed2b7b202367418b6d2d7"
- }
- Frame {
- msec: 240
- hash: "524840a3453af4e97ac82b559308cce3"
- }
- Frame {
- msec: 256
- hash: "11436091b24c02af94dfa75a5fd1a001"
- }
- Frame {
- msec: 272
- hash: "d3689b53474b4b26630d70ba01c057b4"
- }
- Frame {
- msec: 288
- hash: "16e2b66f28ed80d80d9b5264d89624d5"
- }
- Frame {
- msec: 304
- hash: "87636076959de7e5a0a8bd8b31354ed4"
- }
- Frame {
- msec: 320
- hash: "a6916da6bfac27aa87d75da2bbb73f31"
- }
- Frame {
- msec: 336
- hash: "58cfba3aae4bf54a5b445e0e34571d2d"
- }
- Frame {
- msec: 352
- hash: "1475ae722afd169cc0c8e1fde39eb6b7"
- }
- Frame {
- msec: 368
- hash: "14d08c2ca430631af8ede1013f4f4da0"
- }
- Frame {
- msec: 384
- hash: "ace9db9112d147569dc0cf1a1b680d6c"
- }
- Frame {
- msec: 400
- hash: "08bc6815601417f3731eaae398d0861d"
- }
- Frame {
- msec: 416
- hash: "809870dfd9b05ce07170edd945348ddf"
- }
- Frame {
- msec: 432
- hash: "5784deb0f3270cf7a0d0964cd9d31458"
- }
- Frame {
- msec: 448
- hash: "2f06ee407e5175d4b954e31c39c9522c"
- }
- Frame {
- msec: 464
- hash: "48a7dbed293fbbd5ea202190837a411f"
- }
- Frame {
- msec: 480
- hash: "abf3d90803cfa12d35d2752be7ea02d8"
- }
- Frame {
- msec: 496
- hash: "a60edcf8d792f93a839e6ddbafbf993f"
- }
- Frame {
- msec: 512
- hash: "7e8dfe86ea0849022355b12578d4cb1a"
- }
- Frame {
- msec: 528
- hash: "3c84122b0933ee870f178d39469e51e2"
- }
- Frame {
- msec: 544
- hash: "25f463e91febf5b6d8819fd5010bc1c2"
- }
- Frame {
- msec: 560
- hash: "d423a9bc912237d0f20b924849ba0cb1"
- }
- Frame {
- msec: 576
- hash: "5bd3cc309a5fce6183654975543250b2"
- }
- Frame {
- msec: 592
- hash: "4e401b5ebff6e442fa108e94a5dba668"
- }
- Frame {
- msec: 608
- hash: "9a4bf1400da038f2088dd4c49403d852"
- }
- Frame {
- msec: 624
- hash: "a37024356613bd5d678e0b2f7b8f5959"
- }
- Frame {
- msec: 640
- hash: "4f37d72c10e51f68a2359086094da249"
- }
- Frame {
- msec: 656
- hash: "6093bcb7673f8e58fe5a7b0143638822"
- }
- Frame {
- msec: 672
- hash: "c272aeea2b9c450fbd732305ccc01b93"
- }
- Frame {
- msec: 688
- hash: "6a4e2ee45b26037421e2a5f2d6ee517e"
- }
- Frame {
- msec: 704
- hash: "d912afcbce6c9d879a07ffc3c51b36d1"
- }
- Frame {
- msec: 720
- hash: "2578335ac6f21c8aec2c87515562c321"
- }
- Frame {
- msec: 736
- hash: "5b77af55f0a723ba762d283f41e91c98"
- }
- Frame {
- msec: 752
- hash: "b420fc71b22fa608a9c0cdbbbc61c447"
- }
- Frame {
- msec: 768
- hash: "3f7a9cecf2a590e8728137fabfd3f5f3"
- }
- Frame {
- msec: 784
- hash: "c51f12a2f438f137785c70e3af4922fd"
- }
- Frame {
- msec: 800
- hash: "5d97175fc4d986e5b21758d4ac785025"
- }
- Frame {
- msec: 816
- hash: "94f922f3460ad76cd05cb5b321977a94"
- }
- Frame {
- msec: 832
- hash: "5747adbc4f0b22ed359793d72d3e7d1f"
- }
- Frame {
- msec: 848
- hash: "255d1d45d3343972f156dfab7d13ce41"
- }
- Frame {
- msec: 864
- hash: "e5b54132ffb83acad30622e969405bc0"
- }
- Frame {
- msec: 880
- hash: "2c05cf00e3417883e789f58c2728dc97"
- }
- Frame {
- msec: 896
- hash: "9d66290b1aae1de3025d24d3efc4ca1c"
- }
- Frame {
- msec: 912
- hash: "5e9b0783b1b4221145a4febbae56b30f"
- }
- Frame {
- msec: 928
- hash: "21eea497c26600b03d868661232b3ebe"
- }
- Frame {
- msec: 944
- hash: "2383c415170ac6444f1c193ed698f682"
- }
- Frame {
- msec: 960
- image: "zoomTextOnly.0.png"
- }
- Frame {
- msec: 976
- hash: "4ed0f85dec4eb0bb740ac3780b6872c0"
- }
- Frame {
- msec: 992
- hash: "0a18bccca4efeadfced8e5cb1715a1f3"
- }
- Frame {
- msec: 1008
- hash: "823e65df9075eb0e9a3aad6b15ec3342"
- }
- Frame {
- msec: 1024
- hash: "823e65df9075eb0e9a3aad6b15ec3342"
- }
- Frame {
- msec: 1040
- hash: "0a18bccca4efeadfced8e5cb1715a1f3"
- }
- Frame {
- msec: 1056
- hash: "4ed0f85dec4eb0bb740ac3780b6872c0"
- }
- Frame {
- msec: 1072
- hash: "fae77663566351fa3bb506b459496a9d"
- }
- Frame {
- msec: 1088
- hash: "2383c415170ac6444f1c193ed698f682"
- }
- Frame {
- msec: 1104
- hash: "2e05365256bebbdf3229f99b94263b6c"
- }
- Frame {
- msec: 1120
- hash: "5e9b0783b1b4221145a4febbae56b30f"
- }
- Frame {
- msec: 1136
- hash: "9d66290b1aae1de3025d24d3efc4ca1c"
- }
- Frame {
- msec: 1152
- hash: "2c05cf00e3417883e789f58c2728dc97"
- }
- Frame {
- msec: 1168
- hash: "e5b54132ffb83acad30622e969405bc0"
- }
- Frame {
- msec: 1184
- hash: "255d1d45d3343972f156dfab7d13ce41"
- }
- Frame {
- msec: 1200
- hash: "5747adbc4f0b22ed359793d72d3e7d1f"
- }
- Frame {
- msec: 1216
- hash: "94f922f3460ad76cd05cb5b321977a94"
- }
- Frame {
- msec: 1232
- hash: "5d97175fc4d986e5b21758d4ac785025"
- }
- Frame {
- msec: 1248
- hash: "c51f12a2f438f137785c70e3af4922fd"
- }
- Frame {
- msec: 1264
- hash: "3f7a9cecf2a590e8728137fabfd3f5f3"
- }
- Frame {
- msec: 1280
- hash: "b420fc71b22fa608a9c0cdbbbc61c447"
- }
- Frame {
- msec: 1296
- hash: "5b77af55f0a723ba762d283f41e91c98"
- }
- Frame {
- msec: 1312
- hash: "2578335ac6f21c8aec2c87515562c321"
- }
- Frame {
- msec: 1328
- hash: "a9b5438bd48dbafd307d571877416003"
- }
- Frame {
- msec: 1344
- hash: "6a4e2ee45b26037421e2a5f2d6ee517e"
- }
- Frame {
- msec: 1360
- hash: "c272aeea2b9c450fbd732305ccc01b93"
- }
- Frame {
- msec: 1376
- hash: "37c7e50c270e8feb4dd9018580284a85"
- }
- Frame {
- msec: 1392
- hash: "4f37d72c10e51f68a2359086094da249"
- }
- Frame {
- msec: 1408
- hash: "a37024356613bd5d678e0b2f7b8f5959"
- }
- Frame {
- msec: 1424
- hash: "9a4bf1400da038f2088dd4c49403d852"
- }
- Frame {
- msec: 1440
- hash: "4e401b5ebff6e442fa108e94a5dba668"
- }
- Frame {
- msec: 1456
- hash: "5bd3cc309a5fce6183654975543250b2"
- }
- Frame {
- msec: 1472
- hash: "d423a9bc912237d0f20b924849ba0cb1"
- }
- Frame {
- msec: 1488
- hash: "25f463e91febf5b6d8819fd5010bc1c2"
- }
- Frame {
- msec: 1504
- hash: "3c84122b0933ee870f178d39469e51e2"
- }
- Frame {
- msec: 1520
- hash: "7e8dfe86ea0849022355b12578d4cb1a"
- }
- Frame {
- msec: 1536
- hash: "a60edcf8d792f93a839e6ddbafbf993f"
- }
- Frame {
- msec: 1552
- hash: "abf3d90803cfa12d35d2752be7ea02d8"
- }
- Frame {
- msec: 1568
- hash: "48a7dbed293fbbd5ea202190837a411f"
- }
- Frame {
- msec: 1584
- hash: "2f06ee407e5175d4b954e31c39c9522c"
- }
- Frame {
- msec: 1600
- hash: "5784deb0f3270cf7a0d0964cd9d31458"
- }
- Frame {
- msec: 1616
- hash: "809870dfd9b05ce07170edd945348ddf"
- }
- Frame {
- msec: 1632
- hash: "08bc6815601417f3731eaae398d0861d"
- }
- Frame {
- msec: 1648
- hash: "ace9db9112d147569dc0cf1a1b680d6c"
- }
- Frame {
- msec: 1664
- hash: "14d08c2ca430631af8ede1013f4f4da0"
- }
- Frame {
- msec: 1680
- hash: "1475ae722afd169cc0c8e1fde39eb6b7"
- }
- Frame {
- msec: 1696
- hash: "58cfba3aae4bf54a5b445e0e34571d2d"
- }
- Frame {
- msec: 1712
- hash: "a6916da6bfac27aa87d75da2bbb73f31"
- }
- Frame {
- msec: 1728
- hash: "87636076959de7e5a0a8bd8b31354ed4"
- }
- Frame {
- msec: 1744
- hash: "16e2b66f28ed80d80d9b5264d89624d5"
- }
- Frame {
- msec: 1760
- hash: "d3689b53474b4b26630d70ba01c057b4"
- }
- Frame {
- msec: 1776
- hash: "11436091b24c02af94dfa75a5fd1a001"
- }
- Frame {
- msec: 1792
- hash: "524840a3453af4e97ac82b559308cce3"
- }
- Frame {
- msec: 1808
- hash: "6712be93cf1ed2b7b202367418b6d2d7"
- }
- Frame {
- msec: 1824
- hash: "7dc26fd658f626b8fe18545cf93dc4ec"
- }
- Frame {
- msec: 1840
- hash: "8a64b18006ad0bd2c373a2a9395ce52e"
- }
- Frame {
- msec: 1856
- hash: "32d0e9005ebb9dfd410d348e336bcd93"
- }
- Frame {
- msec: 1872
- hash: "98dbd004cf4809dbc90bfa9272378644"
- }
- Frame {
- msec: 1888
- hash: "0b43fdee23346c30c60b822a20131cc3"
- }
- Frame {
- msec: 1904
- hash: "0696257de0441666bd264f8db6383d15"
- }
- Frame {
- msec: 1920
- image: "zoomTextOnly.1.png"
- }
- Frame {
- msec: 1936
- hash: "0ae4ee18cc675749f008b897fe35cc40"
- }
- Frame {
- msec: 1952
- hash: "0ae4ee18cc675749f008b897fe35cc40"
- }
- Frame {
- msec: 1968
- hash: "7df07aea83bc5c3213e7871854661820"
- }
- Frame {
- msec: 1984
- hash: "4fc1ef611b24ec5737310859b12c83d3"
- }
- Frame {
- msec: 2000
- hash: "c2f8551d0442d0736b71c54fc965562b"
- }
- Frame {
- msec: 2016
- hash: "4ec29787e437f9619ce0f0a0f4889d0f"
- }
- Frame {
- msec: 2032
- hash: "c2f8551d0442d0736b71c54fc965562b"
- }
- Frame {
- msec: 2048
- hash: "4fc1ef611b24ec5737310859b12c83d3"
- }
- Frame {
- msec: 2064
- hash: "7df07aea83bc5c3213e7871854661820"
- }
- Frame {
- msec: 2080
- hash: "0ae4ee18cc675749f008b897fe35cc40"
- }
- Frame {
- msec: 2096
- hash: "0ae4ee18cc675749f008b897fe35cc40"
- }
- Frame {
- msec: 2112
- hash: "f5c917c7ca26bb916dd4df84eafc8e94"
- }
- Frame {
- msec: 2128
- hash: "0696257de0441666bd264f8db6383d15"
- }
- Frame {
- msec: 2144
- hash: "0b43fdee23346c30c60b822a20131cc3"
- }
- Frame {
- msec: 2160
- hash: "98dbd004cf4809dbc90bfa9272378644"
- }
- Frame {
- msec: 2176
- hash: "32d0e9005ebb9dfd410d348e336bcd93"
- }
- Frame {
- msec: 2192
- hash: "8a64b18006ad0bd2c373a2a9395ce52e"
- }
- Frame {
- msec: 2208
- hash: "7dc26fd658f626b8fe18545cf93dc4ec"
- }
- Frame {
- msec: 2224
- hash: "6712be93cf1ed2b7b202367418b6d2d7"
- }
- Frame {
- msec: 2240
- hash: "524840a3453af4e97ac82b559308cce3"
- }
- Frame {
- msec: 2256
- hash: "11436091b24c02af94dfa75a5fd1a001"
- }
- Frame {
- msec: 2272
- hash: "d3689b53474b4b26630d70ba01c057b4"
- }
- Frame {
- msec: 2288
- hash: "16e2b66f28ed80d80d9b5264d89624d5"
- }
- Frame {
- msec: 2304
- hash: "87636076959de7e5a0a8bd8b31354ed4"
- }
- Frame {
- msec: 2320
- hash: "a6916da6bfac27aa87d75da2bbb73f31"
- }
- Frame {
- msec: 2336
- hash: "58cfba3aae4bf54a5b445e0e34571d2d"
- }
- Frame {
- msec: 2352
- hash: "1475ae722afd169cc0c8e1fde39eb6b7"
- }
- Frame {
- msec: 2368
- hash: "14d08c2ca430631af8ede1013f4f4da0"
- }
- Frame {
- msec: 2384
- hash: "ace9db9112d147569dc0cf1a1b680d6c"
- }
- Frame {
- msec: 2400
- hash: "08bc6815601417f3731eaae398d0861d"
- }
- Frame {
- msec: 2416
- hash: "809870dfd9b05ce07170edd945348ddf"
- }
- Frame {
- msec: 2432
- hash: "5784deb0f3270cf7a0d0964cd9d31458"
- }
- Frame {
- msec: 2448
- hash: "2f06ee407e5175d4b954e31c39c9522c"
- }
- Frame {
- msec: 2464
- hash: "48a7dbed293fbbd5ea202190837a411f"
- }
- Frame {
- msec: 2480
- hash: "abf3d90803cfa12d35d2752be7ea02d8"
- }
- Frame {
- msec: 2496
- hash: "a60edcf8d792f93a839e6ddbafbf993f"
- }
- Frame {
- msec: 2512
- hash: "7e8dfe86ea0849022355b12578d4cb1a"
- }
- Frame {
- msec: 2528
- hash: "3c84122b0933ee870f178d39469e51e2"
- }
- Frame {
- msec: 2544
- hash: "25f463e91febf5b6d8819fd5010bc1c2"
- }
- Frame {
- msec: 2560
- hash: "d423a9bc912237d0f20b924849ba0cb1"
- }
- Frame {
- msec: 2576
- hash: "5bd3cc309a5fce6183654975543250b2"
- }
- Frame {
- msec: 2592
- hash: "4e401b5ebff6e442fa108e94a5dba668"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.0.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.0.png
deleted file mode 100644
index aaab35d4f2..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.0.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.1.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.1.png
deleted file mode 100644
index aaab35d4f2..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.1.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.2.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.2.png
deleted file mode 100644
index aaab35d4f2..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.2.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.3.png b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.3.png
deleted file mode 100644
index aaab35d4f2..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.3.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.qml b/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.qml
deleted file mode 100644
index 080d4d05b6..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/data/zooming.qml
+++ /dev/null
@@ -1,2115 +0,0 @@
-import Qt.VisualTest 4.7
-
-VisualTest {
- Frame {
- msec: 0
- }
- Frame {
- msec: 16
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 32
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 48
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 64
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 80
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 96
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 112
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 128
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 144
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 160
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 176
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 192
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 208
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 224
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 240
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 256
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 272
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 288
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 304
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 320
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 336
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 352
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 197; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 185; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 368
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 169; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 384
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 161; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 400
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 155; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 147; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 416
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 141; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 138; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 432
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 130; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 127; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 448
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 125; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 123; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 464
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 480
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 121; y: 49
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 496
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 512
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 117; y: 53
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 116; y: 53
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 528
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 115; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 544
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 113; y: 54
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 560
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 111; y: 53
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 111; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 576
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 110; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 592
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 109; y: 48
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 608
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 108; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 624
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 108; y: 45
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 107; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 640
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 106; y: 43
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 656
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 42
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 672
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 41
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 688
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 704
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 720
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 736
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 752
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 39
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 768
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 37
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 784
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 35
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 800
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 816
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 106; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 832
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 848
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 864
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 880
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 896
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 106; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 912
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 928
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 944
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 960
- image: "zooming.0.png"
- }
- Frame {
- msec: 976
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 106; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 992
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1008
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1024
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1040
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1056
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 106; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1072
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1088
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1104
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1120
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 106; y: 33
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1136
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1152
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1168
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1184
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 106; y: 34
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 106; y: 36
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1200
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 105; y: 38
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1216
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 103; y: 44
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1232
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 102; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 50
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1248
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 94; y: 56
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 90; y: 62
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1264
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 88; y: 70
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 78
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1280
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 86
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 94
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1296
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 104
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 114
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1312
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 88; y: 124
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 136
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1328
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 94; y: 146
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 156
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1344
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 164
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 172
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1360
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 188
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1376
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 190
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 96; y: 193
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1392
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 95; y: 195
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 95; y: 197
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1408
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 95; y: 198
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 95; y: 200
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1424
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 94; y: 201
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 94; y: 202
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1440
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 94; y: 204
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1456
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 93; y: 205
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1472
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 206
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1488
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1504
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 210
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1520
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 92; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 212
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1536
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1552
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1568
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1584
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1600
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1616
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1632
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1648
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1664
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1680
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1696
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1712
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 91; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1728
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1744
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1760
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1776
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 91; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1792
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1808
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1824
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1840
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 91; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1856
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1872
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1888
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1904
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1920
- image: "zooming.1.png"
- }
- Frame {
- msec: 1936
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 91; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 1952
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1968
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 1984
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2000
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2016
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2032
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2048
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2064
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2080
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2096
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2112
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2128
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 91; y: 212
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2144
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2160
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2176
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2192
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 89; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2208
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 88; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2224
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2240
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 86; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2256
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 85; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2272
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 82; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 80; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2288
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 77; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 75; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2304
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 69; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2320
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 64; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2336
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 60; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 58; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2352
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 56; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 55; y: 212
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2368
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2384
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2400
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2416
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2432
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2448
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2464
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2480
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 56; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2496
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 58; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 59; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2512
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 61; y: 215
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2528
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2544
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2560
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2576
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2592
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 64; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 2
- button: 1
- buttons: 1
- x: 64; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2608
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2624
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2640
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2656
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2672
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 1
- x: 63; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 63; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2688
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2704
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2720
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2736
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2752
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 4
- button: 1
- buttons: 1
- x: 62; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2768
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2784
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2800
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2816
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 3
- button: 1
- buttons: 0
- x: 62; y: 216
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2832
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2848
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 2864
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 215
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2880
- image: "zooming.2.png"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 214
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2896
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 213
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2912
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 62; y: 212
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 211
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2928
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 63; y: 209
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 64; y: 208
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2944
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 66; y: 202
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 70; y: 198
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2960
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 72; y: 192
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 74; y: 186
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2976
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 76; y: 180
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 80; y: 170
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 2992
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 84; y: 162
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 88; y: 152
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3008
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 94; y: 142
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 98; y: 130
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3024
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 102; y: 118
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 108; y: 108
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3040
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 112; y: 98
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 114; y: 90
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3056
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 120; y: 80
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 122; y: 72
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3072
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 126; y: 66
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 128; y: 58
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3088
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 132; y: 52
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 134; y: 46
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3104
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 136; y: 40
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 140; y: 32
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3120
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 144; y: 24
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 150; y: 18
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3136
- hash: "c98df558c41f1837398eead42392b780"
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 154; y: 10
- modifiers: 0
- sendToViewport: true
- }
- Mouse {
- type: 5
- button: 0
- buttons: 0
- x: 160; y: 4
- modifiers: 0
- sendToViewport: true
- }
- Frame {
- msec: 3152
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3168
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3184
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3200
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3216
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3232
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3248
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3264
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3280
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3296
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3312
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3328
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3344
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3360
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3376
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3392
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3408
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3424
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3440
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3456
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3472
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3488
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3504
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3520
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3536
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3552
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3568
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3584
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3600
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3616
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3632
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3648
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3664
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3680
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3696
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3712
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3728
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3744
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3760
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3776
- hash: "c98df558c41f1837398eead42392b780"
- }
- Frame {
- msec: 3792
- hash: "c98df558c41f1837398eead42392b780"
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/pageWidth.qml b/tests/auto/declarative/qmlvisual/webview/zooming/pageWidth.qml
deleted file mode 100644
index a2b11ac295..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/pageWidth.qml
+++ /dev/null
@@ -1,11 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-WebView {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- //width: 200
- //height: 250
- //url: "resolution.html"
- // webPageWidth: 400
- // preferredWidth: 200
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/qtlogo.png b/tests/auto/declarative/qmlvisual/webview/zooming/qtlogo.png
deleted file mode 100644
index 399bd0b1d9..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/qtlogo.png
+++ /dev/null
Binary files differ
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.html b/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.html
deleted file mode 100644
index 1a01a33997..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html>
-<body>
-<h1>Render Control</h1>
-<p>
-This test shows how zooming and panning can be
-optimized for speed over quality by delaying rendering.
-<img src="qtlogo.png">
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.qml b/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.qml
deleted file mode 100644
index c07f1e1ac6..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/renderControl.qml
+++ /dev/null
@@ -1,22 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-Rectangle {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- width: 200
- height: 250
- clip: true
- WebView {
- id: webview
- width: 400
- url: "renderControl.html"
- SequentialAnimation on x {
- loops: Animation.Infinite
- NumberAnimation { from: 100; to: 0; duration: 200 }
- PropertyAction { target: webview; property: "renderingEnabled"; value: false }
- NumberAnimation { from: 0; to: -100; duration: 200 }
- PropertyAction { target: webview; property: "renderingEnabled"; value: true }
- NumberAnimation { from: -100; to: 100; duration: 400 }
- }
- }
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/resolution.html b/tests/auto/declarative/qmlvisual/webview/zooming/resolution.html
deleted file mode 100644
index 75b1e3f59d..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/resolution.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>
-<body>
-<h1>Resolution</h1>
-<p>
-This test shows how zooming can include different resolutions.
-<img src="qtlogo.png">
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/resolution.qml b/tests/auto/declarative/qmlvisual/webview/zooming/resolution.qml
deleted file mode 100644
index cf5f50f9a8..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/resolution.qml
+++ /dev/null
@@ -1,19 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-WebView {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- /*
- width: 200 * zoomFactor
- height: 250 * zoomFactor
- scale: 1/zoomFactor
- url: "resolution.html"
- SequentialAnimation on zoomFactor {
- loops: Animation.Infinite
- NumberAnimation { from: 1; to: 0.25; duration: 2000 }
- NumberAnimation { from: 0.25; to: 1; duration: 2000 }
- NumberAnimation { from: 1; to: 5; duration: 2000 }
- NumberAnimation { from: 5; to: 1; duration: 2000 }
- }
- */
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.html b/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.html
deleted file mode 100644
index 4997712fd5..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.html
+++ /dev/null
@@ -1,7 +0,0 @@
-<html>
-<body>
-<h1>Zoom Text Only</h1>
-<p>
-This test shows how zooming can be done just
-on text, not images.
-<img src="qtlogo.png">
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.qml b/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.qml
deleted file mode 100644
index 03c925f82b..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/zoomTextOnly.qml
+++ /dev/null
@@ -1,17 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-WebView {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- width: 200
- height: 250
- url: "zoomTextOnly.html"
- settings.zoomTextOnly: true
- /*
- SequentialAnimation on zoomFactor {
- loops: Animation.Infinite
- NumberAnimation { from: 2; to: 0.25; duration: 1000 }
- NumberAnimation { from: 0.25; to: 2; duration: 1000 }
- }
- */
-}
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/zooming.html b/tests/auto/declarative/qmlvisual/webview/zooming/zooming.html
deleted file mode 100644
index 4e91035341..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/zooming.html
+++ /dev/null
@@ -1,6 +0,0 @@
-<html>
-<body>
-<h1>Zooming</h1>
-<p>
-This test shows how zooming can be to HTML elements.</p>
-<img src="qtlogo.png">
diff --git a/tests/auto/declarative/qmlvisual/webview/zooming/zooming.qml b/tests/auto/declarative/qmlvisual/webview/zooming/zooming.qml
deleted file mode 100644
index 03fd7809f2..0000000000
--- a/tests/auto/declarative/qmlvisual/webview/zooming/zooming.qml
+++ /dev/null
@@ -1,19 +0,0 @@
-import QtQuick 1.0
-import QtWebKit 1.0
-
-// Note that zooming is better done using zoomFactor and careful
-// control of rendering to avoid excessive re-rendering during
-// zoom animations. This test is written for simplicity.
-WebView {
- property string skip: "WebView tests not counting until resources allocated to WebView maintenance"
- width: 200
- height: 250
- Behavior on x { NumberAnimation { } }
- Behavior on y { NumberAnimation { } }
- Behavior on scale { NumberAnimation { } }
- url: "zooming.html"
- preferredWidth: width
- preferredHeight: height
- onDoubleClick: {console.log(clickX,clickY);heuristicZoom(clickX,clickY,2)}
- onZoomTo: {console.log(zoom);scale=zoom;x=width/2-centerX;y=height/2-centerY}
-}
diff --git a/tests/auto/declarative/qpacketprotocol/qpacketprotocol.pro b/tests/auto/declarative/qpacketprotocol/qpacketprotocol.pro
index 7ffda931cc..b32235aec0 100644
--- a/tests/auto/declarative/qpacketprotocol/qpacketprotocol.pro
+++ b/tests/auto/declarative/qpacketprotocol/qpacketprotocol.pro
@@ -7,3 +7,4 @@ SOURCES += tst_qpacketprotocol.cpp \
../shared/debugutil.cpp
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qperformancetimer/qperformancetimer.pro b/tests/auto/declarative/qperformancetimer/qperformancetimer.pro
index 656bf686bd..fb0783dfc9 100644
--- a/tests/auto/declarative/qperformancetimer/qperformancetimer.pro
+++ b/tests/auto/declarative/qperformancetimer/qperformancetimer.pro
@@ -5,3 +5,4 @@ macx:CONFIG -= app_bundle
CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qsganimatedimage/data/colors.gif b/tests/auto/declarative/qsganimatedimage/data/colors.gif
new file mode 100644
index 0000000000..1270bfaa79
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/colors.gif
Binary files differ
diff --git a/tests/auto/declarative/qsganimatedimage/data/colors.qml b/tests/auto/declarative/qsganimatedimage/data/colors.qml
new file mode 100644
index 0000000000..5ccc0148dd
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/colors.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+AnimatedImage {
+ source: "colors.gif"
+}
diff --git a/tests/auto/declarative/qsganimatedimage/data/hearts.gif b/tests/auto/declarative/qsganimatedimage/data/hearts.gif
new file mode 100644
index 0000000000..cfb55f27f5
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/hearts.gif
Binary files differ
diff --git a/tests/auto/declarative/qsganimatedimage/data/hearts.qml b/tests/auto/declarative/qsganimatedimage/data/hearts.qml
new file mode 100644
index 0000000000..717bab430b
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/hearts.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+AnimatedImage {
+ source: "hearts.gif"
+ playing: false
+}
diff --git a/tests/auto/declarative/qsganimatedimage/data/qmldir b/tests/auto/declarative/qsganimatedimage/data/qmldir
new file mode 100644
index 0000000000..ef7c1f44f3
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/qmldir
@@ -0,0 +1 @@
+# No local types
diff --git a/tests/auto/declarative/qsganimatedimage/data/qtbug-16520.qml b/tests/auto/declarative/qsganimatedimage/data/qtbug-16520.qml
new file mode 100644
index 0000000000..da77a4063b
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/qtbug-16520.qml
@@ -0,0 +1,17 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 500
+ height: 500
+
+ AnimatedImage {
+ objectName: "anim"
+ anchors.centerIn: parent
+ asynchronous: true
+ opacity: status == AnimatedImage.Ready ? 1 : 0
+
+ Behavior on opacity {
+ NumberAnimation { duration: 1000 }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsganimatedimage/data/stickman.gif b/tests/auto/declarative/qsganimatedimage/data/stickman.gif
new file mode 100644
index 0000000000..7c4cd18687
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/stickman.gif
Binary files differ
diff --git a/tests/auto/declarative/qsganimatedimage/data/stickman.qml b/tests/auto/declarative/qsganimatedimage/data/stickman.qml
new file mode 100644
index 0000000000..a47924de21
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/stickman.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+AnimatedImage {
+ source: "stickman.gif"
+}
diff --git a/tests/auto/declarative/qsganimatedimage/data/stickmanerror1.qml b/tests/auto/declarative/qsganimatedimage/data/stickmanerror1.qml
new file mode 100644
index 0000000000..4f823b3d70
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/stickmanerror1.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+AnimatedImage {
+ sourceSize: "240x180"
+ source: "stickman.gif"
+}
diff --git a/tests/auto/declarative/qsganimatedimage/data/stickmanpause.qml b/tests/auto/declarative/qsganimatedimage/data/stickmanpause.qml
new file mode 100644
index 0000000000..ef771ed56f
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/stickmanpause.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+AnimatedImage {
+ source: "stickman.gif"
+ paused: true
+ currentFrame: 2
+}
diff --git a/tests/auto/declarative/qsganimatedimage/data/stickmanscaled.qml b/tests/auto/declarative/qsganimatedimage/data/stickmanscaled.qml
new file mode 100644
index 0000000000..1ef1f95165
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/stickmanscaled.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+AnimatedImage {
+ width: 240
+ height: 180
+ source: "stickman.gif"
+}
diff --git a/tests/auto/declarative/qsganimatedimage/data/stickmanstopped.qml b/tests/auto/declarative/qsganimatedimage/data/stickmanstopped.qml
new file mode 100644
index 0000000000..0bf80b8972
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/data/stickmanstopped.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+AnimatedImage {
+ source: "stickman.gif"
+ playing: false
+}
diff --git a/tests/auto/declarative/qsganimatedimage/qsganimatedimage.pro b/tests/auto/declarative/qsganimatedimage/qsganimatedimage.pro
new file mode 100644
index 0000000000..c1a3f00aff
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/qsganimatedimage.pro
@@ -0,0 +1,18 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative network
+HEADERS += ../shared/testhttpserver.h
+SOURCES += tst_qsganimatedimage.cpp ../shared/testhttpserver.cpp
+macx:CONFIG -= app_bundle
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
+QT += script-private
diff --git a/tests/auto/declarative/qsganimatedimage/tst_qsganimatedimage.cpp b/tests/auto/declarative/qsganimatedimage/tst_qsganimatedimage.cpp
new file mode 100644
index 0000000000..d7e87eb181
--- /dev/null
+++ b/tests/auto/declarative/qsganimatedimage/tst_qsganimatedimage.cpp
@@ -0,0 +1,379 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qsgview.h>
+#include <private/qsgrectangle_p.h>
+#include <private/qsgimage_p.h>
+#include <private/qsganimatedimage_p.h>
+#include <QSignalSpy>
+#include <QtDeclarative/qdeclarativecontext.h>
+
+#include "../shared/testhttpserver.h"
+#include "../../../shared/util.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_qsganimatedimage : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qsganimatedimage() {}
+
+private slots:
+ void play();
+ void pause();
+ void stopped();
+ void setFrame();
+ void frameCount();
+ void mirror_running();
+ void mirror_notRunning();
+ void mirror_notRunning_data();
+ void remote();
+ void remote_data();
+ void sourceSize();
+ void sourceSizeReadOnly();
+ void invalidSource();
+ void qtbug_16520();
+ void progressAndStatusChanges();
+
+};
+
+void tst_qsganimatedimage::play()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/stickman.qml"));
+ QSGAnimatedImage *anim = qobject_cast<QSGAnimatedImage *>(component.create());
+ QVERIFY(anim);
+ QVERIFY(anim->isPlaying());
+
+ delete anim;
+}
+
+void tst_qsganimatedimage::pause()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/stickmanpause.qml"));
+ QSGAnimatedImage *anim = qobject_cast<QSGAnimatedImage *>(component.create());
+ QVERIFY(anim);
+ QVERIFY(anim->isPlaying());
+ QVERIFY(anim->isPaused());
+
+ delete anim;
+}
+
+void tst_qsganimatedimage::stopped()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/stickmanstopped.qml"));
+ QSGAnimatedImage *anim = qobject_cast<QSGAnimatedImage *>(component.create());
+ QVERIFY(anim);
+ QVERIFY(!anim->isPlaying());
+ QCOMPARE(anim->currentFrame(), 0);
+
+ delete anim;
+}
+
+void tst_qsganimatedimage::setFrame()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/stickmanpause.qml"));
+ QSGAnimatedImage *anim = qobject_cast<QSGAnimatedImage *>(component.create());
+ QVERIFY(anim);
+ QVERIFY(anim->isPlaying());
+ QCOMPARE(anim->currentFrame(), 2);
+
+ delete anim;
+}
+
+void tst_qsganimatedimage::frameCount()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/colors.qml"));
+ QSGAnimatedImage *anim = qobject_cast<QSGAnimatedImage *>(component.create());
+ QVERIFY(anim);
+ QVERIFY(anim->isPlaying());
+ QCOMPARE(anim->frameCount(), 3);
+
+ delete anim;
+}
+
+void tst_qsganimatedimage::mirror_running()
+{
+ // test where mirror is set to true after animation has started
+
+ QSGView *canvas = new QSGView;
+ canvas->show();
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/hearts.qml"));
+ QSGAnimatedImage *anim = qobject_cast<QSGAnimatedImage *>(canvas->rootObject());
+ QVERIFY(anim);
+
+ int width = anim->property("width").toInt();
+
+ QCOMPARE(anim->currentFrame(), 0);
+ QPixmap frame0 = canvas->renderPixmap();
+ anim->setCurrentFrame(1);
+ QPixmap frame1 = canvas->renderPixmap();
+
+ anim->setCurrentFrame(0);
+
+ QSignalSpy spy(anim, SIGNAL(frameChanged()));
+ anim->setPlaying(true);
+
+ QTRY_VERIFY(spy.count() == 1); spy.clear();
+ anim->setProperty("mirror", true);
+
+ QCOMPARE(anim->currentFrame(), 1);
+ QPixmap frame1_flipped = canvas->renderPixmap();
+
+ QTRY_VERIFY(spy.count() == 1); spy.clear();
+ QCOMPARE(anim->currentFrame(), 0); // animation only has 2 frames, should cycle back to first
+ QPixmap frame0_flipped = canvas->renderPixmap();
+
+ QSKIP("Skip while QTBUG-19351 and QTBUG-19252 are not resolved", SkipSingle);
+
+ QTransform transform;
+ transform.translate(width, 0).scale(-1, 1.0);
+ QPixmap frame0_expected = frame0.transformed(transform);
+ QPixmap frame1_expected = frame1.transformed(transform);
+
+ QCOMPARE(frame0_flipped, frame0_expected);
+ QCOMPARE(frame1_flipped, frame1_expected);
+
+ delete canvas;
+}
+
+void tst_qsganimatedimage::mirror_notRunning()
+{
+ QFETCH(QUrl, fileUrl);
+
+ QSGView *canvas = new QSGView;
+ canvas->show();
+
+ canvas->setSource(fileUrl);
+ QSGAnimatedImage *anim = qobject_cast<QSGAnimatedImage *>(canvas->rootObject());
+ QVERIFY(anim);
+
+ int width = anim->property("width").toInt();
+ QPixmap screenshot = canvas->renderPixmap();
+
+ QTransform transform;
+ transform.translate(width, 0).scale(-1, 1.0);
+ QPixmap expected = screenshot.transformed(transform);
+
+ int frame = anim->currentFrame();
+ bool playing = anim->isPlaying();
+ bool paused = anim->isPlaying();
+
+ anim->setProperty("mirror", true);
+ screenshot = canvas->renderPixmap();
+
+ QSKIP("Skip while QTBUG-19351 and QTBUG-19252 are not resolved", SkipSingle);
+ QCOMPARE(screenshot, expected);
+
+ // mirroring should not change the current frame or playing status
+ QCOMPARE(anim->currentFrame(), frame);
+ QCOMPARE(anim->isPlaying(), playing);
+ QCOMPARE(anim->isPaused(), paused);
+
+ delete canvas;
+}
+
+void tst_qsganimatedimage::mirror_notRunning_data()
+{
+ QTest::addColumn<QUrl>("fileUrl");
+
+ QTest::newRow("paused") << QUrl::fromLocalFile(SRCDIR "/data/stickmanpause.qml");
+ QTest::newRow("stopped") << QUrl::fromLocalFile(SRCDIR "/data/stickmanstopped.qml");
+}
+
+void tst_qsganimatedimage::remote()
+{
+ QFETCH(QString, fileName);
+ QFETCH(bool, paused);
+
+ TestHTTPServer server(14449);
+ QVERIFY(server.isValid());
+ server.serveDirectory(SRCDIR "/data");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, QUrl("http://127.0.0.1:14449/" + fileName));
+ QTRY_VERIFY(component.isReady());
+
+ QSGAnimatedImage *anim = qobject_cast<QSGAnimatedImage *>(component.create());
+ QVERIFY(anim);
+
+ QTRY_VERIFY(anim->isPlaying());
+ if (paused) {
+ QTRY_VERIFY(anim->isPaused());
+ QCOMPARE(anim->currentFrame(), 2);
+ }
+ QVERIFY(anim->status() != QSGAnimatedImage::Error);
+
+ delete anim;
+}
+
+void tst_qsganimatedimage::sourceSize()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/stickmanscaled.qml"));
+ QSGAnimatedImage *anim = qobject_cast<QSGAnimatedImage *>(component.create());
+ QVERIFY(anim);
+ QCOMPARE(anim->width(),240.0);
+ QCOMPARE(anim->height(),180.0);
+ QCOMPARE(anim->sourceSize(),QSize(160,120));
+
+ delete anim;
+}
+
+void tst_qsganimatedimage::sourceSizeReadOnly()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/stickmanerror1.qml"));
+ QVERIFY(component.isError());
+ QCOMPARE(component.errors().at(0).description(), QString("Invalid property assignment: \"sourceSize\" is a read-only property"));
+}
+
+void tst_qsganimatedimage::remote_data()
+{
+ QTest::addColumn<QString>("fileName");
+ QTest::addColumn<bool>("paused");
+
+ QTest::newRow("playing") << "stickman.qml" << false;
+ QTest::newRow("paused") << "stickmanpause.qml" << true;
+}
+
+void tst_qsganimatedimage::invalidSource()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0\n AnimatedImage { source: \"no-such-file.gif\" }", QUrl::fromLocalFile(""));
+ QVERIFY(component.isReady());
+
+ QTest::ignoreMessage(QtWarningMsg, "file::2:2: QML AnimatedImage: Error Reading Animated Image File file:no-such-file.gif");
+
+ QSGAnimatedImage *anim = qobject_cast<QSGAnimatedImage *>(component.create());
+ QVERIFY(anim);
+
+ QVERIFY(!anim->isPlaying());
+ QVERIFY(!anim->isPaused());
+ QCOMPARE(anim->currentFrame(), 0);
+ QCOMPARE(anim->frameCount(), 0);
+ QTRY_VERIFY(anim->status() == 3);
+}
+
+void tst_qsganimatedimage::qtbug_16520()
+{
+ TestHTTPServer server(14449);
+ QVERIFY(server.isValid());
+ server.serveDirectory(SRCDIR "/data");
+
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, QUrl::fromLocalFile(SRCDIR "/data/qtbug-16520.qml"));
+ QTRY_VERIFY(component.isReady());
+
+ QSGRectangle *root = qobject_cast<QSGRectangle *>(component.create());
+ QVERIFY(root);
+ QSGAnimatedImage *anim = root->findChild<QSGAnimatedImage*>("anim");
+
+ anim->setProperty("source", "http://127.0.0.1:14449/stickman.gif");
+
+ QTRY_VERIFY(anim->opacity() == 0);
+ QTRY_VERIFY(anim->opacity() == 1);
+
+ delete anim;
+}
+
+void tst_qsganimatedimage::progressAndStatusChanges()
+{
+ TestHTTPServer server(14449);
+ QVERIFY(server.isValid());
+ server.serveDirectory(SRCDIR "/data");
+
+ QDeclarativeEngine engine;
+ QString componentStr = "import QtQuick 2.0\nAnimatedImage { source: srcImage }";
+ QDeclarativeContext *ctxt = engine.rootContext();
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/stickman.gif"));
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+ QVERIFY(obj->status() == QSGImage::Ready);
+ QTRY_VERIFY(obj->progress() == 1.0);
+
+ QSignalSpy sourceSpy(obj, SIGNAL(sourceChanged(const QUrl &)));
+ QSignalSpy progressSpy(obj, SIGNAL(progressChanged(qreal)));
+ QSignalSpy statusSpy(obj, SIGNAL(statusChanged(QSGImageBase::Status)));
+
+ // Loading local file
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/colors.gif"));
+ QTRY_VERIFY(obj->status() == QSGImage::Ready);
+ QTRY_VERIFY(obj->progress() == 1.0);
+ QTRY_COMPARE(sourceSpy.count(), 1);
+ QTRY_COMPARE(progressSpy.count(), 0);
+ QTRY_COMPARE(statusSpy.count(), 0);
+
+ // Loading remote file
+ ctxt->setContextProperty("srcImage", "http://127.0.0.1:14449/stickman.gif");
+ QTRY_VERIFY(obj->status() == QSGImage::Loading);
+ QTRY_VERIFY(obj->progress() == 0.0);
+ QTRY_VERIFY(obj->status() == QSGImage::Ready);
+ QTRY_VERIFY(obj->progress() == 1.0);
+ QTRY_COMPARE(sourceSpy.count(), 2);
+ QTRY_VERIFY(progressSpy.count() > 1);
+ QTRY_COMPARE(statusSpy.count(), 2);
+
+ ctxt->setContextProperty("srcImage", "");
+ QTRY_VERIFY(obj->status() == QSGImage::Null);
+ QTRY_VERIFY(obj->progress() == 0.0);
+ QTRY_COMPARE(sourceSpy.count(), 3);
+ QTRY_VERIFY(progressSpy.count() > 2);
+ QTRY_COMPARE(statusSpy.count(), 3);
+}
+
+QTEST_MAIN(tst_qsganimatedimage)
+
+#include "tst_qsganimatedimage.moc"
diff --git a/tests/auto/declarative/qsgborderimage/data/colors-round-remote.sci b/tests/auto/declarative/qsgborderimage/data/colors-round-remote.sci
new file mode 100644
index 0000000000..c673bed598
--- /dev/null
+++ b/tests/auto/declarative/qsgborderimage/data/colors-round-remote.sci
@@ -0,0 +1,7 @@
+border.left:10
+border.top:20
+border.right:30
+border.bottom:40
+horizontalTileRule:Round
+verticalTileRule:Repeat
+source:http://127.0.0.1:14446/colors.png
diff --git a/tests/auto/declarative/qsgborderimage/data/colors-round.sci b/tests/auto/declarative/qsgborderimage/data/colors-round.sci
new file mode 100644
index 0000000000..5d2f49f0e1
--- /dev/null
+++ b/tests/auto/declarative/qsgborderimage/data/colors-round.sci
@@ -0,0 +1,7 @@
+border.left:10
+border.top:20
+border.right:30
+border.bottom:40
+horizontalTileRule:Round
+verticalTileRule:Repeat
+source:colors.png
diff --git a/tests/auto/declarative/qsgborderimage/data/colors.png b/tests/auto/declarative/qsgborderimage/data/colors.png
new file mode 100644
index 0000000000..dfb62f3d64
--- /dev/null
+++ b/tests/auto/declarative/qsgborderimage/data/colors.png
Binary files differ
diff --git a/tests/auto/declarative/qsgborderimage/data/heart200.png b/tests/auto/declarative/qsgborderimage/data/heart200.png
new file mode 100644
index 0000000000..5a31ae8f4d
--- /dev/null
+++ b/tests/auto/declarative/qsgborderimage/data/heart200.png
Binary files differ
diff --git a/tests/auto/declarative/qsgborderimage/data/invalid.sci b/tests/auto/declarative/qsgborderimage/data/invalid.sci
new file mode 100644
index 0000000000..98c72c9bf1
--- /dev/null
+++ b/tests/auto/declarative/qsgborderimage/data/invalid.sci
@@ -0,0 +1,7 @@
+border.left:10
+border.top:20
+border.down:30
+border.up:40
+horizontalTileRule:Roun
+verticalTileRule:Repea
+source:colors.png
diff --git a/tests/auto/declarative/qsgborderimage/data/mirror.qml b/tests/auto/declarative/qsgborderimage/data/mirror.qml
new file mode 100644
index 0000000000..8d02f58e05
--- /dev/null
+++ b/tests/auto/declarative/qsgborderimage/data/mirror.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+BorderImage {
+ source: "heart200.png"
+ smooth: true
+ width: 300; height: 300
+ border { top: 50; right: 50; bottom: 50; left: 50 }
+}
diff --git a/tests/auto/declarative/qsgborderimage/qsgborderimage.pro b/tests/auto/declarative/qsgborderimage/qsgborderimage.pro
new file mode 100644
index 0000000000..f75405bf43
--- /dev/null
+++ b/tests/auto/declarative/qsgborderimage/qsgborderimage.pro
@@ -0,0 +1,19 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui network
+macx:CONFIG -= app_bundle
+
+HEADERS += ../shared/testhttpserver.h
+SOURCES += tst_qsgborderimage.cpp ../shared/testhttpserver.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
+QT += script-private
diff --git a/tests/auto/declarative/qsgborderimage/tst_qsgborderimage.cpp b/tests/auto/declarative/qsgborderimage/tst_qsgborderimage.cpp
new file mode 100644
index 0000000000..2bd15c1094
--- /dev/null
+++ b/tests/auto/declarative/qsgborderimage/tst_qsgborderimage.cpp
@@ -0,0 +1,377 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QTextDocument>
+#include <QTcpServer>
+#include <QTcpSocket>
+#include <QDir>
+#include <QGraphicsScene>
+#include <QPainter>
+
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <private/qsgborderimage_p.h>
+#include <private/qsgimagebase_p.h>
+#include <private/qsgscalegrid_p_p.h>
+#include <private/qsgloader_p.h>
+#include <QtDeclarative/qsgview.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+
+#include "../shared/testhttpserver.h"
+#include "../../../shared/util.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+#define SERVER_PORT 14446
+#define SERVER_ADDR "http://127.0.0.1:14446"
+
+class tst_qsgborderimage : public QObject
+
+{
+ Q_OBJECT
+public:
+ tst_qsgborderimage();
+
+private slots:
+ void noSource();
+ void imageSource();
+ void imageSource_data();
+ void clearSource();
+ void resized();
+ void smooth();
+ void mirror();
+ void tileModes();
+ void sciSource();
+ void sciSource_data();
+ void invalidSciFile();
+ void pendingRemoteRequest();
+ void pendingRemoteRequest_data();
+
+private:
+ QDeclarativeEngine engine;
+};
+
+tst_qsgborderimage::tst_qsgborderimage()
+{
+}
+
+void tst_qsgborderimage::noSource()
+{
+ QString componentStr = "import QtQuick 2.0\nBorderImage { source: \"\" }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGBorderImage *obj = qobject_cast<QSGBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->source(), QUrl());
+ QCOMPARE(obj->width(), 0.);
+ QCOMPARE(obj->height(), 0.);
+ QCOMPARE(obj->horizontalTileMode(), QSGBorderImage::Stretch);
+ QCOMPARE(obj->verticalTileMode(), QSGBorderImage::Stretch);
+
+ delete obj;
+}
+
+void tst_qsgborderimage::imageSource_data()
+{
+ QTest::addColumn<QString>("source");
+ QTest::addColumn<bool>("remote");
+ QTest::addColumn<QString>("error");
+
+ QTest::newRow("local") << QUrl::fromLocalFile(SRCDIR "/data/colors.png").toString() << false << "";
+ QTest::newRow("local not found") << QUrl::fromLocalFile(SRCDIR "/data/no-such-file.png").toString() << false
+ << "file::2:1: QML BorderImage: Cannot open: " + QUrl::fromLocalFile(SRCDIR "/data/no-such-file.png").toString();
+ QTest::newRow("remote") << SERVER_ADDR "/colors.png" << true << "";
+ QTest::newRow("remote not found") << SERVER_ADDR "/no-such-file.png" << true
+ << "file::2:1: QML BorderImage: Error downloading " SERVER_ADDR "/no-such-file.png - server replied: Not found";
+}
+
+void tst_qsgborderimage::imageSource()
+{
+ QFETCH(QString, source);
+ QFETCH(bool, remote);
+ QFETCH(QString, error);
+
+ TestHTTPServer *server = 0;
+ if (remote) {
+ server = new TestHTTPServer(SERVER_PORT);
+ QVERIFY(server->isValid());
+ server->serveDirectory(SRCDIR "/data");
+ }
+
+ if (!error.isEmpty())
+ QTest::ignoreMessage(QtWarningMsg, error.toUtf8());
+
+ QString componentStr = "import QtQuick 2.0\nBorderImage { source: \"" + source + "\" }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGBorderImage *obj = qobject_cast<QSGBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+
+ if (remote)
+ QTRY_VERIFY(obj->status() == QSGBorderImage::Loading);
+
+ QCOMPARE(obj->source(), remote ? source : QUrl(source));
+
+ if (error.isEmpty()) {
+ QTRY_VERIFY(obj->status() == QSGBorderImage::Ready);
+ QCOMPARE(obj->width(), 120.);
+ QCOMPARE(obj->height(), 120.);
+ QCOMPARE(obj->sourceSize().width(), 120);
+ QCOMPARE(obj->sourceSize().height(), 120);
+ QCOMPARE(obj->horizontalTileMode(), QSGBorderImage::Stretch);
+ QCOMPARE(obj->verticalTileMode(), QSGBorderImage::Stretch);
+ } else {
+ QTRY_VERIFY(obj->status() == QSGBorderImage::Error);
+ }
+
+ delete obj;
+ delete server;
+}
+
+void tst_qsgborderimage::clearSource()
+{
+ QString componentStr = "import QtQuick 2.0\nBorderImage { source: srcImage }";
+ QDeclarativeContext *ctxt = engine.rootContext();
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/colors.png"));
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGBorderImage *obj = qobject_cast<QSGBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+ QVERIFY(obj->status() == QSGBorderImage::Ready);
+ QCOMPARE(obj->width(), 120.);
+ QCOMPARE(obj->height(), 120.);
+
+ ctxt->setContextProperty("srcImage", "");
+ QVERIFY(obj->source().isEmpty());
+ QVERIFY(obj->status() == QSGBorderImage::Null);
+ QCOMPARE(obj->width(), 0.);
+ QCOMPARE(obj->height(), 0.);
+}
+
+void tst_qsgborderimage::resized()
+{
+ QString componentStr = "import QtQuick 2.0\nBorderImage { source: \"" + QUrl::fromLocalFile(SRCDIR "/data/colors.png").toString() + "\"; width: 300; height: 300 }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGBorderImage *obj = qobject_cast<QSGBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->sourceSize().width(), 120);
+ QCOMPARE(obj->sourceSize().height(), 120);
+ QCOMPARE(obj->horizontalTileMode(), QSGBorderImage::Stretch);
+ QCOMPARE(obj->verticalTileMode(), QSGBorderImage::Stretch);
+
+ delete obj;
+}
+
+void tst_qsgborderimage::smooth()
+{
+ QString componentStr = "import QtQuick 2.0\nBorderImage { source: \"" SRCDIR "/data/colors.png\"; smooth: true; width: 300; height: 300 }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGBorderImage *obj = qobject_cast<QSGBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->smooth(), true);
+ QCOMPARE(obj->horizontalTileMode(), QSGBorderImage::Stretch);
+ QCOMPARE(obj->verticalTileMode(), QSGBorderImage::Stretch);
+
+ delete obj;
+}
+
+void tst_qsgborderimage::mirror()
+{
+ QSGView *canvas = new QSGView;
+ canvas->show();
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/mirror.qml"));
+ QSGBorderImage *image = qobject_cast<QSGBorderImage*>(canvas->rootObject());
+ QVERIFY(image != 0);
+
+ int width = image->property("width").toInt();
+
+ QPixmap screenshot = canvas->renderPixmap();
+
+ image->setProperty("mirror", true);
+ QPixmap mirrored;
+
+ QSKIP("Skip while QTBUG-19351 and QTBUG-19252 are not resolved", SkipSingle);
+ QCOMPARE(screenshot, mirrored);
+
+ delete canvas;
+}
+
+void tst_qsgborderimage::tileModes()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nBorderImage { source: \"" SRCDIR "/data/colors.png\"; width: 100; height: 300; horizontalTileMode: BorderImage.Repeat; verticalTileMode: BorderImage.Repeat }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGBorderImage *obj = qobject_cast<QSGBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 100.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->horizontalTileMode(), QSGBorderImage::Repeat);
+ QCOMPARE(obj->verticalTileMode(), QSGBorderImage::Repeat);
+
+ delete obj;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nBorderImage { source: \"" SRCDIR "/data/colors.png\"; width: 300; height: 150; horizontalTileMode: BorderImage.Round; verticalTileMode: BorderImage.Round }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGBorderImage *obj = qobject_cast<QSGBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 150.);
+ QCOMPARE(obj->horizontalTileMode(), QSGBorderImage::Round);
+ QCOMPARE(obj->verticalTileMode(), QSGBorderImage::Round);
+
+ delete obj;
+ }
+}
+
+void tst_qsgborderimage::sciSource()
+{
+ QFETCH(QString, source);
+ QFETCH(bool, valid);
+
+ bool remote = source.startsWith("http");
+ TestHTTPServer *server = 0;
+ if (remote) {
+ server = new TestHTTPServer(SERVER_PORT);
+ QVERIFY(server->isValid());
+ server->serveDirectory(SRCDIR "/data");
+ }
+
+ QString componentStr = "import QtQuick 2.0\nBorderImage { source: \"" + source + "\"; width: 300; height: 300 }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGBorderImage *obj = qobject_cast<QSGBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+
+ if (remote)
+ QTRY_VERIFY(obj->status() == QSGBorderImage::Loading);
+
+ QCOMPARE(obj->source(), remote ? source : QUrl(source));
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+
+ if (valid) {
+ QTRY_VERIFY(obj->status() == QSGBorderImage::Ready);
+ QCOMPARE(obj->border()->left(), 10);
+ QCOMPARE(obj->border()->top(), 20);
+ QCOMPARE(obj->border()->right(), 30);
+ QCOMPARE(obj->border()->bottom(), 40);
+ QCOMPARE(obj->horizontalTileMode(), QSGBorderImage::Round);
+ QCOMPARE(obj->verticalTileMode(), QSGBorderImage::Repeat);
+ } else {
+ QTRY_VERIFY(obj->status() == QSGBorderImage::Error);
+ }
+
+ delete obj;
+ delete server;
+}
+
+void tst_qsgborderimage::sciSource_data()
+{
+ QTest::addColumn<QString>("source");
+ QTest::addColumn<bool>("valid");
+
+ QTest::newRow("local") << QUrl::fromLocalFile(SRCDIR "/data/colors-round.sci").toString() << true;
+ QTest::newRow("local not found") << QUrl::fromLocalFile(SRCDIR "/data/no-such-file.sci").toString() << false;
+ QTest::newRow("remote") << SERVER_ADDR "/colors-round.sci" << true;
+ QTest::newRow("remote image") << SERVER_ADDR "/colors-round-remote.sci" << true;
+ QTest::newRow("remote not found") << SERVER_ADDR "/no-such-file.sci" << false;
+}
+
+void tst_qsgborderimage::invalidSciFile()
+{
+ QTest::ignoreMessage(QtWarningMsg, "QSGGridScaledImage: Invalid tile rule specified. Using Stretch."); // for "Roun"
+ QTest::ignoreMessage(QtWarningMsg, "QSGGridScaledImage: Invalid tile rule specified. Using Stretch."); // for "Repea"
+
+ QString componentStr = "import QtQuick 2.0\nBorderImage { source: \"" + QUrl::fromLocalFile(SRCDIR "/data/invalid.sci").toString() +"\"; width: 300; height: 300 }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGBorderImage *obj = qobject_cast<QSGBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->status(), QSGImageBase::Error);
+ QCOMPARE(obj->horizontalTileMode(), QSGBorderImage::Stretch);
+ QCOMPARE(obj->verticalTileMode(), QSGBorderImage::Stretch);
+
+ delete obj;
+}
+
+void tst_qsgborderimage::pendingRemoteRequest()
+{
+ QFETCH(QString, source);
+
+ QString componentStr = "import QtQuick 2.0\nBorderImage { source: \"" + source + "\" }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGBorderImage *obj = qobject_cast<QSGBorderImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->status(), QSGBorderImage::Loading);
+
+ // verify no crash
+ // This will cause a delayed "QThread: Destroyed while thread is still running" warning
+ delete obj;
+ QTest::qWait(50);
+}
+
+void tst_qsgborderimage::pendingRemoteRequest_data()
+{
+ QTest::addColumn<QString>("source");
+
+ QTest::newRow("png file") << "http://localhost/none.png";
+ QTest::newRow("sci file") << "http://localhost/none.sci";
+}
+
+QTEST_MAIN(tst_qsgborderimage)
+
+#include "tst_qsgborderimage.moc"
diff --git a/tests/auto/declarative/qsgcanvas/qsgcanvas.pro b/tests/auto/declarative/qsgcanvas/qsgcanvas.pro
new file mode 100644
index 0000000000..9fe5dd9194
--- /dev/null
+++ b/tests/auto/declarative/qsgcanvas/qsgcanvas.pro
@@ -0,0 +1,8 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+SOURCES += tst_qsgcanvas.cpp
+
+macx:CONFIG -= app_bundle
+
+CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qsgcanvas/tst_qsgcanvas.cpp b/tests/auto/declarative/qsgcanvas/tst_qsgcanvas.cpp
new file mode 100644
index 0000000000..68552bf88a
--- /dev/null
+++ b/tests/auto/declarative/qsgcanvas/tst_qsgcanvas.cpp
@@ -0,0 +1,437 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QDebug>
+#include <QTouchEvent>
+
+#include "qsgitem.h"
+#include "qsgcanvas.h"
+#include "private/qsgrectangle_p.h"
+#include "../../../shared/util.h"
+
+struct TouchEventData {
+ QEvent::Type type;
+ QWidget *widget;
+ Qt::TouchPointStates states;
+ QList<QTouchEvent::TouchPoint> touchPoints;
+};
+
+static QTouchEvent::TouchPoint makeTouchPoint(QSGItem *item, const QPointF &p, const QPointF &lastPoint = QPointF())
+{
+ QPointF last = lastPoint.isNull() ? p : lastPoint;
+
+ QTouchEvent::TouchPoint tp;
+ tp.setPos(p);
+ tp.setLastPos(last);
+ tp.setScenePos(item->mapToScene(p));
+ tp.setLastScenePos(item->mapToScene(last));
+ tp.setScreenPos(item->canvas()->mapToGlobal(tp.scenePos().toPoint()));
+ tp.setLastScreenPos(item->canvas()->mapToGlobal(tp.lastScenePos().toPoint()));
+ return tp;
+}
+
+static TouchEventData makeTouchData(QEvent::Type type, QWidget *w, Qt::TouchPointStates states, const QList<QTouchEvent::TouchPoint> &touchPoints)
+{
+ TouchEventData d = { type, w, states, touchPoints };
+ return d;
+}
+
+static TouchEventData makeTouchData(QEvent::Type type, QWidget *w, Qt::TouchPointStates states, const QTouchEvent::TouchPoint &touchPoint)
+{
+ QList<QTouchEvent::TouchPoint> points;
+ points << touchPoint;
+ return makeTouchData(type, w, states, points);
+}
+
+#define COMPARE_TOUCH_POINTS(tp1, tp2) \
+{ \
+ QCOMPARE(tp1.pos(), tp2.pos()); \
+ QCOMPARE(tp1.lastPos(), tp2.lastPos()); \
+ QCOMPARE(tp1.scenePos(), tp2.scenePos()); \
+ QCOMPARE(tp1.lastScenePos(), tp2.lastScenePos()); \
+ QCOMPARE(tp1.screenPos(), tp2.screenPos()); \
+ QCOMPARE(tp1.lastScreenPos(), tp2.lastScreenPos()); \
+}
+
+#define COMPARE_TOUCH_DATA(d1, d2) \
+{ \
+ QCOMPARE((int)d1.type, (int)d2.type); \
+ QCOMPARE(d1.widget, d2.widget); \
+ QCOMPARE((int)d1.states, (int)d2.states); \
+ QCOMPARE(d1.touchPoints.count(), d2.touchPoints.count()); \
+ for (int i=0; i<d1.touchPoints.count(); i++) { \
+ COMPARE_TOUCH_POINTS(d1.touchPoints[i], d2.touchPoints[i]); \
+ } \
+}
+
+class TestTouchItem : public QSGRectangle
+{
+ Q_OBJECT
+public:
+ TestTouchItem(QSGItem *parent = 0)
+ : QSGRectangle(parent), acceptEvents(true)
+ {
+ border()->setWidth(1);
+ }
+
+ void reset() {
+ acceptEvents = true;
+ setEnabled(true);
+ setOpacity(1.0);
+
+ lastEvent = makeTouchData(QEvent::None, 0, 0, QList<QTouchEvent::TouchPoint>());
+ }
+
+ bool acceptEvents;
+ TouchEventData lastEvent;
+
+protected:
+ virtual void touchEvent(QTouchEvent *event) {
+ if (!acceptEvents) {
+ event->ignore();
+ return;
+ }
+ lastEvent = makeTouchData(event->type(), event->widget(), event->touchPointStates(), event->touchPoints());
+ event->accept();
+ }
+};
+
+
+class ConstantUpdateItem : public QSGItem
+{
+Q_OBJECT
+public:
+ ConstantUpdateItem(QSGItem *parent = 0) : QSGItem(parent), iterations(0) {setFlag(ItemHasContents);}
+
+ int iterations;
+protected:
+ QSGNode* updatePaintNode(QSGNode *, UpdatePaintNodeData *){
+ iterations++;
+ update();
+ return 0;
+ }
+};
+
+class tst_qsgcanvas : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qsgcanvas();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+
+ void constantUpdates();
+
+ void touchEvent_basic();
+ void touchEvent_propagation();
+ void touchEvent_propagation_data();
+
+ void clearCanvas();
+};
+
+tst_qsgcanvas::tst_qsgcanvas()
+{
+}
+
+void tst_qsgcanvas::initTestCase()
+{
+}
+
+void tst_qsgcanvas::cleanupTestCase()
+{
+}
+
+//If the item calls update inside updatePaintNode, it should schedule another update
+void tst_qsgcanvas::constantUpdates()
+{
+ QSGCanvas canvas;
+ ConstantUpdateItem item(canvas.rootItem());
+ canvas.show();
+ QTRY_VERIFY(item.iterations > 60);
+}
+
+void tst_qsgcanvas::touchEvent_basic()
+{
+ QSGCanvas *canvas = new QSGCanvas;
+ canvas->resize(250, 250);
+ canvas->window()->move(100, 100);
+ canvas->show();
+
+ TestTouchItem *bottomItem = new TestTouchItem(canvas->rootItem());
+ bottomItem->setObjectName("Bottom Item");
+ bottomItem->setSize(QSizeF(150, 150));
+
+ TestTouchItem *middleItem = new TestTouchItem(bottomItem);
+ middleItem->setObjectName("Middle Item");
+ middleItem->setPos(QPointF(50, 50));
+ middleItem->setSize(QSizeF(150, 150));
+
+ TestTouchItem *topItem = new TestTouchItem(middleItem);
+ topItem->setObjectName("Top Item");
+ topItem->setPos(QPointF(50, 50));
+ topItem->setSize(QSizeF(150, 150));
+
+ QPointF pos(10, 10);
+
+ // press single point
+ QTest::touchEvent(canvas).press(0, topItem->mapToScene(pos).toPoint());
+ QCOMPARE(topItem->lastEvent.touchPoints.count(), 1);
+ QVERIFY(middleItem->lastEvent.touchPoints.isEmpty());
+ QVERIFY(bottomItem->lastEvent.touchPoints.isEmpty());
+ COMPARE_TOUCH_DATA(topItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed, makeTouchPoint(topItem, pos)));
+ topItem->reset();
+
+ // press multiple points
+ QTest::touchEvent(canvas).press(0, topItem->mapToScene(pos).toPoint())
+ .press(1, bottomItem->mapToScene(pos).toPoint());
+ QCOMPARE(topItem->lastEvent.touchPoints.count(), 1);
+ QVERIFY(middleItem->lastEvent.touchPoints.isEmpty());
+ QCOMPARE(bottomItem->lastEvent.touchPoints.count(), 1);
+ COMPARE_TOUCH_DATA(topItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed, makeTouchPoint(topItem, pos)));
+ COMPARE_TOUCH_DATA(bottomItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed, makeTouchPoint(bottomItem, pos)));
+ topItem->reset();
+ bottomItem->reset();
+
+ // touch point on top item moves to bottom item, but top item should still receive the event
+ QTest::touchEvent(canvas).press(0, topItem->mapToScene(pos).toPoint());
+ QTest::touchEvent(canvas).move(0, bottomItem->mapToScene(pos).toPoint());
+ QCOMPARE(topItem->lastEvent.touchPoints.count(), 1);
+ COMPARE_TOUCH_DATA(topItem->lastEvent, makeTouchData(QEvent::TouchUpdate, canvas, Qt::TouchPointMoved,
+ makeTouchPoint(topItem, topItem->mapFromItem(bottomItem, pos), pos)));
+ topItem->reset();
+
+ // touch point on bottom item moves to top item, but bottom item should still receive the event
+ QTest::touchEvent(canvas).press(0, bottomItem->mapToScene(pos).toPoint());
+ QTest::touchEvent(canvas).move(0, topItem->mapToScene(pos).toPoint());
+ QCOMPARE(bottomItem->lastEvent.touchPoints.count(), 1);
+ COMPARE_TOUCH_DATA(bottomItem->lastEvent, makeTouchData(QEvent::TouchUpdate, canvas, Qt::TouchPointMoved,
+ makeTouchPoint(bottomItem, bottomItem->mapFromItem(topItem, pos), pos)));
+ bottomItem->reset();
+
+ // a single stationary press on an item shouldn't cause an event
+ QTest::touchEvent(canvas).press(0, topItem->mapToScene(pos).toPoint());
+ QTest::touchEvent(canvas).stationary(0)
+ .press(1, bottomItem->mapToScene(pos).toPoint());
+ QCOMPARE(topItem->lastEvent.touchPoints.count(), 1); // received press only, not stationary
+ QVERIFY(middleItem->lastEvent.touchPoints.isEmpty());
+ QCOMPARE(bottomItem->lastEvent.touchPoints.count(), 1);
+ COMPARE_TOUCH_DATA(topItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed, makeTouchPoint(topItem, pos)));
+ COMPARE_TOUCH_DATA(bottomItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed, makeTouchPoint(bottomItem, pos)));
+ topItem->reset();
+ bottomItem->reset();
+
+ // move touch point from top item to bottom, and release
+ QTest::touchEvent(canvas).press(0, topItem->mapToScene(pos).toPoint());
+ QTest::touchEvent(canvas).release(0, bottomItem->mapToScene(pos).toPoint());
+ QCOMPARE(topItem->lastEvent.touchPoints.count(), 1);
+ COMPARE_TOUCH_DATA(topItem->lastEvent, makeTouchData(QEvent::TouchEnd, canvas, Qt::TouchPointReleased,
+ makeTouchPoint(topItem, topItem->mapFromItem(bottomItem, pos), pos)));
+ topItem->reset();
+
+ // release while another point is pressed
+ QTest::touchEvent(canvas).press(0, topItem->mapToScene(pos).toPoint())
+ .press(1, bottomItem->mapToScene(pos).toPoint());
+ QTest::touchEvent(canvas).move(0, bottomItem->mapToScene(pos).toPoint());
+ QTest::touchEvent(canvas).release(0, bottomItem->mapToScene(pos).toPoint())
+ .stationary(1);
+ QCOMPARE(topItem->lastEvent.touchPoints.count(), 1);
+ QVERIFY(middleItem->lastEvent.touchPoints.isEmpty());
+ QCOMPARE(bottomItem->lastEvent.touchPoints.count(), 1);
+ COMPARE_TOUCH_DATA(topItem->lastEvent, makeTouchData(QEvent::TouchEnd, canvas, Qt::TouchPointReleased,
+ makeTouchPoint(topItem, topItem->mapFromItem(bottomItem, pos))));
+ COMPARE_TOUCH_DATA(bottomItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed, makeTouchPoint(bottomItem, pos)));
+ topItem->reset();
+ bottomItem->reset();
+
+ delete topItem;
+ delete middleItem;
+ delete bottomItem;
+ delete canvas;
+}
+
+void tst_qsgcanvas::touchEvent_propagation()
+{
+ QFETCH(bool, acceptEvents);
+ QFETCH(bool, enableItem);
+ QFETCH(qreal, itemOpacity);
+
+ QSGCanvas *canvas = new QSGCanvas;
+ canvas->resize(250, 250);
+ canvas->window()->move(100, 100);
+ canvas->show();
+
+ TestTouchItem *bottomItem = new TestTouchItem(canvas->rootItem());
+ bottomItem->setObjectName("Bottom Item");
+ bottomItem->setSize(QSizeF(150, 150));
+
+ TestTouchItem *middleItem = new TestTouchItem(bottomItem);
+ middleItem->setObjectName("Middle Item");
+ middleItem->setPos(QPointF(50, 50));
+ middleItem->setSize(QSizeF(150, 150));
+
+ TestTouchItem *topItem = new TestTouchItem(middleItem);
+ topItem->setObjectName("Top Item");
+ topItem->setPos(QPointF(50, 50));
+ topItem->setSize(QSizeF(150, 150));
+
+ QPointF pos(10, 10);
+ QPoint pointInBottomItem = bottomItem->mapToScene(pos).toPoint(); // (10, 10)
+ QPoint pointInMiddleItem = middleItem->mapToScene(pos).toPoint(); // (60, 60) overlaps with bottomItem
+ QPoint pointInTopItem = topItem->mapToScene(pos).toPoint(); // (110, 110) overlaps with bottom & top items
+
+ // disable topItem
+ topItem->acceptEvents = acceptEvents;
+ topItem->setEnabled(enableItem);
+ topItem->setOpacity(itemOpacity);
+
+ // single touch to top item, should be received by middle item
+ QTest::touchEvent(canvas).press(0, pointInTopItem);
+ QVERIFY(topItem->lastEvent.touchPoints.isEmpty());
+ QCOMPARE(middleItem->lastEvent.touchPoints.count(), 1);
+ QVERIFY(bottomItem->lastEvent.touchPoints.isEmpty());
+ COMPARE_TOUCH_DATA(middleItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed,
+ makeTouchPoint(middleItem, middleItem->mapFromItem(topItem, pos))));
+
+ // touch top and middle items, middle item should get both events
+ QTest::touchEvent(canvas).press(0, pointInTopItem)
+ .press(1, pointInMiddleItem);
+ QVERIFY(topItem->lastEvent.touchPoints.isEmpty());
+ QCOMPARE(middleItem->lastEvent.touchPoints.count(), 2);
+ QVERIFY(bottomItem->lastEvent.touchPoints.isEmpty());
+ COMPARE_TOUCH_DATA(middleItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed,
+ (QList<QTouchEvent::TouchPoint>() << makeTouchPoint(middleItem, middleItem->mapFromItem(topItem, pos))
+ << makeTouchPoint(middleItem, pos) )));
+ middleItem->reset();
+
+ // disable middleItem as well
+ middleItem->acceptEvents = acceptEvents;
+ middleItem->setEnabled(enableItem);
+ middleItem->setOpacity(itemOpacity);
+
+ // touch top and middle items, bottom item should get all events
+ QTest::touchEvent(canvas).press(0, pointInTopItem)
+ .press(1, pointInMiddleItem);
+ QVERIFY(topItem->lastEvent.touchPoints.isEmpty());
+ QVERIFY(middleItem->lastEvent.touchPoints.isEmpty());
+ QCOMPARE(bottomItem->lastEvent.touchPoints.count(), 2);
+ COMPARE_TOUCH_DATA(bottomItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed,
+ (QList<QTouchEvent::TouchPoint>() << makeTouchPoint(bottomItem, bottomItem->mapFromItem(topItem, pos))
+ << makeTouchPoint(bottomItem, bottomItem->mapFromItem(middleItem, pos)) )));
+ bottomItem->reset();
+
+ // disable bottom item as well
+ bottomItem->acceptEvents = acceptEvents;
+ bottomItem->setEnabled(enableItem);
+ bottomItem->setOpacity(itemOpacity);
+
+ // no events should be received
+ QTest::touchEvent(canvas).press(0, pointInTopItem)
+ .press(1, pointInMiddleItem)
+ .press(2, pointInBottomItem);
+ QVERIFY(topItem->lastEvent.touchPoints.isEmpty());
+ QVERIFY(middleItem->lastEvent.touchPoints.isEmpty());
+ QVERIFY(bottomItem->lastEvent.touchPoints.isEmpty());
+
+ topItem->reset();
+ middleItem->reset();
+ bottomItem->reset();
+
+ // disable middle item, touch on top item
+ middleItem->acceptEvents = acceptEvents;
+ middleItem->setEnabled(enableItem);
+ middleItem->setOpacity(itemOpacity);
+ QTest::touchEvent(canvas).press(0, pointInTopItem);
+ if (!enableItem || itemOpacity == 0) {
+ // middle item is disabled or has 0 opacity, bottom item receives the event
+ QVERIFY(topItem->lastEvent.touchPoints.isEmpty());
+ QVERIFY(middleItem->lastEvent.touchPoints.isEmpty());
+ QCOMPARE(bottomItem->lastEvent.touchPoints.count(), 1);
+ COMPARE_TOUCH_DATA(bottomItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed,
+ makeTouchPoint(bottomItem, bottomItem->mapFromItem(topItem, pos))));
+ } else {
+ // middle item ignores event, sends it to the top item (top-most child)
+ QCOMPARE(topItem->lastEvent.touchPoints.count(), 1);
+ QVERIFY(middleItem->lastEvent.touchPoints.isEmpty());
+ QVERIFY(bottomItem->lastEvent.touchPoints.isEmpty());
+ COMPARE_TOUCH_DATA(topItem->lastEvent, makeTouchData(QEvent::TouchBegin, canvas, Qt::TouchPointPressed,
+ makeTouchPoint(topItem, pos)));
+ }
+
+ delete topItem;
+ delete middleItem;
+ delete bottomItem;
+ delete canvas;
+}
+
+void tst_qsgcanvas::touchEvent_propagation_data()
+{
+ QTest::addColumn<bool>("acceptEvents");
+ QTest::addColumn<bool>("enableItem");
+ QTest::addColumn<qreal>("itemOpacity");
+
+ QTest::newRow("disable events") << false << true << 1.0;
+ QTest::newRow("disable item") << true << false << 1.0;
+ QTest::newRow("opacity of 0") << true << true << 0.0;
+}
+
+void tst_qsgcanvas::clearCanvas()
+{
+ QSGCanvas *canvas = new QSGCanvas;
+ QSGItem *item = new QSGItem;
+ item->setParentItem(canvas->rootItem());
+
+ QVERIFY(item->canvas() == canvas);
+
+ delete canvas;
+
+ QVERIFY(item->canvas() == 0);
+
+ delete item;
+}
+
+
+
+QTEST_MAIN(tst_qsgcanvas)
+
+#include "tst_qsgcanvas.moc"
diff --git a/tests/auto/declarative/qsgflickable/data/disabledcontent.qml b/tests/auto/declarative/qsgflickable/data/disabledcontent.qml
new file mode 100644
index 0000000000..f02f08e4ea
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/data/disabledcontent.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+Flickable {
+ width: 100; height: 100
+ contentWidth: 200; contentHeight: 300
+
+ QGraphicsWidget { width: 200; height: 300; enabled: false }
+}
diff --git a/tests/auto/declarative/qsgflickable/data/flickable01.qml b/tests/auto/declarative/qsgflickable/data/flickable01.qml
new file mode 100644
index 0000000000..cbec44bb4f
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/data/flickable01.qml
@@ -0,0 +1,4 @@
+import QtQuick 2.0
+
+Flickable {
+}
diff --git a/tests/auto/declarative/qsgflickable/data/flickable02.qml b/tests/auto/declarative/qsgflickable/data/flickable02.qml
new file mode 100644
index 0000000000..80caa32da5
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/data/flickable02.qml
@@ -0,0 +1,14 @@
+import QtQuick 2.0
+
+Flickable {
+ width: 100; height: 100
+ contentWidth: row.width; contentHeight: row.height
+
+ Row {
+ id: row
+ Repeater {
+ model: 4
+ Rectangle { width: 200; height: 300; color: "blue" }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgflickable/data/flickable03.qml b/tests/auto/declarative/qsgflickable/data/flickable03.qml
new file mode 100644
index 0000000000..e34b63b6ac
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/data/flickable03.qml
@@ -0,0 +1,14 @@
+import QtQuick 2.0
+
+Flickable {
+ width: 100; height: 100
+ contentWidth: column.width; contentHeight: column.height
+
+ Column {
+ id: column
+ Repeater {
+ model: 4
+ Rectangle { width: 200; height: 300; color: "blue" }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgflickable/data/flickable04.qml b/tests/auto/declarative/qsgflickable/data/flickable04.qml
new file mode 100644
index 0000000000..b2f30b84ec
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/data/flickable04.qml
@@ -0,0 +1,22 @@
+import QtQuick 2.0
+
+Flickable {
+ property bool ok: false
+ function check() {
+ if (column.parent == contentItem)
+ ok = true;
+ }
+
+ width: 100; height: 100
+ contentWidth: column.width; contentHeight: column.height
+ pressDelay: 200; boundsBehavior: Flickable.StopAtBounds; interactive: false
+ maximumFlickVelocity: 2000
+
+ Column {
+ id: column
+ Repeater {
+ model: 4
+ Rectangle { width: 200; height: 300; color: "blue" }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgflickable/data/flickableqgraphicswidget.qml b/tests/auto/declarative/qsgflickable/data/flickableqgraphicswidget.qml
new file mode 100644
index 0000000000..bb8f1eefc6
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/data/flickableqgraphicswidget.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+Flickable {
+ width: 100; height: 100
+
+ QGraphicsWidget { objectName: "widget1"; width: 200; height: 300 }
+}
diff --git a/tests/auto/declarative/qsgflickable/data/nestedPressDelay.qml b/tests/auto/declarative/qsgflickable/data/nestedPressDelay.qml
new file mode 100644
index 0000000000..60dadcc73c
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/data/nestedPressDelay.qml
@@ -0,0 +1,33 @@
+import QtQuick 2.0
+
+Flickable {
+ property bool pressed: ma.pressed
+ width: 240
+ height: 320
+ contentWidth: 480
+ contentHeight: 320
+ flickableDirection: Flickable.HorizontalFlick
+ pressDelay: 50
+ Flickable {
+ objectName: "innerFlickable"
+ flickableDirection: Flickable.VerticalFlick
+ width: 480
+ height: 320
+ contentWidth: 480
+ contentHeight: 400
+ pressDelay: 10000
+ Rectangle {
+ y: 100
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: 240
+ height: 100
+ color: ma.pressed ? 'blue' : 'green'
+ MouseArea {
+ id: ma
+ objectName: "mouseArea"
+ anchors.fill: parent
+ }
+ }
+ }
+}
+
diff --git a/tests/auto/declarative/qsgflickable/data/resize.qml b/tests/auto/declarative/qsgflickable/data/resize.qml
new file mode 100644
index 0000000000..1a9ef54107
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/data/resize.qml
@@ -0,0 +1,27 @@
+import QtQuick 2.0
+
+Rectangle {
+ function resizeContent() {
+ flick.resizeContent(600, 600, Qt.point(100, 100))
+ }
+ function returnToBounds() {
+ flick.returnToBounds()
+ }
+ width: 400
+ height: 360
+ color: "gray"
+
+ Flickable {
+ id: flick
+ objectName: "flick"
+ anchors.fill: parent
+ contentWidth: 300
+ contentHeight: 300
+
+ Rectangle {
+ width: flick.contentWidth
+ height: flick.contentHeight
+ color: "red"
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgflickable/data/wheel.qml b/tests/auto/declarative/qsgflickable/data/wheel.qml
new file mode 100644
index 0000000000..2928bbcd72
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/data/wheel.qml
@@ -0,0 +1,25 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 400
+ height: 400
+ color: "gray"
+
+ Flickable {
+ id: flick
+ objectName: "flick"
+ anchors.fill: parent
+ contentWidth: 800
+ contentHeight: 800
+
+ Rectangle {
+ width: flick.contentWidth
+ height: flick.contentHeight
+ color: "red"
+ Rectangle {
+ width: 50; height: 50; color: "blue"
+ anchors.centerIn: parent
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgflickable/qsgflickable.pro b/tests/auto/declarative/qsgflickable/qsgflickable.pro
new file mode 100644
index 0000000000..70956f3755
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/qsgflickable.pro
@@ -0,0 +1,18 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsgflickable.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
+QT += script-private
diff --git a/tests/auto/declarative/qsgflickable/tst_qsgflickable.cpp b/tests/auto/declarative/qsgflickable/tst_qsgflickable.cpp
new file mode 100644
index 0000000000..1892350058
--- /dev/null
+++ b/tests/auto/declarative/qsgflickable/tst_qsgflickable.cpp
@@ -0,0 +1,466 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QtTest/QSignalSpy>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qsgview.h>
+#include <private/qsgflickable_p.h>
+#include <private/qdeclarativevaluetype_p.h>
+#include <math.h>
+#include "../../../shared/util.h"
+#include <QtOpenGL/QGLShaderProgram>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_qsgflickable : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qsgflickable();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+
+ void create();
+ void horizontalViewportSize();
+ void verticalViewportSize();
+ void properties();
+ void boundsBehavior();
+ void maximumFlickVelocity();
+ void flickDeceleration();
+ void pressDelay();
+ void disabledContent();
+ void nestedPressDelay();
+ void flickableDirection();
+ void resizeContent();
+ void returnToBounds();
+ void wheel();
+
+private:
+ QDeclarativeEngine engine;
+
+ template<typename T>
+ T *findItem(QSGItem *parent, const QString &objectName);
+};
+
+tst_qsgflickable::tst_qsgflickable()
+{
+}
+
+void tst_qsgflickable::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("Flickable item needs OpenGL 2.0", SkipAll);
+}
+
+void tst_qsgflickable::cleanupTestCase()
+{
+
+}
+
+void tst_qsgflickable::create()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/flickable01.qml"));
+ QSGFlickable *obj = qobject_cast<QSGFlickable*>(c.create());
+
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->isAtXBeginning(), true);
+ QCOMPARE(obj->isAtXEnd(), false);
+ QCOMPARE(obj->isAtYBeginning(), true);
+ QCOMPARE(obj->isAtYEnd(), false);
+ QCOMPARE(obj->contentX(), 0.);
+ QCOMPARE(obj->contentY(), 0.);
+
+ QCOMPARE(obj->horizontalVelocity(), 0.);
+ QCOMPARE(obj->verticalVelocity(), 0.);
+
+ QCOMPARE(obj->isInteractive(), true);
+ QCOMPARE(obj->boundsBehavior(), QSGFlickable::DragAndOvershootBounds);
+ QCOMPARE(obj->pressDelay(), 0);
+ QCOMPARE(obj->maximumFlickVelocity(), 2500.);
+
+ delete obj;
+}
+
+void tst_qsgflickable::horizontalViewportSize()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/flickable02.qml"));
+ QSGFlickable *obj = qobject_cast<QSGFlickable*>(c.create());
+
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->contentWidth(), 800.);
+ QCOMPARE(obj->contentHeight(), 300.);
+ QCOMPARE(obj->isAtXBeginning(), true);
+ QCOMPARE(obj->isAtXEnd(), false);
+ QCOMPARE(obj->isAtYBeginning(), true);
+ QCOMPARE(obj->isAtYEnd(), false);
+
+ delete obj;
+}
+
+void tst_qsgflickable::verticalViewportSize()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/flickable03.qml"));
+ QSGFlickable *obj = qobject_cast<QSGFlickable*>(c.create());
+
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->contentWidth(), 200.);
+ QCOMPARE(obj->contentHeight(), 1200.);
+ QCOMPARE(obj->isAtXBeginning(), true);
+ QCOMPARE(obj->isAtXEnd(), false);
+ QCOMPARE(obj->isAtYBeginning(), true);
+ QCOMPARE(obj->isAtYEnd(), false);
+
+ delete obj;
+}
+
+void tst_qsgflickable::properties()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/flickable04.qml"));
+ QSGFlickable *obj = qobject_cast<QSGFlickable*>(c.create());
+
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->isInteractive(), false);
+ QCOMPARE(obj->boundsBehavior(), QSGFlickable::StopAtBounds);
+ QCOMPARE(obj->pressDelay(), 200);
+ QCOMPARE(obj->maximumFlickVelocity(), 2000.);
+
+ QVERIFY(obj->property("ok").toBool() == false);
+ QMetaObject::invokeMethod(obj, "check");
+ QVERIFY(obj->property("ok").toBool() == true);
+
+ delete obj;
+}
+
+void tst_qsgflickable::boundsBehavior()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0; Flickable { boundsBehavior: Flickable.StopAtBounds }", QUrl::fromLocalFile(""));
+ QSGFlickable *flickable = qobject_cast<QSGFlickable*>(component.create());
+ QSignalSpy spy(flickable, SIGNAL(boundsBehaviorChanged()));
+
+ QVERIFY(flickable);
+ QVERIFY(flickable->boundsBehavior() == QSGFlickable::StopAtBounds);
+
+ flickable->setBoundsBehavior(QSGFlickable::DragAndOvershootBounds);
+ QVERIFY(flickable->boundsBehavior() == QSGFlickable::DragAndOvershootBounds);
+ QCOMPARE(spy.count(),1);
+ flickable->setBoundsBehavior(QSGFlickable::DragAndOvershootBounds);
+ QCOMPARE(spy.count(),1);
+
+ flickable->setBoundsBehavior(QSGFlickable::DragOverBounds);
+ QVERIFY(flickable->boundsBehavior() == QSGFlickable::DragOverBounds);
+ QCOMPARE(spy.count(),2);
+ flickable->setBoundsBehavior(QSGFlickable::DragOverBounds);
+ QCOMPARE(spy.count(),2);
+
+ flickable->setBoundsBehavior(QSGFlickable::StopAtBounds);
+ QVERIFY(flickable->boundsBehavior() == QSGFlickable::StopAtBounds);
+ QCOMPARE(spy.count(),3);
+ flickable->setBoundsBehavior(QSGFlickable::StopAtBounds);
+ QCOMPARE(spy.count(),3);
+}
+
+void tst_qsgflickable::maximumFlickVelocity()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0; Flickable { maximumFlickVelocity: 1.0; }", QUrl::fromLocalFile(""));
+ QSGFlickable *flickable = qobject_cast<QSGFlickable*>(component.create());
+ QSignalSpy spy(flickable, SIGNAL(maximumFlickVelocityChanged()));
+
+ QVERIFY(flickable);
+ QCOMPARE(flickable->maximumFlickVelocity(), 1.0);
+
+ flickable->setMaximumFlickVelocity(2.0);
+ QCOMPARE(flickable->maximumFlickVelocity(), 2.0);
+ QCOMPARE(spy.count(),1);
+ flickable->setMaximumFlickVelocity(2.0);
+ QCOMPARE(spy.count(),1);
+}
+
+void tst_qsgflickable::flickDeceleration()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0; Flickable { flickDeceleration: 1.0; }", QUrl::fromLocalFile(""));
+ QSGFlickable *flickable = qobject_cast<QSGFlickable*>(component.create());
+ QSignalSpy spy(flickable, SIGNAL(flickDecelerationChanged()));
+
+ QVERIFY(flickable);
+ QCOMPARE(flickable->flickDeceleration(), 1.0);
+
+ flickable->setFlickDeceleration(2.0);
+ QCOMPARE(flickable->flickDeceleration(), 2.0);
+ QCOMPARE(spy.count(),1);
+ flickable->setFlickDeceleration(2.0);
+ QCOMPARE(spy.count(),1);
+}
+
+void tst_qsgflickable::pressDelay()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0; Flickable { pressDelay: 100; }", QUrl::fromLocalFile(""));
+ QSGFlickable *flickable = qobject_cast<QSGFlickable*>(component.create());
+ QSignalSpy spy(flickable, SIGNAL(pressDelayChanged()));
+
+ QVERIFY(flickable);
+ QCOMPARE(flickable->pressDelay(), 100);
+
+ flickable->setPressDelay(200);
+ QCOMPARE(flickable->pressDelay(), 200);
+ QCOMPARE(spy.count(),1);
+ flickable->setPressDelay(200);
+ QCOMPARE(spy.count(),1);
+}
+
+// QT-4677
+void tst_qsgflickable::disabledContent()
+{
+ QSGView *canvas = new QSGView;
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/disabledcontent.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGFlickable *flickable = qobject_cast<QSGFlickable*>(canvas->rootObject());
+ QVERIFY(flickable != 0);
+
+ QVERIFY(flickable->contentX() == 0);
+ QVERIFY(flickable->contentY() == 0);
+
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(50, 50));
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(70,70), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(canvas, &mv);
+ }
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(90,90), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(canvas, &mv);
+ }
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(100,100), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(canvas, &mv);
+ }
+
+ QVERIFY(flickable->contentX() < 0);
+ QVERIFY(flickable->contentY() < 0);
+
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(90, 90));
+
+ delete canvas;
+}
+
+
+// QTBUG-17361
+void tst_qsgflickable::nestedPressDelay()
+{
+ QSGView *canvas = new QSGView;
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/nestedPressDelay.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGFlickable *outer = qobject_cast<QSGFlickable*>(canvas->rootObject());
+ QVERIFY(outer != 0);
+
+ QSGFlickable *inner = canvas->rootObject()->findChild<QSGFlickable*>("innerFlickable");
+ QVERIFY(inner != 0);
+
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(150, 150));
+ // the MouseArea is not pressed immediately
+ QVERIFY(outer->property("pressed").toBool() == false);
+
+ // The outer pressDelay will prevail (50ms, vs. 10sec)
+ // QTRY_VERIFY() has 5sec timeout, so will timeout well within 10sec.
+ QTRY_VERIFY(outer->property("pressed").toBool() == true);
+
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(150, 150));
+
+ delete canvas;
+}
+
+void tst_qsgflickable::flickableDirection()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0; Flickable { flickableDirection: Flickable.VerticalFlick; }", QUrl::fromLocalFile(""));
+ QSGFlickable *flickable = qobject_cast<QSGFlickable*>(component.create());
+ QSignalSpy spy(flickable, SIGNAL(flickableDirectionChanged()));
+
+ QVERIFY(flickable);
+ QCOMPARE(flickable->flickableDirection(), QSGFlickable::VerticalFlick);
+
+ flickable->setFlickableDirection(QSGFlickable::HorizontalAndVerticalFlick);
+ QCOMPARE(flickable->flickableDirection(), QSGFlickable::HorizontalAndVerticalFlick);
+ QCOMPARE(spy.count(),1);
+
+ flickable->setFlickableDirection(QSGFlickable::AutoFlickDirection);
+ QCOMPARE(flickable->flickableDirection(), QSGFlickable::AutoFlickDirection);
+ QCOMPARE(spy.count(),2);
+
+ flickable->setFlickableDirection(QSGFlickable::HorizontalFlick);
+ QCOMPARE(flickable->flickableDirection(), QSGFlickable::HorizontalFlick);
+ QCOMPARE(spy.count(),3);
+
+ flickable->setFlickableDirection(QSGFlickable::HorizontalFlick);
+ QCOMPARE(flickable->flickableDirection(), QSGFlickable::HorizontalFlick);
+ QCOMPARE(spy.count(),3);
+}
+
+// QtQuick 1.1
+void tst_qsgflickable::resizeContent()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/resize.qml"));
+ QSGItem *root = qobject_cast<QSGItem*>(c.create());
+ QSGFlickable *obj = findItem<QSGFlickable>(root, "flick");
+
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->contentX(), 0.);
+ QCOMPARE(obj->contentY(), 0.);
+ QCOMPARE(obj->contentWidth(), 300.);
+ QCOMPARE(obj->contentHeight(), 300.);
+
+ QMetaObject::invokeMethod(root, "resizeContent");
+
+ QCOMPARE(obj->contentX(), 100.);
+ QCOMPARE(obj->contentY(), 100.);
+ QCOMPARE(obj->contentWidth(), 600.);
+ QCOMPARE(obj->contentHeight(), 600.);
+
+ delete root;
+}
+
+// QtQuick 1.1
+void tst_qsgflickable::returnToBounds()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/resize.qml"));
+ QSGItem *root = qobject_cast<QSGItem*>(c.create());
+ QSGFlickable *obj = findItem<QSGFlickable>(root, "flick");
+
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->contentX(), 0.);
+ QCOMPARE(obj->contentY(), 0.);
+ QCOMPARE(obj->contentWidth(), 300.);
+ QCOMPARE(obj->contentHeight(), 300.);
+
+ obj->setContentX(100);
+ obj->setContentY(400);
+ QTRY_COMPARE(obj->contentX(), 100.);
+ QTRY_COMPARE(obj->contentY(), 400.);
+
+ QMetaObject::invokeMethod(root, "returnToBounds");
+
+ QTRY_COMPARE(obj->contentX(), 0.);
+ QTRY_COMPARE(obj->contentY(), 0.);
+
+ delete root;
+}
+
+void tst_qsgflickable::wheel()
+{
+ QSGView *canvas = new QSGView;
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/wheel.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGFlickable *flick = canvas->rootObject()->findChild<QSGFlickable*>("flick");
+ QVERIFY(flick != 0);
+
+ {
+ QWheelEvent event(QPoint(200, 200), -120, Qt::NoButton, Qt::NoModifier, Qt::Vertical);
+ event.setAccepted(false);
+ QApplication::sendEvent(canvas, &event);
+ }
+
+ QTRY_VERIFY(flick->contentY() > 0);
+ QVERIFY(flick->contentX() == 0);
+
+ flick->setContentY(0);
+ QVERIFY(flick->contentY() == 0);
+
+ {
+ QWheelEvent event(QPoint(200, 200), -120, Qt::NoButton, Qt::NoModifier, Qt::Horizontal);
+ event.setAccepted(false);
+ QApplication::sendEvent(canvas, &event);
+ }
+
+ QTRY_VERIFY(flick->contentX() > 0);
+ QVERIFY(flick->contentY() == 0);
+
+ delete canvas;
+}
+
+
+template<typename T>
+T *tst_qsgflickable::findItem(QSGItem *parent, const QString &objectName)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->childItems().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ return static_cast<T*>(item);
+ }
+ item = findItem<T>(item, objectName);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
+
+QTEST_MAIN(tst_qsgflickable)
+
+#include "tst_qsgflickable.moc"
diff --git a/tests/auto/declarative/qsgflipable/data/crash.qml b/tests/auto/declarative/qsgflipable/data/crash.qml
new file mode 100644
index 0000000000..a0327918cb
--- /dev/null
+++ b/tests/auto/declarative/qsgflipable/data/crash.qml
@@ -0,0 +1,9 @@
+import QtQuick 2.0
+
+Flipable {
+ transform: Rotation {
+ axis.y: 1
+ axis.z: 0
+ angle: 180
+ }
+}
diff --git a/tests/auto/declarative/qsgflipable/data/flipable-abort.qml b/tests/auto/declarative/qsgflipable/data/flipable-abort.qml
new file mode 100644
index 0000000000..90fc03a5f9
--- /dev/null
+++ b/tests/auto/declarative/qsgflipable/data/flipable-abort.qml
@@ -0,0 +1,10 @@
+import QtQuick 2.0
+
+Rectangle {
+ Flipable {
+ id: flipable
+ }
+ Rectangle {
+ visible: flipable.side == Flipable.Front
+ }
+}
diff --git a/tests/auto/declarative/qsgflipable/data/test-flipable.qml b/tests/auto/declarative/qsgflipable/data/test-flipable.qml
new file mode 100644
index 0000000000..dff6d3fe39
--- /dev/null
+++ b/tests/auto/declarative/qsgflipable/data/test-flipable.qml
@@ -0,0 +1,9 @@
+import QtQuick 2.0
+
+Flipable {
+ id: flipable
+ width: 640; height: 480
+
+ front: Rectangle { anchors.fill: flipable }
+ back: Rectangle { anchors.fill: flipable }
+}
diff --git a/tests/auto/declarative/qsgflipable/qsgflipable.pro b/tests/auto/declarative/qsgflipable/qsgflipable.pro
new file mode 100644
index 0000000000..6cd52ec85f
--- /dev/null
+++ b/tests/auto/declarative/qsgflipable/qsgflipable.pro
@@ -0,0 +1,18 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsgflipable.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
+QT += script-private
diff --git a/tests/auto/declarative/qsgflipable/tst_qsgflipable.cpp b/tests/auto/declarative/qsgflipable/tst_qsgflipable.cpp
new file mode 100644
index 0000000000..a5e8105405
--- /dev/null
+++ b/tests/auto/declarative/qsgflipable/tst_qsgflipable.cpp
@@ -0,0 +1,158 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qsgview.h>
+#include <private/qsgflipable_p.h>
+#include <private/qdeclarativevaluetype_p.h>
+#include <QFontMetrics>
+#include <private/qsgrectangle_p.h>
+#include <math.h>
+#include <QtOpenGL/QGLShaderProgram>
+
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_qsgflipable : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qsgflipable();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void create();
+ void checkFrontAndBack();
+ void setFrontAndBack();
+
+ // below here task issues
+ void QTBUG_9161_crash();
+ void QTBUG_8474_qgv_abort();
+
+private:
+ QDeclarativeEngine engine;
+};
+
+tst_qsgflipable::tst_qsgflipable()
+{
+}
+void tst_qsgflipable::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("Flipable item needs OpenGL 2.0", SkipAll);
+}
+
+void tst_qsgflipable::cleanupTestCase()
+{
+
+}
+
+void tst_qsgflipable::create()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/test-flipable.qml"));
+ QSGFlipable *obj = qobject_cast<QSGFlipable*>(c.create());
+
+ QVERIFY(obj != 0);
+ delete obj;
+}
+
+void tst_qsgflipable::checkFrontAndBack()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/test-flipable.qml"));
+ QSGFlipable *obj = qobject_cast<QSGFlipable*>(c.create());
+
+ QVERIFY(obj != 0);
+ QVERIFY(obj->front() != 0);
+ QVERIFY(obj->back() != 0);
+ delete obj;
+}
+
+void tst_qsgflipable::setFrontAndBack()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/test-flipable.qml"));
+ QSGFlipable *obj = qobject_cast<QSGFlipable*>(c.create());
+
+ QVERIFY(obj != 0);
+ QVERIFY(obj->front() != 0);
+ QVERIFY(obj->back() != 0);
+
+ QString message = c.url().toString() + ":3:1: QML Flipable: front is a write-once property";
+ QTest::ignoreMessage(QtWarningMsg, qPrintable(message));
+ obj->setFront(new QSGRectangle());
+
+ message = c.url().toString() + ":3:1: QML Flipable: back is a write-once property";
+ QTest::ignoreMessage(QtWarningMsg, qPrintable(message));
+ obj->setBack(new QSGRectangle());
+ delete obj;
+}
+
+void tst_qsgflipable::QTBUG_9161_crash()
+{
+ QSGView *canvas = new QSGView;
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/crash.qml"));
+ QSGItem *root = canvas->rootObject();
+ QVERIFY(root != 0);
+ canvas->show();
+ delete canvas;
+}
+
+void tst_qsgflipable::QTBUG_8474_qgv_abort()
+{
+ QSGView *canvas = new QSGView;
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/flipable-abort.qml"));
+ QSGItem *root = canvas->rootObject();
+ QVERIFY(root != 0);
+ canvas->show();
+ delete canvas;
+}
+
+QTEST_MAIN(tst_qsgflipable)
+
+#include "tst_qsgflipable.moc"
diff --git a/tests/auto/declarative/qsgfocusscope/data/canvasFocus.qml b/tests/auto/declarative/qsgfocusscope/data/canvasFocus.qml
new file mode 100644
index 0000000000..7d8dac5a22
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/canvasFocus.qml
@@ -0,0 +1,22 @@
+import QtQuick 2.0
+
+Column {
+ FocusScope {
+ objectName: "scope1"
+ width: 20 ;height: 20
+ focus: true
+ Rectangle {
+ objectName: "item1"
+ anchors.fill: parent
+ focus: true
+ }
+ }
+ FocusScope {
+ objectName: "scope2"
+ width: 20 ;height: 20
+ Rectangle {
+ objectName: "item2"
+ anchors.fill: parent
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgfocusscope/data/chain.qml b/tests/auto/declarative/qsgfocusscope/data/chain.qml
new file mode 100644
index 0000000000..4b96662318
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/chain.qml
@@ -0,0 +1,28 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: root
+ width:300; height:400
+
+ property bool focus1: root.activeFocus
+ property bool focus2: item1.activeFocus
+ property bool focus3: fs1.activeFocus
+ property bool focus4: fs2.activeFocus
+ property bool focus5: theItem.activeFocus
+
+ Item {
+ id: item1
+ FocusScope {
+ id: fs1
+ focus: true
+ FocusScope {
+ id: fs2
+ focus: true
+ Item {
+ id: theItem
+ focus: true
+ }
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgfocusscope/data/forceActiveFocus.qml b/tests/auto/declarative/qsgfocusscope/data/forceActiveFocus.qml
new file mode 100644
index 0000000000..74d2106888
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/forceActiveFocus.qml
@@ -0,0 +1,26 @@
+import QtQuick 2.0
+
+Rectangle {
+ objectName: "root"
+ FocusScope {
+ objectName: "scope"
+ Item {
+ objectName: "item-a1"
+ FocusScope {
+ objectName: "scope-a"
+ Item {
+ objectName: "item-a2"
+ }
+ }
+ }
+ Item {
+ objectName: "item-b1"
+ FocusScope {
+ objectName: "scope-b"
+ Item {
+ objectName: "item-b2"
+ }
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgfocusscope/data/forcefocus.qml b/tests/auto/declarative/qsgfocusscope/data/forcefocus.qml
new file mode 100644
index 0000000000..f41582a951
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/forcefocus.qml
@@ -0,0 +1,81 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 800; height: 600
+
+ FocusScope {
+ focus: true
+
+ FocusScope {
+ id: firstScope
+ objectName: "item0"
+ focus: true
+
+ Rectangle {
+ height: 120; width: 420
+
+ color: "transparent"
+ border.width: 5; border.color: firstScope.activeFocus?"blue":"black"
+
+ Rectangle {
+ id: item1; objectName: "item1"
+ x: 10; y: 10; width: 100; height: 100; color: "green"
+ border.width: 5; border.color: activeFocus?"blue":"black"
+ focus: true
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+
+ Rectangle {
+ id: item2; objectName: "item2"
+ x: 310; y: 10; width: 100; height: 100; color: "green"
+ border.width: 5; border.color: activeFocus?"blue":"black"
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+ }
+ }
+
+ FocusScope {
+ id: secondScope
+ objectName: "item3"
+
+ Rectangle {
+ y: 160; height: 120; width: 420
+
+ color: "transparent"
+ border.width: 5; border.color: secondScope.activeFocus?"blue":"black"
+
+ Rectangle {
+ id: item4; objectName: "item4"
+ x: 10; y: 10; width: 100; height: 100; color: "green"
+ border.width: 5; border.color: activeFocus?"blue":"black"
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+
+ Rectangle {
+ id: item5; objectName: "item5"
+ x: 310; y: 10; width: 100; height: 100; color: "green"
+ border.width: 5; border.color: activeFocus?"blue":"black"
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+ }
+ }
+ }
+ Keys.onDigit4Pressed: item4.focus = true
+ Keys.onDigit5Pressed: item5.forceActiveFocus()
+}
diff --git a/tests/auto/declarative/qsgfocusscope/data/qtBug13380.qml b/tests/auto/declarative/qsgfocusscope/data/qtBug13380.qml
new file mode 100644
index 0000000000..29de046b38
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/qtBug13380.qml
@@ -0,0 +1,24 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 400; height: 400
+
+ property bool showRect: false
+ onShowRectChanged: if (showRect) rect.visible = true
+ property bool noFocus: !fs2.activeFocus
+
+ FocusScope {
+ id: fs1
+ focus: true
+ }
+ Rectangle {
+ id: rect
+ visible: false
+ FocusScope {
+ id: fs2
+ Rectangle {
+ focus: true
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgfocusscope/data/signalEmission.qml b/tests/auto/declarative/qsgfocusscope/data/signalEmission.qml
new file mode 100644
index 0000000000..999a40c5ad
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/signalEmission.qml
@@ -0,0 +1,33 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 200
+ height: 200
+
+ FocusScope {
+ focus: true
+ Rectangle {
+ objectName: "item1"
+ color: "blue"
+ onFocusChanged: focus ? color = "red" : color = "blue"
+ }
+ Rectangle {
+ objectName: "item2"
+ color: "blue"
+ onFocusChanged: focus ? color = "red" : color = "blue"
+ }
+ }
+
+ FocusScope {
+ Rectangle {
+ objectName: "item3"
+ color: "blue"
+ onFocusChanged: focus ? color = "red" : color = "blue"
+ }
+ Rectangle {
+ objectName: "item4"
+ color: "blue"
+ onFocusChanged: focus ? color = "red" : color = "blue"
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgfocusscope/data/test.qml b/tests/auto/declarative/qsgfocusscope/data/test.qml
new file mode 100644
index 0000000000..67be29c3fb
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/test.qml
@@ -0,0 +1,77 @@
+import QtQuick 2.0
+
+Rectangle {
+ color: "white"
+ width: 800
+ height: 600
+
+ Keys.onDigit9Pressed: console.log("Error - Root")
+
+ FocusScope {
+ id: myScope
+ objectName: "item0"
+ focus: true
+
+ Keys.onDigit9Pressed: console.log("Error - FocusScope")
+
+ Rectangle {
+ height: 120
+ width: 420
+
+ color: "transparent"
+ border.width: 5
+ border.color: myScope.activeFocus?"blue":"black"
+
+ Rectangle {
+ id: item1; objectName: "item1"
+ x: 10; y: 10
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: activeFocus?"blue":"black"
+ Keys.onDigit9Pressed: console.debug("Top Left");
+ KeyNavigation.right: item2
+ focus: true
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+
+ Rectangle {
+ id: item2; objectName: "item2"
+ x: 310; y: 10
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: activeFocus?"blue":"black"
+ KeyNavigation.left: item1
+ Keys.onDigit9Pressed: console.log("Top Right");
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+ }
+ KeyNavigation.down: item3
+ }
+
+ Text { x:100; y:170; text: "Blue border indicates scoped focus\nBlack border indicates NOT scoped focus\nRed box indicates active focus\nUse arrow keys to navigate\nPress \"9\" to print currently focused item" }
+
+ Rectangle {
+ id: item3; objectName: "item3"
+ x: 10; y: 300
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: activeFocus?"blue":"black"
+
+ Keys.onDigit9Pressed: console.log("Bottom Left");
+ KeyNavigation.up: myScope
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+
+}
diff --git a/tests/auto/declarative/qsgfocusscope/data/test2.qml b/tests/auto/declarative/qsgfocusscope/data/test2.qml
new file mode 100644
index 0000000000..ad74f3e9f4
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/test2.qml
@@ -0,0 +1,39 @@
+import QtQuick 2.0
+
+Rectangle {
+ color: "white"
+ width: 800
+ height: 600
+
+ Text { text: "All five rectangles should be red" }
+
+ FocusScope {
+ y: 100
+ focus: true; objectName: "item1"
+ Rectangle { width: 50; height: 50; color: parent.activeFocus?"red":"blue" }
+
+ FocusScope {
+ y: 100
+ focus: true; objectName: "item2"
+ Rectangle { width: 50; height: 50; color: parent.activeFocus?"red":"blue" }
+
+ FocusScope {
+ y: 100
+ focus: true; objectName: "item3"
+ Rectangle { width: 50; height: 50; color: parent.activeFocus?"red":"blue" }
+
+ FocusScope {
+ y: 100
+ focus: true; objectName: "item4"
+ Rectangle { width: 50; height: 50; color: parent.activeFocus?"red":"blue" }
+
+ FocusScope {
+ y: 100
+ focus: true; objectName: "item5"
+ Rectangle { width: 50; height: 50; color: parent.activeFocus?"red":"blue" }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgfocusscope/data/test3.qml b/tests/auto/declarative/qsgfocusscope/data/test3.qml
new file mode 100644
index 0000000000..537c30816e
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/test3.qml
@@ -0,0 +1,52 @@
+import QtQuick 2.0
+
+Rectangle {
+ color: "white"
+ width: 800
+ height: 600
+
+ ListModel {
+ id: model
+ ListElement { name: "1" }
+ ListElement { name: "2" }
+ ListElement { name: "3" }
+ ListElement { name: "4" }
+ ListElement { name: "5" }
+ ListElement { name: "6" }
+ ListElement { name: "7" }
+ ListElement { name: "8" }
+ ListElement { name: "9" }
+ }
+
+ Component {
+ id: verticalDelegate
+ FocusScope {
+ id: root
+ width: 50; height: 50;
+ Keys.onDigit9Pressed: console.log("Error - " + name)
+ Rectangle {
+ focus: true
+ Keys.onDigit9Pressed: console.log(name)
+ width: 50; height: 50;
+ color: root.ListView.isCurrentItem?"red":"green"
+ Text { text: name; anchors.centerIn: parent }
+ }
+ }
+ }
+
+ ListView {
+ width: 800; height: 50; orientation: "Horizontal"
+ focus: true
+ model: model
+ delegate: verticalDelegate
+ preferredHighlightBegin: 100
+ preferredHighlightEnd: 100
+ highlightRangeMode: "StrictlyEnforceRange"
+ }
+
+
+ Text {
+ y: 100; x: 50
+ text: "Currently selected element should be red\nPressing \"9\" should print the number of the currently selected item\nBe sure to scroll all the way to the right, pause, and then all the way to the left."
+ }
+}
diff --git a/tests/auto/declarative/qsgfocusscope/data/test4.qml b/tests/auto/declarative/qsgfocusscope/data/test4.qml
new file mode 100644
index 0000000000..0eea649f5d
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/test4.qml
@@ -0,0 +1,76 @@
+import QtQuick 2.0
+
+Rectangle {
+ color: "white"
+ width: 800
+ height: 600
+
+ Keys.onDigit9Pressed: console.log("Error - Root")
+
+ FocusScope {
+ id: myScope
+
+ Keys.onDigit9Pressed: console.log("Error - FocusScope")
+
+ Rectangle {
+ objectName: "item0"
+ height: 120
+ width: 420
+
+ color: "transparent"
+ border.width: 5
+ border.color: myScope.activeFocus?"blue":"black"
+
+ Rectangle {
+ id: item1; objectName: "item1"
+ x: 10; y: 10
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: activeFocus?"blue":"black"
+ Keys.onDigit9Pressed: console.log("Error - Top Left");
+ KeyNavigation.right: item2
+ focus: true
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+
+ Rectangle {
+ id: item2; objectName: "item2"
+ x: 310; y: 10
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: activeFocus?"blue":"black"
+ KeyNavigation.left: item1
+ Keys.onDigit9Pressed: console.log("Error - Top Right");
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+ }
+ KeyNavigation.down: item3
+ }
+
+ Text { x:100; y:170; text: "There should be no blue borders, or red squares.\nPressing \"9\" should do nothing.\nArrow keys should have no effect." }
+
+ Rectangle {
+ id: item3; objectName: "item3"
+ x: 10; y: 300
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: activeFocus?"blue":"black"
+
+ Keys.onDigit9Pressed: console.log("Error - Bottom Left");
+ KeyNavigation.up: myScope
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+
+}
diff --git a/tests/auto/declarative/qsgfocusscope/data/test5.qml b/tests/auto/declarative/qsgfocusscope/data/test5.qml
new file mode 100644
index 0000000000..9c37cd1303
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/data/test5.qml
@@ -0,0 +1,84 @@
+import QtQuick 2.0
+
+Rectangle {
+ color: "white"
+ width: 800
+ height: 600
+
+ Keys.onReturnPressed: console.log("Error - Root")
+
+ FocusScope {
+ id: myScope
+ objectName: "item0"
+ focus: true
+
+ Keys.onReturnPressed: console.log("Error - FocusScope")
+
+ Rectangle {
+ height: 120
+ width: 420
+
+ color: "transparent"
+ border.width: 5
+ border.color: myScope.activeFocus?"blue":"black"
+
+ Rectangle {
+ x: 10; y: 10
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: item1.activeFocus?"blue":"black"
+ }
+
+ TextEdit {
+ id: item1; objectName: "item1"
+ x: 20; y: 20
+ width: 90; height: 90
+ color: "white"
+ font.pixelSize: 20
+ Keys.onReturnPressed: console.log("Top Left");
+ KeyNavigation.right: item2
+ focus: true
+ wrapMode: TextEdit.WordWrap
+ text: "Box 1"
+ }
+
+ Rectangle {
+ id: item2; objectName: "item2"
+ x: 310; y: 10
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: activeFocus?"blue":"black"
+ KeyNavigation.left: item1
+ Keys.onReturnPressed: console.log("Top Right");
+
+ Rectangle {
+ width: 50; height: 50; anchors.centerIn: parent
+ color: parent.activeFocus?"red":"transparent"
+ }
+ }
+ }
+ KeyNavigation.down: item3
+ }
+
+ Text { x:100; y:170; text: "Blue border indicates scoped focus\nBlack border indicates NOT scoped focus\nRed box or flashing cursor indicates active focus\nUse arrow keys to navigate\nPress Ctrl-Return to print currently focused item" }
+
+ Rectangle {
+ x: 10; y: 300
+ width: 100; height: 100; color: "green"
+ border.width: 5
+ border.color: item3.activeFocus?"blue":"black"
+ }
+
+ TextEdit {
+ id: item3; objectName: "item3"
+ x: 20; y: 310
+ width: 90; height: 90
+ color: "white"
+ font.pixelSize: 20
+ text: "Box 3"
+
+ Keys.onReturnPressed: console.log("Bottom Left");
+ KeyNavigation.up: myScope
+ wrapMode: TextEdit.WordWrap
+ }
+}
diff --git a/tests/auto/declarative/qsgfocusscope/qsgfocusscope.pro b/tests/auto/declarative/qsgfocusscope/qsgfocusscope.pro
new file mode 100644
index 0000000000..b5d1815e11
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/qsgfocusscope.pro
@@ -0,0 +1,14 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+SOURCES += tst_qsgfocusscope.cpp
+macx:CONFIG -= app_bundle
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp b/tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp
new file mode 100644
index 0000000000..bd52052e21
--- /dev/null
+++ b/tests/auto/declarative/qsgfocusscope/tst_qsgfocusscope.cpp
@@ -0,0 +1,703 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QSignalSpy>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qsgview.h>
+#include <private/qsgrectangle_p.h>
+#include <private/qsgtextedit_p.h>
+#include <private/qsgtext_p.h>
+#include <QtDeclarative/private/qsgfocusscope_p.h>
+#include "../../../shared/util.h"
+#include <QtOpenGL/QGLShaderProgram>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_qsgfocusscope : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qsgfocusscope() {}
+
+ template<typename T>
+ T *findItem(QSGItem *parent, const QString &id);
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void basic();
+ void nested();
+ void noFocus();
+ void textEdit();
+ void forceFocus();
+ void noParentFocus();
+ void signalEmission();
+ void qtBug13380();
+ void forceActiveFocus();
+ void canvasFocus();
+};
+void tst_qsgfocusscope::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("FocusScope item needs OpenGL 2.0", SkipAll);
+}
+
+void tst_qsgfocusscope::cleanupTestCase()
+{
+
+}
+
+/*
+ Find an item with the specified id.
+*/
+template<typename T>
+T *tst_qsgfocusscope::findItem(QSGItem *parent, const QString &objectName)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ QList<QSGItem *> children = parent->childItems();
+ for (int i = 0; i < children.count(); ++i) {
+ QSGItem *item = children.at(i);
+ if (item) {
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ return static_cast<T*>(item);
+ }
+ item = findItem<T>(item, objectName);
+ if (item)
+ return static_cast<T*>(item);
+ }
+ }
+ return 0;
+}
+
+void tst_qsgfocusscope::basic()
+{
+ QSGView *view = new QSGView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/test.qml"));
+
+ QSGFocusScope *item0 = findItem<QSGFocusScope>(view->rootObject(), QLatin1String("item0"));
+ QSGRectangle *item1 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item1"));
+ QSGRectangle *item2 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item2"));
+ QSGRectangle *item3 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item3"));
+ QVERIFY(item0 != 0);
+ QVERIFY(item1 != 0);
+ QVERIFY(item2 != 0);
+ QVERIFY(item3 != 0);
+
+ view->show();
+ qApp->setActiveWindow(view);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(view);
+#endif
+
+ QVERIFY(view->hasFocus());
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
+
+ QTest::keyClick(view, Qt::Key_Right);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == true);
+ QVERIFY(item3->hasActiveFocus() == false);
+
+ QTest::keyClick(view, Qt::Key_Down);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == true);
+
+ delete view;
+}
+
+void tst_qsgfocusscope::nested()
+{
+ QSGView *view = new QSGView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/test2.qml"));
+
+ QSGFocusScope *item1 = findItem<QSGFocusScope>(view->rootObject(), QLatin1String("item1"));
+ QSGFocusScope *item2 = findItem<QSGFocusScope>(view->rootObject(), QLatin1String("item2"));
+ QSGFocusScope *item3 = findItem<QSGFocusScope>(view->rootObject(), QLatin1String("item3"));
+ QSGFocusScope *item4 = findItem<QSGFocusScope>(view->rootObject(), QLatin1String("item4"));
+ QSGFocusScope *item5 = findItem<QSGFocusScope>(view->rootObject(), QLatin1String("item5"));
+ QVERIFY(item1 != 0);
+ QVERIFY(item2 != 0);
+ QVERIFY(item3 != 0);
+ QVERIFY(item4 != 0);
+ QVERIFY(item5 != 0);
+
+ view->show();
+ qApp->setActiveWindow(view);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(view);
+#endif
+
+ QVERIFY(view->hasFocus());
+
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == true);
+ QVERIFY(item3->hasActiveFocus() == true);
+ QVERIFY(item4->hasActiveFocus() == true);
+ QVERIFY(item5->hasActiveFocus() == true);
+ delete view;
+}
+
+void tst_qsgfocusscope::noFocus()
+{
+ QSGView *view = new QSGView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/test4.qml"));
+
+ QSGRectangle *item0 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item0"));
+ QSGRectangle *item1 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item1"));
+ QSGRectangle *item2 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item2"));
+ QSGRectangle *item3 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item3"));
+ QVERIFY(item0 != 0);
+ QVERIFY(item1 != 0);
+ QVERIFY(item2 != 0);
+ QVERIFY(item3 != 0);
+
+ view->show();
+ qApp->setActiveWindow(view);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(view);
+#endif
+
+ QVERIFY(view->hasFocus());
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
+
+ QTest::keyClick(view, Qt::Key_Right);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
+
+ QTest::keyClick(view, Qt::Key_Down);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
+
+ delete view;
+}
+
+void tst_qsgfocusscope::textEdit()
+{
+ QSGView *view = new QSGView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/test5.qml"));
+
+ QSGFocusScope *item0 = findItem<QSGFocusScope>(view->rootObject(), QLatin1String("item0"));
+ QSGTextEdit *item1 = findItem<QSGTextEdit>(view->rootObject(), QLatin1String("item1"));
+ QSGRectangle *item2 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item2"));
+ QSGTextEdit *item3 = findItem<QSGTextEdit>(view->rootObject(), QLatin1String("item3"));
+ QVERIFY(item0 != 0);
+ QVERIFY(item1 != 0);
+ QVERIFY(item2 != 0);
+ QVERIFY(item3 != 0);
+
+ view->show();
+ qApp->setActiveWindow(view);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(view);
+#endif
+
+ QVERIFY(view->hasFocus());
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
+
+ QTest::keyClick(view, Qt::Key_Right);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
+
+ QTest::keyClick(view, Qt::Key_Right);
+ QTest::keyClick(view, Qt::Key_Right);
+ QTest::keyClick(view, Qt::Key_Right);
+ QTest::keyClick(view, Qt::Key_Right);
+ QTest::keyClick(view, Qt::Key_Right);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == true);
+ QVERIFY(item3->hasActiveFocus() == false);
+
+ QTest::keyClick(view, Qt::Key_Down);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == true);
+
+ delete view;
+}
+
+void tst_qsgfocusscope::forceFocus()
+{
+ QSGView *view = new QSGView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/forcefocus.qml"));
+
+ QSGFocusScope *item0 = findItem<QSGFocusScope>(view->rootObject(), QLatin1String("item0"));
+ QSGRectangle *item1 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item1"));
+ QSGRectangle *item2 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item2"));
+ QSGFocusScope *item3 = findItem<QSGFocusScope>(view->rootObject(), QLatin1String("item3"));
+ QSGRectangle *item4 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item4"));
+ QSGRectangle *item5 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item5"));
+ QVERIFY(item0 != 0);
+ QVERIFY(item1 != 0);
+ QVERIFY(item2 != 0);
+ QVERIFY(item3 != 0);
+ QVERIFY(item4 != 0);
+ QVERIFY(item5 != 0);
+
+ view->show();
+ qApp->setActiveWindow(view);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(view);
+#endif
+
+ QVERIFY(view->hasFocus());
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
+ QVERIFY(item4->hasActiveFocus() == false);
+ QVERIFY(item5->hasActiveFocus() == false);
+
+ QTest::keyClick(view, Qt::Key_4);
+ QVERIFY(item0->hasActiveFocus() == true);
+ QVERIFY(item1->hasActiveFocus() == true);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == false);
+ QVERIFY(item4->hasActiveFocus() == false);
+ QVERIFY(item5->hasActiveFocus() == false);
+
+ QTest::keyClick(view, Qt::Key_5);
+ QVERIFY(item0->hasActiveFocus() == false);
+ QVERIFY(item1->hasActiveFocus() == false);
+ QVERIFY(item2->hasActiveFocus() == false);
+ QVERIFY(item3->hasActiveFocus() == true);
+ QVERIFY(item4->hasActiveFocus() == false);
+ QVERIFY(item5->hasActiveFocus() == true);
+
+ delete view;
+}
+
+void tst_qsgfocusscope::noParentFocus()
+{
+ QSGView *view = new QSGView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/chain.qml"));
+ QVERIFY(view->rootObject());
+
+ view->show();
+ qApp->setActiveWindow(view);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(view);
+#endif
+
+ QVERIFY(view->rootObject()->property("focus1") == false);
+ QVERIFY(view->rootObject()->property("focus2") == false);
+ QVERIFY(view->rootObject()->property("focus3") == true);
+ QVERIFY(view->rootObject()->property("focus4") == true);
+ QVERIFY(view->rootObject()->property("focus5") == true);
+
+ delete view;
+}
+
+void tst_qsgfocusscope::signalEmission()
+{
+ QSGView *view = new QSGView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/signalEmission.qml"));
+
+ QSGRectangle *item1 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item1"));
+ QSGRectangle *item2 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item2"));
+ QSGRectangle *item3 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item3"));
+ QSGRectangle *item4 = findItem<QSGRectangle>(view->rootObject(), QLatin1String("item4"));
+ QVERIFY(item1 != 0);
+ QVERIFY(item2 != 0);
+ QVERIFY(item3 != 0);
+ QVERIFY(item4 != 0);
+
+ view->show();
+ qApp->setActiveWindow(view);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(view);
+#endif
+
+ QVariant blue(QColor("blue"));
+ QVariant red(QColor("red"));
+
+ QVERIFY(view->hasFocus());
+ item1->setFocus(true);
+ QCOMPARE(item1->property("color"), red);
+ QCOMPARE(item2->property("color"), blue);
+ QCOMPARE(item3->property("color"), blue);
+ QCOMPARE(item4->property("color"), blue);
+
+ item2->setFocus(true);
+ QCOMPARE(item1->property("color"), blue);
+ QCOMPARE(item2->property("color"), red);
+ QCOMPARE(item3->property("color"), blue);
+ QCOMPARE(item4->property("color"), blue);
+
+ item3->setFocus(true);
+ QCOMPARE(item1->property("color"), blue);
+ QCOMPARE(item2->property("color"), red);
+ QCOMPARE(item3->property("color"), red);
+ QCOMPARE(item4->property("color"), blue);
+
+ item4->setFocus(true);
+ QCOMPARE(item1->property("color"), blue);
+ QCOMPARE(item2->property("color"), red);
+ QCOMPARE(item3->property("color"), blue);
+ QCOMPARE(item4->property("color"), red);
+
+ item4->setFocus(false);
+ QCOMPARE(item1->property("color"), blue);
+ QCOMPARE(item2->property("color"), red);
+ QCOMPARE(item3->property("color"), blue);
+ QCOMPARE(item4->property("color"), blue);
+
+ delete view;
+}
+
+void tst_qsgfocusscope::qtBug13380()
+{
+ QSGView *view = new QSGView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/qtBug13380.qml"));
+
+ view->show();
+ QVERIFY(view->rootObject());
+ qApp->setActiveWindow(view);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(view);
+#endif
+
+ QVERIFY(view->hasFocus());
+ QVERIFY(view->rootObject()->property("noFocus").toBool());
+
+ view->rootObject()->setProperty("showRect", true);
+ QVERIFY(view->rootObject()->property("noFocus").toBool());
+
+ delete view;
+}
+
+void tst_qsgfocusscope::forceActiveFocus()
+{
+ QSGView *view = new QSGView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/forceActiveFocus.qml"));
+
+ view->show();
+ qApp->setActiveWindow(view);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(view);
+#endif
+
+ QSGItem *rootObject = view->rootObject();
+ QVERIFY(rootObject);
+
+ QSGItem *scope = findItem<QSGItem>(rootObject, QLatin1String("scope"));
+ QSGItem *itemA1 = findItem<QSGItem>(rootObject, QLatin1String("item-a1"));
+ QSGItem *scopeA = findItem<QSGItem>(rootObject, QLatin1String("scope-a"));
+ QSGItem *itemA2 = findItem<QSGItem>(rootObject, QLatin1String("item-a2"));
+ QSGItem *itemB1 = findItem<QSGItem>(rootObject, QLatin1String("item-b1"));
+ QSGItem *scopeB = findItem<QSGItem>(rootObject, QLatin1String("scope-b"));
+ QSGItem *itemB2 = findItem<QSGItem>(rootObject, QLatin1String("item-b2"));
+
+ QVERIFY(scope);
+ QVERIFY(itemA1);
+ QVERIFY(scopeA);
+ QVERIFY(itemA2);
+ QVERIFY(itemB1);
+ QVERIFY(scopeB);
+ QVERIFY(itemB2);
+
+ QSignalSpy rootSpy(rootObject, SIGNAL(activeFocusChanged(bool)));
+ QSignalSpy scopeSpy(scope, SIGNAL(activeFocusChanged(bool)));
+ QSignalSpy scopeASpy(scopeA, SIGNAL(activeFocusChanged(bool)));
+ QSignalSpy scopeBSpy(scopeB, SIGNAL(activeFocusChanged(bool)));
+
+ // First, walk the focus from item-a1 down to item-a2 and back again
+ itemA1->forceActiveFocus();
+ QVERIFY(itemA1->hasActiveFocus());
+ QVERIFY(!rootObject->hasActiveFocus());
+ QCOMPARE(rootSpy.count(), 0);
+ QCOMPARE(scopeSpy.count(), 1);
+
+ scopeA->forceActiveFocus();
+ QVERIFY(!itemA1->hasActiveFocus());
+ QVERIFY(scopeA->hasActiveFocus());
+ QCOMPARE(scopeASpy.count(), 1);
+ QCOMPARE(rootSpy.count(), 0);
+ QCOMPARE(scopeSpy.count(), 1);
+
+ itemA2->forceActiveFocus();
+ QVERIFY(!itemA1->hasActiveFocus());
+ QVERIFY(itemA2->hasActiveFocus());
+ QVERIFY(scopeA->hasActiveFocus());
+ QCOMPARE(scopeASpy.count(), 1);
+ QCOMPARE(rootSpy.count(), 0);
+ QCOMPARE(scopeSpy.count(), 1);
+
+ scopeA->forceActiveFocus();
+ QVERIFY(!itemA1->hasActiveFocus());
+ QVERIFY(itemA2->hasActiveFocus());
+ QVERIFY(scopeA->hasActiveFocus());
+ QCOMPARE(scopeASpy.count(), 1);
+ QCOMPARE(rootSpy.count(), 0);
+ QCOMPARE(scopeSpy.count(), 1);
+
+ itemA1->forceActiveFocus();
+ QVERIFY(itemA1->hasActiveFocus());
+ QVERIFY(!scopeA->hasActiveFocus());
+ QVERIFY(!itemA2->hasActiveFocus());
+ QCOMPARE(scopeASpy.count(), 2);
+ QCOMPARE(rootSpy.count(), 0);
+ QCOMPARE(scopeSpy.count(), 1);
+
+ // Then jump back and forth between branch 'a' and 'b'
+ itemB1->forceActiveFocus();
+ QVERIFY(itemB1->hasActiveFocus());
+ QCOMPARE(rootSpy.count(), 0);
+ QCOMPARE(scopeSpy.count(), 1);
+
+ scopeA->forceActiveFocus();
+ QVERIFY(!itemA1->hasActiveFocus());
+ QVERIFY(!itemB1->hasActiveFocus());
+ QVERIFY(scopeA->hasActiveFocus());
+ QCOMPARE(scopeASpy.count(), 3);
+ QCOMPARE(rootSpy.count(), 0);
+ QCOMPARE(scopeSpy.count(), 1);
+
+ scopeB->forceActiveFocus();
+ QVERIFY(!scopeA->hasActiveFocus());
+ QVERIFY(!itemB1->hasActiveFocus());
+ QVERIFY(scopeB->hasActiveFocus());
+ QCOMPARE(scopeASpy.count(), 4);
+ QCOMPARE(scopeBSpy.count(), 1);
+ QCOMPARE(rootSpy.count(), 0);
+ QCOMPARE(scopeSpy.count(), 1);
+
+ itemA2->forceActiveFocus();
+ QVERIFY(!scopeB->hasActiveFocus());
+ QVERIFY(itemA2->hasActiveFocus());
+ QCOMPARE(scopeASpy.count(), 5);
+ QCOMPARE(scopeBSpy.count(), 2);
+ QCOMPARE(rootSpy.count(), 0);
+ QCOMPARE(scopeSpy.count(), 1);
+
+ itemB2->forceActiveFocus();
+ QVERIFY(!itemA2->hasActiveFocus());
+ QVERIFY(itemB2->hasActiveFocus());
+ QCOMPARE(scopeASpy.count(), 6);
+ QCOMPARE(scopeBSpy.count(), 3);
+ QCOMPARE(rootSpy.count(), 0);
+ QCOMPARE(scopeSpy.count(), 1);
+
+ delete view;
+}
+
+void tst_qsgfocusscope::canvasFocus()
+{
+ QSGView *view = new QSGView;
+ view->setSource(QUrl::fromLocalFile(SRCDIR "/data/canvasFocus.qml"));
+
+ QSGItem *rootObject = view->rootObject();
+ QVERIFY(rootObject);
+
+ QSGItem *rootItem = view->rootItem();
+ QSGItem *scope1 = findItem<QSGItem>(rootObject, QLatin1String("scope1"));
+ QSGItem *item1 = findItem<QSGItem>(rootObject, QLatin1String("item1"));
+ QSGItem *scope2 = findItem<QSGItem>(rootObject, QLatin1String("scope2"));
+ QSGItem *item2 = findItem<QSGItem>(rootObject, QLatin1String("item2"));
+
+ QVERIFY(scope1);
+ QVERIFY(item1);
+ QVERIFY(scope2);
+ QVERIFY(item2);
+
+ QSignalSpy rootFocusSpy(rootItem, SIGNAL(focusChanged(bool)));
+ QSignalSpy scope1FocusSpy(scope1, SIGNAL(focusChanged(bool)));
+ QSignalSpy item1FocusSpy(item1, SIGNAL(focusChanged(bool)));
+ QSignalSpy scope2FocusSpy(scope2, SIGNAL(focusChanged(bool)));
+ QSignalSpy item2FocusSpy(item2, SIGNAL(focusChanged(bool)));
+ QSignalSpy rootActiveFocusSpy(rootItem, SIGNAL(activeFocusChanged(bool)));
+ QSignalSpy scope1ActiveFocusSpy(scope1, SIGNAL(activeFocusChanged(bool)));
+ QSignalSpy item1ActiveFocusSpy(item1, SIGNAL(activeFocusChanged(bool)));
+ QSignalSpy scope2ActiveFocusSpy(scope2, SIGNAL(activeFocusChanged(bool)));
+ QSignalSpy item2ActiveFocusSpy(item2, SIGNAL(activeFocusChanged(bool)));
+
+ // until the canvas widget has gained focus, no one should have active focus
+ QCOMPARE(view->hasFocus(), false);
+ QCOMPARE(rootItem->hasFocus(), false);
+ QCOMPARE(rootItem->hasActiveFocus(), false);
+ QCOMPARE(scope1->hasFocus(), true);
+ QCOMPARE(scope1->hasActiveFocus(), false);
+ QCOMPARE(item1->hasFocus(), true);
+ QCOMPARE(item1->hasActiveFocus(), false);
+ QCOMPARE(scope2->hasFocus(), false);
+ QCOMPARE(scope2->hasActiveFocus(), false);
+ QCOMPARE(item2->hasFocus(), false);
+ QCOMPARE(item2->hasActiveFocus(), false);
+
+ view->show();
+ qApp->setActiveWindow(view);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(view);
+#endif
+
+ // Now the canvas has focus, active focus given to item1
+ QTRY_COMPARE(view->hasFocus(), true);
+ QCOMPARE(rootItem->hasFocus(), true);
+ QCOMPARE(rootItem->hasActiveFocus(), true);
+ QCOMPARE(scope1->hasFocus(), true);
+ QCOMPARE(scope1->hasActiveFocus(), true);
+ QCOMPARE(item1->hasFocus(), true);
+ QCOMPARE(item1->hasActiveFocus(), true);
+ QCOMPARE(scope2->hasFocus(), false);
+ QCOMPARE(scope2->hasActiveFocus(), false);
+ QCOMPARE(item2->hasFocus(), false);
+ QCOMPARE(item2->hasActiveFocus(), false);
+ QCOMPARE(rootFocusSpy.count(), 1);
+ QCOMPARE(rootActiveFocusSpy.count(), 1);
+ QCOMPARE(scope1FocusSpy.count(), 0);
+ QCOMPARE(scope1ActiveFocusSpy.count(), 1);
+ QCOMPARE(item1FocusSpy.count(), 0);
+ QCOMPARE(item1ActiveFocusSpy.count(), 1);
+
+ view->clearFocus();
+ QCOMPARE(rootItem->hasFocus(), false);
+ QCOMPARE(rootItem->hasActiveFocus(), false);
+ QCOMPARE(scope1->hasFocus(), true);
+ QCOMPARE(scope1->hasActiveFocus(), false);
+ QCOMPARE(item1->hasFocus(), true);
+ QCOMPARE(item1->hasActiveFocus(), false);
+ QCOMPARE(rootFocusSpy.count(), 2);
+ QCOMPARE(rootActiveFocusSpy.count(), 2);
+ QCOMPARE(scope1FocusSpy.count(), 0);
+ QCOMPARE(scope1ActiveFocusSpy.count(), 2);
+ QCOMPARE(item1FocusSpy.count(), 0);
+ QCOMPARE(item1ActiveFocusSpy.count(), 2);
+
+ // canvas does not have focus, so item2 will not get active focus
+ item2->forceActiveFocus();
+
+ QCOMPARE(rootItem->hasFocus(), false);
+ QCOMPARE(rootItem->hasActiveFocus(), false);
+ QCOMPARE(scope1->hasFocus(), false);
+ QCOMPARE(scope1->hasActiveFocus(), false);
+ QCOMPARE(item1->hasFocus(), true);
+ QCOMPARE(item1->hasActiveFocus(), false);
+ QCOMPARE(scope2->hasFocus(), true);
+ QCOMPARE(scope2->hasActiveFocus(), false);
+ QCOMPARE(item2->hasFocus(), true);
+ QCOMPARE(item2->hasActiveFocus(), false);
+
+ QCOMPARE(rootFocusSpy.count(), 2);
+ QCOMPARE(rootActiveFocusSpy.count(), 2);
+ QCOMPARE(scope1FocusSpy.count(), 1);
+ QCOMPARE(scope1ActiveFocusSpy.count(), 2);
+ QCOMPARE(item1FocusSpy.count(), 0);
+ QCOMPARE(item1ActiveFocusSpy.count(), 2);
+ QCOMPARE(scope2FocusSpy.count(), 1);
+ QCOMPARE(scope2ActiveFocusSpy.count(), 0);
+ QCOMPARE(item2FocusSpy.count(), 1);
+ QCOMPARE(item2ActiveFocusSpy.count(), 0);
+
+ // give the canvas focus, and item2 will get active focus
+ view->setFocus();
+
+ QCOMPARE(rootItem->hasFocus(), true);
+ QCOMPARE(rootItem->hasActiveFocus(), true);
+ QCOMPARE(scope2->hasFocus(), true);
+ QCOMPARE(scope2->hasActiveFocus(), true);
+ QCOMPARE(item2->hasFocus(), true);
+ QCOMPARE(item2->hasActiveFocus(), true);
+ QCOMPARE(rootFocusSpy.count(), 3);
+ QCOMPARE(rootActiveFocusSpy.count(), 3);
+ QCOMPARE(scope2FocusSpy.count(), 1);
+ QCOMPARE(scope2ActiveFocusSpy.count(), 1);
+ QCOMPARE(item2FocusSpy.count(), 1);
+ QCOMPARE(item2ActiveFocusSpy.count(), 1);
+
+ delete view;
+}
+
+QTEST_MAIN(tst_qsgfocusscope)
+
+#include "tst_qsgfocusscope.moc"
diff --git a/tests/auto/declarative/qsggridview/data/attachedSignals.qml b/tests/auto/declarative/qsggridview/data/attachedSignals.qml
new file mode 100644
index 0000000000..73c10d8caf
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/attachedSignals.qml
@@ -0,0 +1,27 @@
+import QtQuick 2.0
+
+GridView {
+ id: view
+ width: 240; height: 320
+
+ property variant addedDelegates: []
+ property int removedDelegateCount
+
+ model: testModel
+
+ cellWidth: delegateWidth; cellHeight: delegateHeight
+
+ delegate: Rectangle {
+ width: delegateWidth; height: delegateHeight
+ border.width: 1
+ GridView.onAdd: {
+ var obj = GridView.view.addedDelegates
+ obj.push(model.name)
+ GridView.view.addedDelegates = obj
+ }
+ GridView.onRemove: {
+ view.removedDelegateCount += 1
+ }
+ }
+}
+
diff --git a/tests/auto/declarative/qsggridview/data/displaygrid.qml b/tests/auto/declarative/qsggridview/data/displaygrid.qml
new file mode 100644
index 0000000000..1da4fe50ac
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/displaygrid.qml
@@ -0,0 +1,39 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ width: 80
+ height: 60
+ border.color: "blue"
+ Text {
+ text: index
+ }
+ Text {
+ y: 20
+ id: displayText
+ objectName: "displayText"
+ text: display
+ }
+ color: GridView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ }
+ ]
+ GridView {
+ id: grid
+ objectName: "grid"
+ width: 240
+ height: 320
+ cellWidth: 80
+ cellHeight: 60
+ model: testModel
+ delegate: myDelegate
+ }
+}
diff --git a/tests/auto/declarative/qsggridview/data/footer.qml b/tests/auto/declarative/qsggridview/data/footer.qml
new file mode 100644
index 0000000000..b0d1117287
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/footer.qml
@@ -0,0 +1,40 @@
+import QtQuick 2.0
+
+Rectangle {
+ function changeFooter() {
+ grid.footer = footer2
+ }
+ width: 240
+ height: 320
+ color: "#ffffff"
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ width: 80
+ height: 60
+ border.color: "blue"
+ Text {
+ text: index
+ }
+ color: GridView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ }
+ GridView {
+ id: grid
+ objectName: "grid"
+ width: 240
+ height: 320
+ cellWidth: 80
+ cellHeight: 60
+ model: testModel
+ delegate: myDelegate
+ footer: Text { objectName: "footer"; text: "Footer"; height: 30 }
+ }
+
+ Component {
+ id: footer2
+ Text { objectName: "footer2"; text: "Footer 2"; height: 20 }
+ }
+}
diff --git a/tests/auto/declarative/qsggridview/data/gridview-enforcerange.qml b/tests/auto/declarative/qsggridview/data/gridview-enforcerange.qml
new file mode 100644
index 0000000000..2bfe7da78e
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/gridview-enforcerange.qml
@@ -0,0 +1,58 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 240
+ height: 320
+ color: "#ffffff"
+ Component {
+ id: myDelegate
+ Item {
+ id: wrapper
+ objectName: "wrapper"
+ height: 100
+ width: 100
+ Text {
+ text: index
+ }
+ Text {
+ y: 25
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ y: 50
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ Text {
+ y: 75
+ text: wrapper.y
+ }
+ }
+ }
+
+ Component {
+ id: myHighlight
+ Rectangle {
+ color: "lightsteelblue"
+ }
+ }
+
+ GridView {
+ id: grid
+ objectName: "grid"
+ width: 240
+ height: 320
+ model: testModel
+ delegate: myDelegate
+ highlight: myHighlight
+ flow: (testTopToBottom == true) ? GridView.TopToBottom : GridView.LeftToRight
+ layoutDirection: (testRightToLeft == true) ? Qt.RightToLeft : Qt.LeftToRight
+ preferredHighlightBegin: 100
+ preferredHighlightEnd: 100
+ highlightRangeMode: "StrictlyEnforceRange"
+ focus: true
+ }
+}
diff --git a/tests/auto/declarative/qsggridview/data/gridview-initCurrent.qml b/tests/auto/declarative/qsggridview/data/gridview-initCurrent.qml
new file mode 100644
index 0000000000..c012b4c481
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/gridview-initCurrent.qml
@@ -0,0 +1,52 @@
+import QtQuick 2.0
+
+Rectangle {
+ property int current: grid.currentIndex
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ width: 80
+ height: 60
+ border.color: "blue"
+ Text {
+ text: index
+ }
+ Text {
+ x: 40
+ text: wrapper.x + ", " + wrapper.y
+ }
+ Text {
+ y: 20
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ y: 40
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ color: GridView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ }
+ ]
+ GridView {
+ id: grid
+ objectName: "grid"
+ focus: true
+ width: 240
+ height: 320
+ currentIndex: 35
+ cellWidth: 80
+ cellHeight: 60
+ delegate: myDelegate
+ model: testModel
+ }
+}
diff --git a/tests/auto/declarative/qsggridview/data/gridview-noCurrent.qml b/tests/auto/declarative/qsggridview/data/gridview-noCurrent.qml
new file mode 100644
index 0000000000..600716e2d4
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/gridview-noCurrent.qml
@@ -0,0 +1,52 @@
+import QtQuick 2.0
+
+Rectangle {
+ property int current: grid.currentIndex
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ width: 80
+ height: 60
+ border.color: "blue"
+ Text {
+ text: index
+ }
+ Text {
+ x: 40
+ text: wrapper.x + ", " + wrapper.y
+ }
+ Text {
+ y: 20
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ y: 40
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ color: GridView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ }
+ ]
+ GridView {
+ id: grid
+ objectName: "grid"
+ focus: true
+ width: 240
+ height: 320
+ currentIndex: -1
+ cellWidth: 80
+ cellHeight: 60
+ delegate: myDelegate
+ model: testModel
+ }
+}
diff --git a/tests/auto/declarative/qsggridview/data/gridview1.qml b/tests/auto/declarative/qsggridview/data/gridview1.qml
new file mode 100644
index 0000000000..0f148ed387
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/gridview1.qml
@@ -0,0 +1,66 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: root
+ property int count: grid.count
+ property bool showHeader: false
+ property bool showFooter: false
+ property int added: -1
+ property variant removed
+
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ width: 80
+ height: 60
+ border.color: "blue"
+ Text {
+ text: index
+ }
+ Text {
+ x: 40
+ text: wrapper.x + ", " + wrapper.y
+ }
+ Text {
+ y: 20
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ y: 40
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ color: GridView.isCurrentItem ? "lightsteelblue" : "white"
+ GridView.onAdd: root.added = index
+ GridView.onRemove: root.removed = name
+ }
+ },
+ Component {
+ id: headerFooter
+ Rectangle { width: 30; height: 320; color: "blue" }
+ }
+ ]
+ GridView {
+ id: grid
+ objectName: "grid"
+ width: 240
+ height: 320
+ cellWidth: 80
+ cellHeight: 60
+ flow: (testTopToBottom == false) ? GridView.LeftToRight : GridView.TopToBottom
+ layoutDirection: (testRightToLeft == true) ? Qt.RightToLeft : Qt.LeftToRight
+ model: testModel
+ delegate: myDelegate
+ header: root.showHeader ? headerFooter : null
+ footer: root.showFooter ? headerFooter : null
+ }
+}
diff --git a/tests/auto/declarative/qsggridview/data/gridview2.qml b/tests/auto/declarative/qsggridview/data/gridview2.qml
new file mode 100644
index 0000000000..5fb45a1613
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/gridview2.qml
@@ -0,0 +1,26 @@
+import QtQuick 2.0
+
+GridView {
+ anchors.fill: parent
+ width: 320; height: 200
+ cellWidth: 100; cellHeight: 100; cacheBuffer: 200; focus: true
+ keyNavigationWraps: true; highlightFollowsCurrentItem: false
+
+ model: ListModel {
+ id: appModel
+ ListElement { lColor: "red" }
+ ListElement { lColor: "yellow" }
+ ListElement { lColor: "green" }
+ ListElement { lColor: "blue" }
+ }
+
+ delegate: Item {
+ width: 100; height: 100
+ Rectangle {
+ color: lColor; x: 4; y: 4
+ width: 92; height: 92
+ }
+ }
+
+ highlight: Rectangle { width: 100; height: 100; color: "black" }
+}
diff --git a/tests/auto/declarative/qsggridview/data/gridview3.qml b/tests/auto/declarative/qsggridview/data/gridview3.qml
new file mode 100644
index 0000000000..a8c1c5a0f7
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/gridview3.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+GridView {
+ anchors.fill: parent
+ width: 320; height: 200
+}
diff --git a/tests/auto/declarative/qsggridview/data/header.qml b/tests/auto/declarative/qsggridview/data/header.qml
new file mode 100644
index 0000000000..f725b683a2
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/header.qml
@@ -0,0 +1,40 @@
+import QtQuick 2.0
+
+Rectangle {
+ function changeHeader() {
+ grid.header = header2
+ }
+ width: 240
+ height: 320
+ color: "#ffffff"
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ width: 80
+ height: 60
+ border.color: "blue"
+ Text {
+ text: index
+ }
+ color: GridView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ }
+ GridView {
+ id: grid
+ objectName: "grid"
+ width: 240
+ height: 320
+ cellWidth: 80
+ cellHeight: 60
+ model: testModel
+ delegate: myDelegate
+ header: Text { objectName: "header"; text: "Header"; height: 30 }
+ }
+
+ Component {
+ id: header2
+ Text { objectName: "header2"; text: "Header 2"; height: 20 }
+ }
+}
diff --git a/tests/auto/declarative/qsggridview/data/manual-highlight.qml b/tests/auto/declarative/qsggridview/data/manual-highlight.qml
new file mode 100644
index 0000000000..c2f1d20fb1
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/manual-highlight.qml
@@ -0,0 +1,48 @@
+import QtQuick 2.0
+
+Item {
+
+ ListModel {
+ id: model
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Bob Brown"
+ number: "555 5845"
+ }
+ }
+
+ Component {
+ id: highlight
+ Rectangle {
+ objectName: "highlight"
+ width: 80; height: 80
+ color: "lightsteelblue"; radius: 5
+ y: grid.currentItem.y+5
+ x: grid.currentItem.x+5
+ }
+ }
+
+ GridView {
+ id: grid
+ objectName: "grid"
+ anchors.fill: parent
+ model: model
+ delegate: Text { objectName: "wrapper"; text: name; width: 80; height: 80 }
+
+ highlight: highlight
+ highlightFollowsCurrentItem: false
+ focus: true
+ }
+
+}
diff --git a/tests/auto/declarative/qsggridview/data/mirroring.qml b/tests/auto/declarative/qsggridview/data/mirroring.qml
new file mode 100644
index 0000000000..b9aff501c1
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/mirroring.qml
@@ -0,0 +1,43 @@
+// This example demonstrates how item positioning
+// changes in right-to-left layout direction
+
+import QtQuick 2.0
+
+Rectangle {
+ color: "lightgray"
+ width: 340
+ height: 370
+
+ VisualItemModel {
+ id: itemModel
+ objectName: "itemModel"
+ Rectangle {
+ objectName: "item1"
+ height: 110; width: 120; color: "#FFFEF0"
+ Text { objectName: "text1"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ objectName: "item2"
+ height: 130; width: 150; color: "#F0FFF7"
+ Text { objectName: "text2"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ objectName: "item3"
+ height: 170; width: 190; color: "#F4F0FF"
+ Text { objectName: "text3"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ }
+
+ GridView {
+ id: view
+ objectName: "view"
+ cellWidth: 190
+ cellHeight: 170
+ anchors.fill: parent
+ anchors.bottomMargin: 30
+ model: itemModel
+ highlightRangeMode: "StrictlyEnforceRange"
+ flow: GridView.TopToBottom
+ flickDeceleration: 2000
+ }
+}
diff --git a/tests/auto/declarative/qsggridview/data/propertychangestest.qml b/tests/auto/declarative/qsggridview/data/propertychangestest.qml
new file mode 100644
index 0000000000..97efbe78f5
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/propertychangestest.qml
@@ -0,0 +1,69 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 360; height: 120; color: "white"
+ Component {
+ id: delegate
+ Item {
+ id: wrapper
+ width: 180; height: 40;
+ Column {
+ x: 5; y: 5
+ Text { text: '<b>Name:</b> ' + name }
+ Text { text: '<b>Number:</b> ' + number }
+ }
+ }
+ }
+ Component {
+ id: highlightRed
+ Rectangle {
+ color: "red"
+ radius: 10
+ opacity: 0.5
+ }
+ }
+ GridView {
+ cellWidth:180
+ cellHeight:40
+ objectName: "gridView"
+ anchors.fill: parent
+ model: listModel
+ delegate: delegate
+ highlight: highlightRed
+ focus: true
+ keyNavigationWraps: true
+ cacheBuffer: 10
+ flow: GridView.LeftToRight
+ }
+
+ data:[
+ ListModel {
+ id: listModel
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ },
+ ListModel {
+ objectName: "alternateModel"
+ ListElement {
+ name: "Jack"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Mary"
+ number: "555 3264"
+ }
+ }
+ ]
+}
+
+
diff --git a/tests/auto/declarative/qsggridview/data/setindex.qml b/tests/auto/declarative/qsggridview/data/setindex.qml
new file mode 100644
index 0000000000..ef80f3a2fb
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/data/setindex.qml
@@ -0,0 +1,29 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 200
+ height: 200
+ Component {
+ id: appDelegate
+
+ Item {
+ id : wrapper
+ function startupFunction() {
+ if (index == 5) view.currentIndex = index;
+ }
+ Component.onCompleted: startupFunction();
+ width: 30; height: 30
+ Text { text: index }
+ }
+ }
+
+ GridView {
+ id: view
+ objectName: "grid"
+ anchors.fill: parent
+ cellWidth: 30; cellHeight: 30
+ model: 35
+ delegate: appDelegate
+ focus: true
+ }
+}
diff --git a/tests/auto/declarative/qsggridview/qsggridview.pro b/tests/auto/declarative/qsggridview/qsggridview.pro
new file mode 100644
index 0000000000..963df7a9b7
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/qsggridview.pro
@@ -0,0 +1,19 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsggridview.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
+QT += script-private
+QT += opengl-private
diff --git a/tests/auto/declarative/qsggridview/tst_qsggridview.cpp b/tests/auto/declarative/qsggridview/tst_qsggridview.cpp
new file mode 100644
index 0000000000..444e1c7a55
--- /dev/null
+++ b/tests/auto/declarative/qsggridview/tst_qsggridview.cpp
@@ -0,0 +1,2187 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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 <QtTest/QtTest>
+#include <QtGui/qstringlistmodel.h>
+#include <QtDeclarative/qsgview.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtDeclarative/private/qsgitem_p.h>
+#include <QtDeclarative/private/qlistmodelinterface_p.h>
+#include <QtDeclarative/private/qsggridview_p.h>
+#include <QtDeclarative/private/qsgtext_p.h>
+#include <QtDeclarative/private/qdeclarativelistmodel_p.h>
+#include "../../../shared/util.h"
+#include <QtOpenGL/QGLShaderProgram>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_QSGGridView : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QSGGridView();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void items();
+ void changed();
+ void inserted();
+ void removed();
+ void clear();
+ void moved();
+ void changeFlow();
+ void currentIndex();
+ void noCurrentIndex();
+ void defaultValues();
+ void properties();
+ void propertyChanges();
+ void componentChanges();
+ void modelChanges();
+ void positionViewAtIndex();
+ void positionViewAtIndex_rightToLeft();
+ void mirroring();
+ void snapping();
+ void resetModel();
+ void enforceRange();
+ void enforceRange_rightToLeft();
+ void QTBUG_8456();
+ void manualHighlight();
+ void footer();
+ void header();
+ void indexAt();
+ void onAdd();
+ void onAdd_data();
+ void onRemove();
+ void onRemove_data();
+ void testQtQuick11Attributes();
+ void testQtQuick11Attributes_data();
+
+private:
+ QSGView *createView();
+ template<typename T>
+ T *findItem(QSGItem *parent, const QString &id, int index=-1);
+ template<typename T>
+ QList<T*> findItems(QSGItem *parent, const QString &objectName);
+ void dumpTree(QSGItem *parent, int depth = 0);
+};
+void tst_QSGGridView::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("QSGGridView needs OpenGL 2.0", SkipAll);
+}
+
+void tst_QSGGridView::cleanupTestCase()
+{
+
+}
+class TestModel : public QAbstractListModel
+{
+public:
+ enum Roles { Name = Qt::UserRole+1, Number = Qt::UserRole+2 };
+
+ TestModel(QObject *parent=0) : QAbstractListModel(parent) {
+ QHash<int, QByteArray> roles;
+ roles[Name] = "name";
+ roles[Number] = "number";
+ setRoleNames(roles);
+ }
+
+ int rowCount(const QModelIndex &parent=QModelIndex()) const { Q_UNUSED(parent); return list.count(); }
+ QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const {
+ QVariant rv;
+ if (role == Name)
+ rv = list.at(index.row()).first;
+ else if (role == Number)
+ rv = list.at(index.row()).second;
+
+ return rv;
+ }
+
+ int count() const { return rowCount(); }
+ QString name(int index) const { return list.at(index).first; }
+ QString number(int index) const { return list.at(index).second; }
+
+ void addItem(const QString &name, const QString &number) {
+ emit beginInsertRows(QModelIndex(), list.count(), list.count());
+ list.append(QPair<QString,QString>(name, number));
+ emit endInsertRows();
+ }
+
+ void addItems(const QList<QPair<QString, QString> > &items) {
+ emit beginInsertRows(QModelIndex(), list.count(), list.count()+items.count()-1);
+ for (int i=0; i<items.count(); i++)
+ list.append(QPair<QString,QString>(items[i].first, items[i].second));
+ emit endInsertRows();
+ }
+
+ void insertItem(int index, const QString &name, const QString &number) {
+ emit beginInsertRows(QModelIndex(), index, index);
+ list.insert(index, QPair<QString,QString>(name, number));
+ emit endInsertRows();
+ }
+
+ void removeItem(int index) {
+ emit beginRemoveRows(QModelIndex(), index, index);
+ list.removeAt(index);
+ emit endRemoveRows();
+ }
+
+ void removeItems(int index, int count) {
+ emit beginRemoveRows(QModelIndex(), index, index+count-1);
+ while (count--)
+ list.removeAt(index);
+ emit endRemoveRows();
+ }
+
+ void moveItem(int from, int to) {
+ emit beginMoveRows(QModelIndex(), from, from, QModelIndex(), to);
+ list.move(from, to);
+ emit endMoveRows();
+ }
+
+ void modifyItem(int idx, const QString &name, const QString &number) {
+ list[idx] = QPair<QString,QString>(name, number);
+ emit dataChanged(index(idx,0), index(idx,0));
+ }
+
+ void clear() {
+ int count = list.count();
+ emit beginRemoveRows(QModelIndex(), 0, count-1);
+ list.clear();
+ emit endRemoveRows();
+ }
+
+
+private:
+ QList<QPair<QString,QString> > list;
+};
+
+tst_QSGGridView::tst_QSGGridView()
+{
+}
+
+void tst_QSGGridView::items()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ model.addItem("Fred", "12345");
+ model.addItem("John", "2345");
+ model.addItem("Bob", "54321");
+ model.addItem("Billy", "22345");
+ model.addItem("Sam", "2945");
+ model.addItem("Ben", "04321");
+ model.addItem("Jim", "0780");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QTRY_COMPARE(gridview->count(), model.count());
+ QTRY_COMPARE(canvas->rootObject()->property("count").toInt(), model.count());
+ QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item
+
+ for (int i = 0; i < model.count(); ++i) {
+ QSGText *name = findItem<QSGText>(contentItem, "textName", i);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(i));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", i);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(i));
+ }
+
+ // set an empty model and confirm that items are destroyed
+ TestModel model2;
+ ctxt->setContextProperty("testModel", &model2);
+
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ QTRY_VERIFY(itemCount == 0);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::changed()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ model.addItem("Fred", "12345");
+ model.addItem("John", "2345");
+ model.addItem("Bob", "54321");
+ model.addItem("Billy", "22345");
+ model.addItem("Sam", "2945");
+ model.addItem("Ben", "04321");
+ model.addItem("Jim", "0780");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGFlickable *gridview = findItem<QSGFlickable>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ model.modifyItem(1, "Will", "9876");
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 1);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(1));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 1);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(1));
+
+ delete canvas;
+}
+
+void tst_QSGGridView::inserted()
+{
+ QSGView *canvas = createView();
+ canvas->show();
+
+ TestModel model;
+ model.addItem("Fred", "12345");
+ model.addItem("John", "2345");
+ model.addItem("Bob", "54321");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ model.insertItem(1, "Will", "9876");
+ QCOMPARE(canvas->rootObject()->property("count").toInt(), model.count());
+
+ QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item
+
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 1);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(1));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 1);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(1));
+
+ // Checks that onAdd is called
+ int added = canvas->rootObject()->property("added").toInt();
+ QTRY_COMPARE(added, 1);
+
+ // Confirm items positioned correctly
+ for (int i = 0; i < model.count(); ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ QTRY_COMPARE(item->x(), (i%3)*80.0);
+ QTRY_COMPARE(item->y(), (i/3)*60.0);
+ }
+
+ model.insertItem(0, "Foo", "1111"); // zero index, and current item
+
+ QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item
+
+ name = findItem<QSGText>(contentItem, "textName", 0);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(0));
+ number = findItem<QSGText>(contentItem, "textNumber", 0);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(0));
+
+ QTRY_COMPARE(gridview->currentIndex(), 1);
+
+ // Confirm items positioned correctly
+ for (int i = 0; i < model.count(); ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ QTRY_VERIFY(item->x() == (i%3)*80);
+ QTRY_VERIFY(item->y() == (i/3)*60);
+ }
+
+ for (int i = model.count(); i < 30; ++i)
+ model.insertItem(i, "Hello", QString::number(i));
+
+ gridview->setContentY(120);
+
+ // Insert item outside visible area
+ model.insertItem(1, "Hello", "1324");
+
+ QTRY_VERIFY(gridview->contentY() == 120);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::removed()
+{
+ QSGView *canvas = createView();
+ canvas->show();
+
+ TestModel model;
+ for (int i = 0; i < 40; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ model.removeItem(1);
+ QCOMPARE(canvas->rootObject()->property("count").toInt(), model.count());
+
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 1);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(1));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 1);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(1));
+
+ // Checks that onRemove is called
+ QString removed = canvas->rootObject()->property("removed").toString();
+ QTRY_COMPARE(removed, QString("Item1"));
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->x() == (i%3)*80);
+ QTRY_VERIFY(item->y() == (i/3)*60);
+ }
+
+ // Remove first item (which is the current item);
+ model.removeItem(0);
+
+ name = findItem<QSGText>(contentItem, "textName", 0);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(0));
+ number = findItem<QSGText>(contentItem, "textNumber", 0);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(0));
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->x() == (i%3)*80);
+ QTRY_VERIFY(item->y() == (i/3)*60);
+ }
+
+ // Remove items not visible
+ model.removeItem(25);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->x() == (i%3)*80);
+ QTRY_VERIFY(item->y() == (i/3)*60);
+ }
+
+ // Remove items before visible
+ gridview->setContentY(120);
+ gridview->setCurrentIndex(10);
+
+ // Setting currentIndex above shouldn't cause view to scroll
+ QTRY_COMPARE(gridview->contentY(), 120.0);
+
+ model.removeItem(1);
+
+ // Confirm items positioned correctly
+ for (int i = 6; i < 18; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->x() == (i%3)*80);
+ QTRY_VERIFY(item->y() == (i/3)*60);
+ }
+
+ // Remove currentIndex
+ QSGItem *oldCurrent = gridview->currentItem();
+ model.removeItem(9);
+
+ QTRY_COMPARE(gridview->currentIndex(), 9);
+ QTRY_VERIFY(gridview->currentItem() != oldCurrent);
+
+ gridview->setContentY(0);
+ // let transitions settle.
+ QTest::qWait(100);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->x() == (i%3)*80);
+ QTRY_VERIFY(item->y() == (i/3)*60);
+ }
+
+ // remove item outside current view.
+ gridview->setCurrentIndex(32);
+ gridview->setContentY(240);
+
+ model.removeItem(30);
+ QTRY_VERIFY(gridview->currentIndex() == 31);
+
+ // remove current item beyond visible items.
+ gridview->setCurrentIndex(20);
+ gridview->setContentY(0);
+ model.removeItem(20);
+
+ QTRY_COMPARE(gridview->currentIndex(), 20);
+ QTRY_VERIFY(gridview->currentItem() != 0);
+
+ // remove item before current, but visible
+ gridview->setCurrentIndex(8);
+ gridview->setContentY(240);
+ oldCurrent = gridview->currentItem();
+ model.removeItem(6);
+
+ QTRY_COMPARE(gridview->currentIndex(), 7);
+ QTRY_VERIFY(gridview->currentItem() == oldCurrent);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::clear()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QVERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ model.clear();
+
+ QVERIFY(gridview->count() == 0);
+ QVERIFY(gridview->currentItem() == 0);
+ QVERIFY(gridview->contentY() == 0);
+ QVERIFY(gridview->currentIndex() == -1);
+
+ // confirm sanity when adding an item to cleared list
+ model.addItem("New", "1");
+ QVERIFY(gridview->count() == 1);
+ QVERIFY(gridview->currentItem() != 0);
+ QVERIFY(gridview->currentIndex() == 0);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::moved()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ model.moveItem(1, 8);
+
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 1);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(1));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 1);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(1));
+
+ name = findItem<QSGText>(contentItem, "textName", 8);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(8));
+ number = findItem<QSGText>(contentItem, "textNumber", 8);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(8));
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->x() == (i%3)*80);
+ QTRY_VERIFY(item->y() == (i/3)*60);
+ }
+
+ gridview->setContentY(120);
+
+ // move outside visible area
+ model.moveItem(1, 25);
+
+ // Confirm items positioned correctly and indexes correct
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count()-1;
+ for (int i = 6; i < model.count()-6 && i < itemCount+6; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), qreal((i%3)*80));
+ QTRY_COMPARE(item->y(), qreal((i/3)*60));
+ name = findItem<QSGText>(contentItem, "textName", i);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(i));
+ number = findItem<QSGText>(contentItem, "textNumber", i);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(i));
+ }
+
+ // move from outside visible into visible
+ model.moveItem(28, 8);
+
+ // Confirm items positioned correctly and indexes correct
+ for (int i = 6; i < model.count()-6 && i < itemCount+6; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->x() == (i%3)*80);
+ QTRY_VERIFY(item->y() == (i/3)*60);
+ name = findItem<QSGText>(contentItem, "textName", i);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(i));
+ number = findItem<QSGText>(contentItem, "textNumber", i);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(i));
+ }
+
+ // ensure content position is stable
+ gridview->setContentY(0);
+ model.moveItem(10, 0);
+ QTRY_VERIFY(gridview->contentY() == 0);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::currentIndex()
+{
+ TestModel model;
+ for (int i = 0; i < 60; i++)
+ model.addItem("Item" + QString::number(i), QString::number(i));
+
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ QString filename(SRCDIR "/data/gridview-initCurrent.qml");
+ canvas->setSource(QUrl::fromLocalFile(filename));
+
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QVERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ // current item should be third item
+ QCOMPARE(gridview->currentIndex(), 35);
+ QCOMPARE(gridview->currentItem(), findItem<QSGItem>(contentItem, "wrapper", 35));
+ QCOMPARE(gridview->currentItem()->y(), gridview->highlightItem()->y());
+ QCOMPARE(gridview->contentY(), 400.0);
+
+ gridview->moveCurrentIndexRight();
+ QCOMPARE(gridview->currentIndex(), 36);
+ gridview->moveCurrentIndexDown();
+ QCOMPARE(gridview->currentIndex(), 39);
+ gridview->moveCurrentIndexUp();
+ QCOMPARE(gridview->currentIndex(), 36);
+ gridview->moveCurrentIndexLeft();
+ QCOMPARE(gridview->currentIndex(), 35);
+
+ // no wrap
+ gridview->setCurrentIndex(0);
+ QCOMPARE(gridview->currentIndex(), 0);
+ // confirm that the velocity is updated
+ QTRY_VERIFY(gridview->verticalVelocity() != 0.0);
+
+ gridview->moveCurrentIndexUp();
+ QCOMPARE(gridview->currentIndex(), 0);
+
+ gridview->moveCurrentIndexLeft();
+ QCOMPARE(gridview->currentIndex(), 0);
+
+ gridview->setCurrentIndex(model.count()-1);
+ QCOMPARE(gridview->currentIndex(), model.count()-1);
+
+ gridview->moveCurrentIndexRight();
+ QCOMPARE(gridview->currentIndex(), model.count()-1);
+
+ gridview->moveCurrentIndexDown();
+ QCOMPARE(gridview->currentIndex(), model.count()-1);
+
+ // with wrap
+ gridview->setWrapEnabled(true);
+
+ gridview->setCurrentIndex(0);
+ QCOMPARE(gridview->currentIndex(), 0);
+
+ gridview->moveCurrentIndexLeft();
+ QCOMPARE(gridview->currentIndex(), model.count()-1);
+
+ QTRY_COMPARE(gridview->contentY(), 880.0);
+
+ gridview->moveCurrentIndexRight();
+ QCOMPARE(gridview->currentIndex(), 0);
+
+ QTRY_COMPARE(gridview->contentY(), 0.0);
+
+ // Test keys
+ canvas->show();
+ qApp->setActiveWindow(canvas);
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(canvas);
+#endif
+ QTRY_VERIFY(canvas->hasFocus());
+ qApp->processEvents();
+
+ QTest::keyClick(canvas, Qt::Key_Down);
+ QCOMPARE(gridview->currentIndex(), 3);
+
+ QTest::keyClick(canvas, Qt::Key_Up);
+ QCOMPARE(gridview->currentIndex(), 0);
+
+ gridview->setFlow(QSGGridView::TopToBottom);
+
+ qApp->setActiveWindow(canvas);
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(canvas);
+#endif
+ QTRY_VERIFY(canvas->hasFocus());
+ qApp->processEvents();
+
+ QTest::keyClick(canvas, Qt::Key_Right);
+ QCOMPARE(gridview->currentIndex(), 5);
+
+ QTest::keyClick(canvas, Qt::Key_Left);
+ QCOMPARE(gridview->currentIndex(), 0);
+
+ QTest::keyClick(canvas, Qt::Key_Down);
+ QCOMPARE(gridview->currentIndex(), 1);
+
+ QTest::keyClick(canvas, Qt::Key_Up);
+ QCOMPARE(gridview->currentIndex(), 0);
+
+
+ // turn off auto highlight
+ gridview->setHighlightFollowsCurrentItem(false);
+ QVERIFY(gridview->highlightFollowsCurrentItem() == false);
+ QVERIFY(gridview->highlightItem());
+ qreal hlPosX = gridview->highlightItem()->x();
+ qreal hlPosY = gridview->highlightItem()->y();
+
+ gridview->setCurrentIndex(5);
+ QTRY_COMPARE(gridview->highlightItem()->x(), hlPosX);
+ QTRY_COMPARE(gridview->highlightItem()->y(), hlPosY);
+
+ // insert item before currentIndex
+ gridview->setCurrentIndex(28);
+ model.insertItem(0, "Foo", "1111");
+ QTRY_COMPARE(canvas->rootObject()->property("current").toInt(), 29);
+
+ // check removing highlight by setting currentIndex to -1;
+ gridview->setCurrentIndex(-1);
+
+ QCOMPARE(gridview->currentIndex(), -1);
+ QVERIFY(!gridview->highlightItem());
+ QVERIFY(!gridview->currentItem());
+
+ gridview->setHighlightFollowsCurrentItem(true);
+
+ gridview->setFlow(QSGGridView::LeftToRight);
+ gridview->setLayoutDirection(Qt::RightToLeft);
+
+ qApp->setActiveWindow(canvas);
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(canvas);
+#endif
+ QTRY_VERIFY(canvas->hasFocus());
+ qApp->processEvents();
+
+ gridview->setCurrentIndex(35);
+
+ QTest::keyClick(canvas, Qt::Key_Right);
+ QCOMPARE(gridview->currentIndex(), 34);
+
+ QTest::keyClick(canvas, Qt::Key_Down);
+ QCOMPARE(gridview->currentIndex(), 37);
+
+ QTest::keyClick(canvas, Qt::Key_Up);
+ QCOMPARE(gridview->currentIndex(), 34);
+
+ QTest::keyClick(canvas, Qt::Key_Left);
+ QCOMPARE(gridview->currentIndex(), 35);
+
+
+ // turn off auto highlight
+ gridview->setHighlightFollowsCurrentItem(false);
+ QVERIFY(gridview->highlightFollowsCurrentItem() == false);
+ QVERIFY(gridview->highlightItem());
+ hlPosX = gridview->highlightItem()->x();
+ hlPosY = gridview->highlightItem()->y();
+
+ gridview->setCurrentIndex(5);
+ QTRY_COMPARE(gridview->highlightItem()->x(), hlPosX);
+ QTRY_COMPARE(gridview->highlightItem()->y(), hlPosY);
+
+ // insert item before currentIndex
+ gridview->setCurrentIndex(28);
+ model.insertItem(0, "Foo", "1111");
+ QTRY_COMPARE(canvas->rootObject()->property("current").toInt(), 29);
+
+ // check removing highlight by setting currentIndex to -1;
+ gridview->setCurrentIndex(-1);
+
+ QCOMPARE(gridview->currentIndex(), -1);
+ QVERIFY(!gridview->highlightItem());
+ QVERIFY(!gridview->currentItem());
+
+ delete canvas;
+}
+
+void tst_QSGGridView::noCurrentIndex()
+{
+ TestModel model;
+ for (int i = 0; i < 60; i++)
+ model.addItem("Item" + QString::number(i), QString::number(i));
+
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ QString filename(SRCDIR "/data/gridview-noCurrent.qml");
+ canvas->setSource(QUrl::fromLocalFile(filename));
+
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QVERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ // current index should be -1
+ QCOMPARE(gridview->currentIndex(), -1);
+ QVERIFY(!gridview->currentItem());
+ QVERIFY(!gridview->highlightItem());
+ QCOMPARE(gridview->contentY(), 0.0);
+
+ gridview->setCurrentIndex(5);
+ QCOMPARE(gridview->currentIndex(), 5);
+ QVERIFY(gridview->currentItem());
+ QVERIFY(gridview->highlightItem());
+
+ delete canvas;
+}
+
+void tst_QSGGridView::changeFlow()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), QString::number(i));
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // Confirm items positioned correctly and indexes correct
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), qreal((i%3)*80));
+ QTRY_COMPARE(item->y(), qreal((i/3)*60));
+ QSGText *name = findItem<QSGText>(contentItem, "textName", i);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(i));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", i);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(i));
+ }
+
+ ctxt->setContextProperty("testTopToBottom", QVariant(true));
+
+ // Confirm items positioned correctly and indexes correct
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), qreal((i/5)*80));
+ QTRY_COMPARE(item->y(), qreal((i%5)*60));
+ QSGText *name = findItem<QSGText>(contentItem, "textName", i);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(i));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", i);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(i));
+ }
+
+ ctxt->setContextProperty("testRightToLeft", QVariant(true));
+
+ // Confirm items positioned correctly and indexes correct
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), qreal(-(i/5)*80 - item->width()));
+ QTRY_COMPARE(item->y(), qreal((i%5)*60));
+ QSGText *name = findItem<QSGText>(contentItem, "textName", i);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(i));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", i);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(i));
+ }
+ gridview->setContentX(100);
+ QTRY_COMPARE(gridview->contentX(), 100.);
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+ QTRY_COMPARE(gridview->contentX(), 0.);
+
+ // Confirm items positioned correctly and indexes correct
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), qreal(240 - (i%3+1)*80));
+ QTRY_COMPARE(item->y(), qreal((i/3)*60));
+ QSGText *name = findItem<QSGText>(contentItem, "textName", i);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(i));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", i);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(i));
+ }
+
+ delete canvas;
+}
+
+void tst_QSGGridView::defaultValues()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/gridview3.qml"));
+ QSGGridView *obj = qobject_cast<QSGGridView*>(c.create());
+
+ QTRY_VERIFY(obj != 0);
+ QTRY_VERIFY(obj->model() == QVariant());
+ QTRY_VERIFY(obj->delegate() == 0);
+ QTRY_COMPARE(obj->currentIndex(), -1);
+ QTRY_VERIFY(obj->currentItem() == 0);
+ QTRY_COMPARE(obj->count(), 0);
+ QTRY_VERIFY(obj->highlight() == 0);
+ QTRY_VERIFY(obj->highlightItem() == 0);
+ QTRY_COMPARE(obj->highlightFollowsCurrentItem(), true);
+ QTRY_VERIFY(obj->flow() == 0);
+ QTRY_COMPARE(obj->isWrapEnabled(), false);
+ QTRY_COMPARE(obj->cacheBuffer(), 0);
+ QTRY_COMPARE(obj->cellWidth(), 100); //### Should 100 be the default?
+ QTRY_COMPARE(obj->cellHeight(), 100);
+ delete obj;
+}
+
+void tst_QSGGridView::properties()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/gridview2.qml"));
+ QSGGridView *obj = qobject_cast<QSGGridView*>(c.create());
+
+ QTRY_VERIFY(obj != 0);
+ QTRY_VERIFY(obj->model() != QVariant());
+ QTRY_VERIFY(obj->delegate() != 0);
+ QTRY_COMPARE(obj->currentIndex(), 0);
+ QTRY_VERIFY(obj->currentItem() != 0);
+ QTRY_COMPARE(obj->count(), 4);
+ QTRY_VERIFY(obj->highlight() != 0);
+ QTRY_VERIFY(obj->highlightItem() != 0);
+ QTRY_COMPARE(obj->highlightFollowsCurrentItem(), false);
+ QTRY_VERIFY(obj->flow() == 0);
+ QTRY_COMPARE(obj->isWrapEnabled(), true);
+ QTRY_COMPARE(obj->cacheBuffer(), 200);
+ QTRY_COMPARE(obj->cellWidth(), 100);
+ QTRY_COMPARE(obj->cellHeight(), 100);
+ delete obj;
+}
+
+void tst_QSGGridView::propertyChanges()
+{
+ QSGView *canvas = createView();
+ QTRY_VERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychangestest.qml"));
+
+ QSGGridView *gridView = canvas->rootObject()->findChild<QSGGridView*>("gridView");
+ QTRY_VERIFY(gridView);
+
+ QSignalSpy keyNavigationWrapsSpy(gridView, SIGNAL(keyNavigationWrapsChanged()));
+ QSignalSpy cacheBufferSpy(gridView, SIGNAL(cacheBufferChanged()));
+ QSignalSpy layoutSpy(gridView, SIGNAL(layoutDirectionChanged()));
+ QSignalSpy flowSpy(gridView, SIGNAL(flowChanged()));
+
+ QTRY_COMPARE(gridView->isWrapEnabled(), true);
+ QTRY_COMPARE(gridView->cacheBuffer(), 10);
+ QTRY_COMPARE(gridView->flow(), QSGGridView::LeftToRight);
+
+ gridView->setWrapEnabled(false);
+ gridView->setCacheBuffer(3);
+ gridView->setFlow(QSGGridView::TopToBottom);
+
+ QTRY_COMPARE(gridView->isWrapEnabled(), false);
+ QTRY_COMPARE(gridView->cacheBuffer(), 3);
+ QTRY_COMPARE(gridView->flow(), QSGGridView::TopToBottom);
+
+ QTRY_COMPARE(keyNavigationWrapsSpy.count(),1);
+ QTRY_COMPARE(cacheBufferSpy.count(),1);
+ QTRY_COMPARE(flowSpy.count(),1);
+
+ gridView->setWrapEnabled(false);
+ gridView->setCacheBuffer(3);
+ gridView->setFlow(QSGGridView::TopToBottom);
+
+ QTRY_COMPARE(keyNavigationWrapsSpy.count(),1);
+ QTRY_COMPARE(cacheBufferSpy.count(),1);
+ QTRY_COMPARE(flowSpy.count(),1);
+
+ gridView->setFlow(QSGGridView::LeftToRight);
+ QTRY_COMPARE(gridView->flow(), QSGGridView::LeftToRight);
+
+ gridView->setWrapEnabled(true);
+ gridView->setCacheBuffer(5);
+ gridView->setLayoutDirection(Qt::RightToLeft);
+
+ QTRY_COMPARE(gridView->isWrapEnabled(), true);
+ QTRY_COMPARE(gridView->cacheBuffer(), 5);
+ QTRY_COMPARE(gridView->layoutDirection(), Qt::RightToLeft);
+
+ QTRY_COMPARE(keyNavigationWrapsSpy.count(),2);
+ QTRY_COMPARE(cacheBufferSpy.count(),2);
+ QTRY_COMPARE(layoutSpy.count(),1);
+ QTRY_COMPARE(flowSpy.count(),2);
+
+ gridView->setWrapEnabled(true);
+ gridView->setCacheBuffer(5);
+ gridView->setLayoutDirection(Qt::RightToLeft);
+
+ QTRY_COMPARE(keyNavigationWrapsSpy.count(),2);
+ QTRY_COMPARE(cacheBufferSpy.count(),2);
+ QTRY_COMPARE(layoutSpy.count(),1);
+ QTRY_COMPARE(flowSpy.count(),2);
+
+ gridView->setFlow(QSGGridView::TopToBottom);
+ QTRY_COMPARE(gridView->flow(), QSGGridView::TopToBottom);
+ QTRY_COMPARE(flowSpy.count(),3);
+
+ gridView->setFlow(QSGGridView::TopToBottom);
+ QTRY_COMPARE(flowSpy.count(),3);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::componentChanges()
+{
+ QSGView *canvas = createView();
+ QTRY_VERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychangestest.qml"));
+
+ QSGGridView *gridView = canvas->rootObject()->findChild<QSGGridView*>("gridView");
+ QTRY_VERIFY(gridView);
+
+ QDeclarativeComponent component(canvas->engine());
+ component.setData("import QtQuick 1.0; Rectangle { color: \"blue\"; }", QUrl::fromLocalFile(""));
+
+ QDeclarativeComponent delegateComponent(canvas->engine());
+ delegateComponent.setData("import QtQuick 1.0; Text { text: '<b>Name:</b> ' + name }", QUrl::fromLocalFile(""));
+
+ QSignalSpy highlightSpy(gridView, SIGNAL(highlightChanged()));
+ QSignalSpy delegateSpy(gridView, SIGNAL(delegateChanged()));
+ QSignalSpy headerSpy(gridView, SIGNAL(headerChanged()));
+ QSignalSpy footerSpy(gridView, SIGNAL(footerChanged()));
+
+ gridView->setHighlight(&component);
+ gridView->setDelegate(&delegateComponent);
+ gridView->setHeader(&component);
+ gridView->setFooter(&component);
+
+ QTRY_COMPARE(gridView->highlight(), &component);
+ QTRY_COMPARE(gridView->delegate(), &delegateComponent);
+ QTRY_COMPARE(gridView->header(), &component);
+ QTRY_COMPARE(gridView->footer(), &component);
+
+ QTRY_COMPARE(highlightSpy.count(),1);
+ QTRY_COMPARE(delegateSpy.count(),1);
+ QTRY_COMPARE(headerSpy.count(),1);
+ QTRY_COMPARE(footerSpy.count(),1);
+
+ gridView->setHighlight(&component);
+ gridView->setDelegate(&delegateComponent);
+ gridView->setHeader(&component);
+ gridView->setFooter(&component);
+
+ QTRY_COMPARE(highlightSpy.count(),1);
+ QTRY_COMPARE(delegateSpy.count(),1);
+ QTRY_COMPARE(headerSpy.count(),1);
+ QTRY_COMPARE(footerSpy.count(),1);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::modelChanges()
+{
+ QSGView *canvas = createView();
+ QTRY_VERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychangestest.qml"));
+
+ QSGGridView *gridView = canvas->rootObject()->findChild<QSGGridView*>("gridView");
+ QTRY_VERIFY(gridView);
+
+ QDeclarativeListModel *alternateModel = canvas->rootObject()->findChild<QDeclarativeListModel*>("alternateModel");
+ QTRY_VERIFY(alternateModel);
+ QVariant modelVariant = QVariant::fromValue(alternateModel);
+ QSignalSpy modelSpy(gridView, SIGNAL(modelChanged()));
+
+ gridView->setModel(modelVariant);
+ QTRY_COMPARE(gridView->model(), modelVariant);
+ QTRY_COMPARE(modelSpy.count(),1);
+
+ gridView->setModel(modelVariant);
+ QTRY_COMPARE(modelSpy.count(),1);
+
+ gridView->setModel(QVariant());
+ QTRY_COMPARE(modelSpy.count(),2);
+ delete canvas;
+}
+
+void tst_QSGGridView::positionViewAtIndex()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 40; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), (i%3)*80.);
+ QTRY_COMPARE(item->y(), (i/3)*60.);
+ }
+
+ // Position on a currently visible item
+ gridview->positionViewAtIndex(4, QSGGridView::Beginning);
+ QTRY_COMPARE(gridview->indexAt(120, 90), 4);
+ QTRY_COMPARE(gridview->contentY(), 60.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 3; i < model.count() && i < itemCount-3-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), (i%3)*80.);
+ QTRY_COMPARE(item->y(), (i/3)*60.);
+ }
+
+ // Position on an item beyond the visible items
+ gridview->positionViewAtIndex(21, QSGGridView::Beginning);
+ QTRY_COMPARE(gridview->indexAt(40, 450), 21);
+ QTRY_COMPARE(gridview->contentY(), 420.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 22; i < model.count() && i < itemCount-22-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), (i%3)*80.);
+ QTRY_COMPARE(item->y(), (i/3)*60.);
+ }
+
+ // Position on an item that would leave empty space if positioned at the top
+ gridview->positionViewAtIndex(31, QSGGridView::Beginning);
+ QTRY_COMPARE(gridview->indexAt(120, 630), 31);
+ QTRY_COMPARE(gridview->contentY(), 520.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 24; i < model.count() && i < itemCount-24-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), (i%3)*80.);
+ QTRY_COMPARE(item->y(), (i/3)*60.);
+ }
+
+ // Position at the beginning again
+ gridview->positionViewAtIndex(0, QSGGridView::Beginning);
+ QTRY_COMPARE(gridview->indexAt(0, 0), 0);
+ QTRY_COMPARE(gridview->indexAt(40, 30), 0);
+ QTRY_COMPARE(gridview->indexAt(80, 60), 4);
+ QTRY_COMPARE(gridview->contentY(), 0.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), (i%3)*80.);
+ QTRY_COMPARE(item->y(), (i/3)*60.);
+ }
+
+ // Position at End
+ gridview->positionViewAtIndex(30, QSGGridView::End);
+ QTRY_COMPARE(gridview->contentY(), 340.);
+
+ // Position in Center
+ gridview->positionViewAtIndex(15, QSGGridView::Center);
+ QTRY_COMPARE(gridview->contentY(), 170.);
+
+ // Ensure at least partially visible
+ gridview->positionViewAtIndex(15, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentY(), 170.);
+
+ gridview->setContentY(302);
+ gridview->positionViewAtIndex(15, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentY(), 302.);
+
+ gridview->setContentY(360);
+ gridview->positionViewAtIndex(15, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentY(), 300.);
+
+ gridview->setContentY(60);
+ gridview->positionViewAtIndex(20, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentY(), 60.);
+
+ gridview->setContentY(20);
+ gridview->positionViewAtIndex(20, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentY(), 100.);
+
+ // Ensure completely visible
+ gridview->setContentY(120);
+ gridview->positionViewAtIndex(20, QSGGridView::Contain);
+ QTRY_COMPARE(gridview->contentY(), 120.);
+
+ gridview->setContentY(302);
+ gridview->positionViewAtIndex(15, QSGGridView::Contain);
+ QTRY_COMPARE(gridview->contentY(), 300.);
+
+ gridview->setContentY(60);
+ gridview->positionViewAtIndex(20, QSGGridView::Contain);
+ QTRY_COMPARE(gridview->contentY(), 100.);
+
+ // Test for Top To Bottom layout
+ ctxt->setContextProperty("testTopToBottom", QVariant(true));
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), (i/5)*80.);
+ QTRY_COMPARE(item->y(), (i%5)*60.);
+ }
+
+ // Position at End
+ gridview->positionViewAtIndex(30, QSGGridView::End);
+ QTRY_COMPARE(gridview->contentX(), 320.);
+ QTRY_COMPARE(gridview->contentY(), 0.);
+
+ // Position in Center
+ gridview->positionViewAtIndex(15, QSGGridView::Center);
+ QTRY_COMPARE(gridview->contentX(), 160.);
+
+ // Ensure at least partially visible
+ gridview->positionViewAtIndex(15, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentX(), 160.);
+
+ gridview->setContentX(170);
+ gridview->positionViewAtIndex(25, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentX(), 170.);
+
+ gridview->positionViewAtIndex(30, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentX(), 320.);
+
+ gridview->setContentX(170);
+ gridview->positionViewAtIndex(25, QSGGridView::Contain);
+ QTRY_COMPARE(gridview->contentX(), 240.);
+
+ // positionViewAtBeginning
+ gridview->positionViewAtBeginning();
+ QTRY_COMPARE(gridview->contentX(), 0.);
+
+ gridview->setContentX(80);
+ canvas->rootObject()->setProperty("showHeader", true);
+ gridview->positionViewAtBeginning();
+ QTRY_COMPARE(gridview->contentX(), -30.);
+
+ // positionViewAtEnd
+ gridview->positionViewAtEnd();
+ QTRY_COMPARE(gridview->contentX(), 430.);
+
+ gridview->setContentX(80);
+ canvas->rootObject()->setProperty("showFooter", true);
+ gridview->positionViewAtEnd();
+ QTRY_COMPARE(gridview->contentX(), 460.);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::snapping()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 40; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ gridview->setHeight(220);
+ QCOMPARE(gridview->height(), 220.);
+
+ gridview->positionViewAtIndex(12, QSGGridView::Visible);
+ QCOMPARE(gridview->contentY(), 80.);
+
+ gridview->setContentY(0);
+ QCOMPARE(gridview->contentY(), 0.);
+
+ gridview->setSnapMode(QSGGridView::SnapToRow);
+ QCOMPARE(gridview->snapMode(), QSGGridView::SnapToRow);
+
+ gridview->positionViewAtIndex(12, QSGGridView::Visible);
+ QCOMPARE(gridview->contentY(), 60.);
+
+ gridview->positionViewAtIndex(15, QSGGridView::End);
+ QCOMPARE(gridview->contentY(), 120.);
+
+ delete canvas;
+
+}
+
+void tst_QSGGridView::mirroring()
+{
+ QSGView *canvasA = createView();
+ canvasA->setSource(QUrl::fromLocalFile(SRCDIR "/data/mirroring.qml"));
+ QSGGridView *gridviewA = findItem<QSGGridView>(canvasA->rootObject(), "view");
+ QTRY_VERIFY(gridviewA != 0);
+
+ QSGView *canvasB = createView();
+ canvasB->setSource(QUrl::fromLocalFile(SRCDIR "/data/mirroring.qml"));
+ QSGGridView *gridviewB = findItem<QSGGridView>(canvasB->rootObject(), "view");
+ QTRY_VERIFY(gridviewA != 0);
+ qApp->processEvents();
+
+ QList<QString> objectNames;
+ objectNames << "item1" << "item2"; // << "item3"
+
+ gridviewA->setProperty("layoutDirection", Qt::LeftToRight);
+ gridviewB->setProperty("layoutDirection", Qt::RightToLeft);
+ QCOMPARE(gridviewA->layoutDirection(), gridviewA->effectiveLayoutDirection());
+
+ // LTR != RTL
+ foreach(const QString objectName, objectNames)
+ QVERIFY(findItem<QSGItem>(gridviewA, objectName)->x() != findItem<QSGItem>(gridviewB, objectName)->x());
+
+ gridviewA->setProperty("layoutDirection", Qt::LeftToRight);
+ gridviewB->setProperty("layoutDirection", Qt::LeftToRight);
+
+ // LTR == LTR
+ foreach(const QString objectName, objectNames)
+ QCOMPARE(findItem<QSGItem>(gridviewA, objectName)->x(), findItem<QSGItem>(gridviewB, objectName)->x());
+
+ QVERIFY(gridviewB->layoutDirection() == gridviewB->effectiveLayoutDirection());
+ QSGItemPrivate::get(gridviewB)->setLayoutMirror(true);
+ QVERIFY(gridviewB->layoutDirection() != gridviewB->effectiveLayoutDirection());
+
+ // LTR != LTR+mirror
+ foreach(const QString objectName, objectNames)
+ QVERIFY(findItem<QSGItem>(gridviewA, objectName)->x() != findItem<QSGItem>(gridviewB, objectName)->x());
+
+ gridviewA->setProperty("layoutDirection", Qt::RightToLeft);
+
+ // RTL == LTR+mirror
+ foreach(const QString objectName, objectNames)
+ QCOMPARE(findItem<QSGItem>(gridviewA, objectName)->x(), findItem<QSGItem>(gridviewB, objectName)->x());
+
+ gridviewB->setProperty("layoutDirection", Qt::RightToLeft);
+
+ // RTL != RTL+mirror
+ foreach(const QString objectName, objectNames)
+ QVERIFY(findItem<QSGItem>(gridviewA, objectName)->x() != findItem<QSGItem>(gridviewB, objectName)->x());
+
+ gridviewA->setProperty("layoutDirection", Qt::LeftToRight);
+
+ // LTR == RTL+mirror
+ foreach(const QString objectName, objectNames)
+ QCOMPARE(findItem<QSGItem>(gridviewA, objectName)->x(), findItem<QSGItem>(gridviewB, objectName)->x());
+
+ delete canvasA;
+ delete canvasB;
+}
+
+void tst_QSGGridView::positionViewAtIndex_rightToLeft()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 40; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testTopToBottom", QVariant(true));
+ ctxt->setContextProperty("testRightToLeft", QVariant(true));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), qreal(-(i/5)*80-item->width()));
+ QTRY_COMPARE(item->y(), qreal((i%5)*60));
+ }
+
+ // Position on a currently visible item
+ gridview->positionViewAtIndex(6, QSGGridView::Beginning);
+ QTRY_COMPARE(gridview->contentX(), -320.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 3; i < model.count() && i < itemCount-3-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), qreal(-(i/5)*80-item->width()));
+ QTRY_COMPARE(item->y(), qreal((i%5)*60));
+ }
+
+ // Position on an item beyond the visible items
+ gridview->positionViewAtIndex(21, QSGGridView::Beginning);
+ QTRY_COMPARE(gridview->contentX(), -560.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 22; i < model.count() && i < itemCount-22-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), qreal(-(i/5)*80-item->width()));
+ QTRY_COMPARE(item->y(), qreal((i%5)*60));
+ }
+
+ // Position on an item that would leave empty space if positioned at the top
+ gridview->positionViewAtIndex(31, QSGGridView::Beginning);
+ QTRY_COMPARE(gridview->contentX(), -639.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 24; i < model.count() && i < itemCount-24-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), qreal(-(i/5)*80-item->width()));
+ QTRY_COMPARE(item->y(), qreal((i%5)*60));
+ }
+
+ // Position at the beginning again
+ gridview->positionViewAtIndex(0, QSGGridView::Beginning);
+ QTRY_COMPARE(gridview->contentX(), -240.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), qreal(-(i/5)*80-item->width()));
+ QTRY_COMPARE(item->y(), qreal((i%5)*60));
+ }
+
+ // Position at End
+ gridview->positionViewAtIndex(30, QSGGridView::End);
+ QTRY_COMPARE(gridview->contentX(), -560.);
+
+ // Position in Center
+ gridview->positionViewAtIndex(15, QSGGridView::Center);
+ QTRY_COMPARE(gridview->contentX(), -400.);
+
+ // Ensure at least partially visible
+ gridview->positionViewAtIndex(15, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentX(), -400.);
+
+ gridview->setContentX(-555.);
+ gridview->positionViewAtIndex(15, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentX(), -555.);
+
+ gridview->setContentX(-239);
+ gridview->positionViewAtIndex(15, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentX(), -320.);
+
+ gridview->setContentX(-239);
+ gridview->positionViewAtIndex(20, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentX(), -400.);
+
+ gridview->setContentX(-640);
+ gridview->positionViewAtIndex(20, QSGGridView::Visible);
+ QTRY_COMPARE(gridview->contentX(), -560.);
+
+ // Ensure completely visible
+ gridview->setContentX(-400);
+ gridview->positionViewAtIndex(20, QSGGridView::Contain);
+ QTRY_COMPARE(gridview->contentX(), -400.);
+
+ gridview->setContentX(-315);
+ gridview->positionViewAtIndex(15, QSGGridView::Contain);
+ QTRY_COMPARE(gridview->contentX(), -320.);
+
+ gridview->setContentX(-640);
+ gridview->positionViewAtIndex(20, QSGGridView::Contain);
+ QTRY_COMPARE(gridview->contentX(), -560.);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::resetModel()
+{
+ QSGView *canvas = createView();
+
+ QStringList strings;
+ strings << "one" << "two" << "three";
+ QStringListModel model(strings);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/displaygrid.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QTRY_COMPARE(gridview->count(), model.rowCount());
+
+ for (int i = 0; i < model.rowCount(); ++i) {
+ QSGText *display = findItem<QSGText>(contentItem, "displayText", i);
+ QTRY_VERIFY(display != 0);
+ QTRY_COMPARE(display->text(), strings.at(i));
+ }
+
+ strings.clear();
+ strings << "four" << "five" << "six" << "seven";
+ model.setStringList(strings);
+
+ QTRY_COMPARE(gridview->count(), model.rowCount());
+
+ for (int i = 0; i < model.rowCount(); ++i) {
+ QSGText *display = findItem<QSGText>(contentItem, "displayText", i);
+ QTRY_VERIFY(display != 0);
+ QTRY_COMPARE(display->text(), strings.at(i));
+ }
+
+ delete canvas;
+}
+
+void tst_QSGGridView::enforceRange()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview-enforcerange.qml"));
+ qApp->processEvents();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QTRY_COMPARE(gridview->preferredHighlightBegin(), 100.0);
+ QTRY_COMPARE(gridview->preferredHighlightEnd(), 100.0);
+ QTRY_COMPARE(gridview->highlightRangeMode(), QSGGridView::StrictlyEnforceRange);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // view should be positioned at the top of the range.
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", 0);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(gridview->contentY(), -100.0);
+
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 0);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(0));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 0);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(0));
+
+ // Check currentIndex is updated when contentItem moves
+ gridview->setContentY(0);
+ QTRY_COMPARE(gridview->currentIndex(), 2);
+
+ gridview->setCurrentIndex(5);
+ QTRY_COMPARE(gridview->contentY(), 100.);
+
+ TestModel model2;
+ for (int i = 0; i < 5; i++)
+ model2.addItem("Item" + QString::number(i), "");
+
+ ctxt->setContextProperty("testModel", &model2);
+ QCOMPARE(gridview->count(), 5);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::enforceRange_rightToLeft()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(true));
+ ctxt->setContextProperty("testTopToBottom", QVariant(true));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview-enforcerange.qml"));
+ qApp->processEvents();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QTRY_COMPARE(gridview->preferredHighlightBegin(), 100.0);
+ QTRY_COMPARE(gridview->preferredHighlightEnd(), 100.0);
+ QTRY_COMPARE(gridview->highlightRangeMode(), QSGGridView::StrictlyEnforceRange);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // view should be positioned at the top of the range.
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", 0);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(gridview->contentX(), -100.);
+ QTRY_COMPARE(gridview->contentY(), 0.0);
+
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 0);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(0));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 0);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(0));
+
+ // Check currentIndex is updated when contentItem moves
+ gridview->setContentX(-200);
+ QTRY_COMPARE(gridview->currentIndex(), 3);
+
+ gridview->setCurrentIndex(7);
+ QTRY_COMPARE(gridview->contentX(), -300.);
+ QTRY_COMPARE(gridview->contentY(), 0.0);
+
+ TestModel model2;
+ for (int i = 0; i < 5; i++)
+ model2.addItem("Item" + QString::number(i), "");
+
+ ctxt->setContextProperty("testModel", &model2);
+ QCOMPARE(gridview->count(), 5);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::QTBUG_8456()
+{
+ QSGView *canvas = createView();
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/setindex.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QTRY_COMPARE(gridview->currentIndex(), 0);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::manualHighlight()
+{
+ QSGView *canvas = createView();
+
+ QString filename(SRCDIR "/data/manual-highlight.qml");
+ canvas->setSource(QUrl::fromLocalFile(filename));
+
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QTRY_COMPARE(gridview->currentIndex(), 0);
+ QTRY_COMPARE(gridview->currentItem(), findItem<QSGItem>(contentItem, "wrapper", 0));
+ QTRY_COMPARE(gridview->highlightItem()->y() - 5, gridview->currentItem()->y());
+ QTRY_COMPARE(gridview->highlightItem()->x() - 5, gridview->currentItem()->x());
+
+ gridview->setCurrentIndex(2);
+
+ QTRY_COMPARE(gridview->currentIndex(), 2);
+ QTRY_COMPARE(gridview->currentItem(), findItem<QSGItem>(contentItem, "wrapper", 2));
+ QTRY_COMPARE(gridview->highlightItem()->y() - 5, gridview->currentItem()->y());
+ QTRY_COMPARE(gridview->highlightItem()->x() - 5, gridview->currentItem()->x());
+
+ gridview->positionViewAtIndex(8, QSGGridView::Contain);
+
+ QTRY_COMPARE(gridview->currentIndex(), 2);
+ QTRY_COMPARE(gridview->currentItem(), findItem<QSGItem>(contentItem, "wrapper", 2));
+ QTRY_COMPARE(gridview->highlightItem()->y() - 5, gridview->currentItem()->y());
+ QTRY_COMPARE(gridview->highlightItem()->x() - 5, gridview->currentItem()->x());
+
+ gridview->setFlow(QSGGridView::TopToBottom);
+ QTRY_COMPARE(gridview->flow(), QSGGridView::TopToBottom);
+
+ gridview->setCurrentIndex(0);
+ QTRY_COMPARE(gridview->currentIndex(), 0);
+ QTRY_COMPARE(gridview->currentItem(), findItem<QSGItem>(contentItem, "wrapper", 0));
+ QTRY_COMPARE(gridview->highlightItem()->y() - 5, gridview->currentItem()->y());
+ QTRY_COMPARE(gridview->highlightItem()->x() - 5, gridview->currentItem()->x());
+
+ delete canvas;
+}
+
+void tst_QSGGridView::footer()
+{
+ QSGView *canvas = createView();
+ canvas->show();
+
+ TestModel model;
+ for (int i = 0; i < 7; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/footer.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QSGText *footer = findItem<QSGText>(contentItem, "footer");
+ QVERIFY(footer);
+
+ QCOMPARE(footer->y(), 180.0);
+ QCOMPARE(footer->height(), 30.0);
+
+ model.removeItem(2);
+ QTRY_COMPARE(footer->y(), 120.0);
+
+ model.clear();
+ QTRY_COMPARE(footer->y(), 0.0);
+
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QMetaObject::invokeMethod(canvas->rootObject(), "changeFooter");
+
+ footer = findItem<QSGText>(contentItem, "footer");
+ QVERIFY(!footer);
+ footer = findItem<QSGText>(contentItem, "footer2");
+ QVERIFY(footer);
+
+ QCOMPARE(footer->y(), 600.0);
+ QCOMPARE(footer->height(), 20.0);
+ QCOMPARE(gridview->contentY(), 0.0);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::header()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/header.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QSGText *header = findItem<QSGText>(contentItem, "header");
+ QVERIFY(header);
+
+ QCOMPARE(header->y(), 0.0);
+ QCOMPARE(header->height(), 30.0);
+ QCOMPARE(gridview->contentY(), 0.0);
+
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", 0);
+ QVERIFY(item);
+ QCOMPARE(item->y(), 30.0);
+
+ model.clear();
+ QTRY_COMPARE(header->y(), 0.0);
+
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QMetaObject::invokeMethod(canvas->rootObject(), "changeHeader");
+
+ header = findItem<QSGText>(contentItem, "header");
+ QVERIFY(!header);
+ header = findItem<QSGText>(contentItem, "header2");
+ QVERIFY(header);
+
+ QCOMPARE(header->y(), 10.0);
+ QCOMPARE(header->height(), 20.0);
+ QCOMPARE(gridview->contentY(), 10.0);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::indexAt()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ model.addItem("Fred", "12345");
+ model.addItem("John", "2345");
+ model.addItem("Bob", "54321");
+ model.addItem("Billy", "22345");
+ model.addItem("Sam", "2945");
+ model.addItem("Ben", "04321");
+ model.addItem("Jim", "0780");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testRightToLeft", QVariant(false));
+ ctxt->setContextProperty("testTopToBottom", QVariant(false));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/gridview1.qml"));
+ qApp->processEvents();
+
+ QSGGridView *gridview = findItem<QSGGridView>(canvas->rootObject(), "grid");
+ QTRY_VERIFY(gridview != 0);
+
+ QSGItem *contentItem = gridview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QTRY_COMPARE(gridview->count(), model.count());
+
+ QCOMPARE(gridview->indexAt(0, 0), 0);
+ QCOMPARE(gridview->indexAt(79, 59), 0);
+ QCOMPARE(gridview->indexAt(80, 0), 1);
+ QCOMPARE(gridview->indexAt(0, 60), 3);
+ QCOMPARE(gridview->indexAt(240, 0), -1);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::onAdd()
+{
+ QFETCH(int, initialItemCount);
+ QFETCH(int, itemsToAdd);
+
+ const int delegateWidth = 50;
+ const int delegateHeight = 100;
+ TestModel model;
+ QSGView *canvas = createView();
+ canvas->setFixedSize(5 * delegateWidth, 5 * delegateHeight); // just ensure all items fit
+
+ // these initial items should not trigger GridView.onAdd
+ for (int i=0; i<initialItemCount; i++)
+ model.addItem("dummy value", "dummy value");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("delegateWidth", delegateWidth);
+ ctxt->setContextProperty("delegateHeight", delegateHeight);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/attachedSignals.qml"));
+
+ QObject *object = canvas->rootObject();
+ object->setProperty("width", canvas->width());
+ object->setProperty("height", canvas->height());
+ qApp->processEvents();
+
+ QList<QPair<QString, QString> > items;
+ for (int i=0; i<itemsToAdd; i++)
+ items << qMakePair(QString("value %1").arg(i), QString::number(i));
+ model.addItems(items);
+
+ qApp->processEvents();
+
+ QVariantList result = object->property("addedDelegates").toList();
+ QCOMPARE(result.count(), items.count());
+ for (int i=0; i<items.count(); i++)
+ QCOMPARE(result[i].toString(), items[i].first);
+
+ delete canvas;
+}
+
+void tst_QSGGridView::onAdd_data()
+{
+ QTest::addColumn<int>("initialItemCount");
+ QTest::addColumn<int>("itemsToAdd");
+
+ QTest::newRow("0, add 1") << 0 << 1;
+ QTest::newRow("0, add 2") << 0 << 2;
+ QTest::newRow("0, add 10") << 0 << 10;
+
+ QTest::newRow("1, add 1") << 1 << 1;
+ QTest::newRow("1, add 2") << 1 << 2;
+ QTest::newRow("1, add 10") << 1 << 10;
+
+ QTest::newRow("5, add 1") << 5 << 1;
+ QTest::newRow("5, add 2") << 5 << 2;
+ QTest::newRow("5, add 10") << 5 << 10;
+}
+
+void tst_QSGGridView::onRemove()
+{
+ QFETCH(int, initialItemCount);
+ QFETCH(int, indexToRemove);
+ QFETCH(int, removeCount);
+
+ const int delegateWidth = 50;
+ const int delegateHeight = 100;
+ TestModel model;
+ for (int i=0; i<initialItemCount; i++)
+ model.addItem(QString("value %1").arg(i), "dummy value");
+
+ QSGView *canvas = createView();
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("delegateWidth", delegateWidth);
+ ctxt->setContextProperty("delegateHeight", delegateHeight);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/attachedSignals.qml"));
+ QObject *object = canvas->rootObject();
+
+ qApp->processEvents();
+
+ model.removeItems(indexToRemove, removeCount);
+ qApp->processEvents();
+ QCOMPARE(object->property("removedDelegateCount"), QVariant(removeCount));
+
+ delete canvas;
+}
+
+void tst_QSGGridView::onRemove_data()
+{
+ QTest::addColumn<int>("initialItemCount");
+ QTest::addColumn<int>("indexToRemove");
+ QTest::addColumn<int>("removeCount");
+
+ QTest::newRow("remove first") << 1 << 0 << 1;
+ QTest::newRow("two items, remove first") << 2 << 0 << 1;
+ QTest::newRow("two items, remove last") << 2 << 1 << 1;
+ QTest::newRow("two items, remove all") << 2 << 0 << 2;
+
+ QTest::newRow("four items, remove first") << 4 << 0 << 1;
+ QTest::newRow("four items, remove 0-2") << 4 << 0 << 2;
+ QTest::newRow("four items, remove 1-3") << 4 << 1 << 2;
+ QTest::newRow("four items, remove 2-4") << 4 << 2 << 2;
+ QTest::newRow("four items, remove last") << 4 << 3 << 1;
+ QTest::newRow("four items, remove all") << 4 << 0 << 4;
+
+ QTest::newRow("ten items, remove 1-8") << 10 << 0 << 8;
+ QTest::newRow("ten items, remove 2-7") << 10 << 2 << 5;
+ QTest::newRow("ten items, remove 4-10") << 10 << 4 << 6;
+}
+
+void tst_QSGGridView::testQtQuick11Attributes()
+{
+ QFETCH(QString, code);
+ QFETCH(QString, warning);
+ QFETCH(QString, error);
+
+ QDeclarativeEngine engine;
+ QObject *obj;
+
+ QDeclarativeComponent valid(&engine);
+ valid.setData("import QtQuick 1.1; GridView { " + code.toUtf8() + " }", QUrl(""));
+ obj = valid.create();
+ QVERIFY(obj);
+ QVERIFY(valid.errorString().isEmpty());
+ delete obj;
+
+ QDeclarativeComponent invalid(&engine);
+ invalid.setData("import QtQuick 1.0; GridView { " + code.toUtf8() + " }", QUrl(""));
+ QTest::ignoreMessage(QtWarningMsg, warning.toUtf8());
+ obj = invalid.create();
+ QCOMPARE(invalid.errorString(), error);
+ delete obj;
+}
+
+void tst_QSGGridView::testQtQuick11Attributes_data()
+{
+ QTest::addColumn<QString>("code");
+ QTest::addColumn<QString>("warning");
+ QTest::addColumn<QString>("error");
+
+ QTest::newRow("positionViewAtBeginning") << "Component.onCompleted: positionViewAtBeginning()"
+ << "<Unknown File>:1: ReferenceError: Can't find variable: positionViewAtBeginning"
+ << "";
+
+ QTest::newRow("positionViewAtEnd") << "Component.onCompleted: positionViewAtEnd()"
+ << "<Unknown File>:1: ReferenceError: Can't find variable: positionViewAtEnd"
+ << "";
+}
+
+QSGView *tst_QSGGridView::createView()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ return canvas;
+}
+
+/*
+ Find an item with the specified objectName. If index is supplied then the
+ item must also evaluate the {index} expression equal to index
+*/
+template<typename T>
+T *tst_QSGGridView::findItem(QSGItem *parent, const QString &objectName, int index)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->childItems().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ if (index != -1) {
+ QDeclarativeContext *context = QDeclarativeEngine::contextForObject(item);
+ if (context) {
+ if (context->contextProperty("index").toInt() == index) {
+ return static_cast<T*>(item);
+ }
+ }
+ } else {
+ return static_cast<T*>(item);
+ }
+ }
+ item = findItem<T>(item, objectName, index);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
+
+template<typename T>
+QList<T*> tst_QSGGridView::findItems(QSGItem *parent, const QString &objectName)
+{
+ QList<T*> items;
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->childItems().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ items.append(static_cast<T*>(item));
+ //qDebug() << " found:" << item;
+ }
+ items += findItems<T>(item, objectName);
+ }
+
+ return items;
+}
+
+void tst_QSGGridView::dumpTree(QSGItem *parent, int depth)
+{
+ static QString padding(" ");
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ QDeclarativeContext *context = QDeclarativeEngine::contextForObject(item);
+ qDebug() << padding.left(depth*2) << item << (context ? context->contextProperty("index").toInt() : -1);
+ dumpTree(item, depth+1);
+ }
+}
+
+
+QTEST_MAIN(tst_QSGGridView)
+
+#include "tst_qsggridview.moc"
diff --git a/tests/auto/declarative/qsgimage/data/aspectratio.qml b/tests/auto/declarative/qsgimage/data/aspectratio.qml
new file mode 100644
index 0000000000..b26f0e1f04
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/aspectratio.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+Image {
+ source: "heart.png"
+ fillMode: Image.PreserveAspectFit;
+}
diff --git a/tests/auto/declarative/qsgimage/data/big.jpeg b/tests/auto/declarative/qsgimage/data/big.jpeg
new file mode 100644
index 0000000000..bed7bd65c3
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/big.jpeg
Binary files differ
diff --git a/tests/auto/declarative/qsgimage/data/big256.png b/tests/auto/declarative/qsgimage/data/big256.png
new file mode 100644
index 0000000000..1dc1596d03
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/big256.png
Binary files differ
diff --git a/tests/auto/declarative/qsgimage/data/colors.png b/tests/auto/declarative/qsgimage/data/colors.png
new file mode 100644
index 0000000000..dfb62f3d64
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/colors.png
Binary files differ
diff --git a/tests/auto/declarative/qsgimage/data/colors1.png b/tests/auto/declarative/qsgimage/data/colors1.png
new file mode 100644
index 0000000000..dfb62f3d64
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/colors1.png
Binary files differ
diff --git a/tests/auto/declarative/qsgimage/data/green.png b/tests/auto/declarative/qsgimage/data/green.png
new file mode 100644
index 0000000000..0a2e153ba1
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/green.png
Binary files differ
diff --git a/tests/auto/declarative/qsgimage/data/heart-win32.png b/tests/auto/declarative/qsgimage/data/heart-win32.png
new file mode 100644
index 0000000000..351da13772
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/heart-win32.png
Binary files differ
diff --git a/tests/auto/declarative/qsgimage/data/heart.png b/tests/auto/declarative/qsgimage/data/heart.png
new file mode 100644
index 0000000000..abe97fee4b
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/heart.png
Binary files differ
diff --git a/tests/auto/declarative/qsgimage/data/heart.svg b/tests/auto/declarative/qsgimage/data/heart.svg
new file mode 100644
index 0000000000..8c982cd93c
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/heart.svg
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) --><svg viewBox="100 200 550 500" height="841.88976pt" id="svg1" inkscape:version="0.40+cvs" sodipodi:docbase="C:\Documents and Settings\Jon Phillips\My Documents\projects\clipart-project\submissions" sodipodi:docname="heart-left-highlight.svg" sodipodi:version="0.32" width="595.27559pt" xmlns="http://www.w3.org/2000/svg" xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:sodipodi="http://inkscape.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:svg="http://www.w3.org/2000/svg">
+<metadata>
+<rdf:RDF xmlns:cc="http://web.resource.org/cc/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+<cc:Work rdf:about="">
+<dc:title>Heart Left-Highlight</dc:title>
+<dc:description>This is a normal valentines day heart.</dc:description>
+<dc:subject>
+<rdf:Bag>
+<rdf:li>holiday</rdf:li>
+<rdf:li>valentines</rdf:li>
+<rdf:li></rdf:li>
+<rdf:li>valentine</rdf:li>
+<rdf:li>hash(0x8a091c0)</rdf:li>
+<rdf:li>hash(0x8a0916c)</rdf:li>
+<rdf:li>signs_and_symbols</rdf:li>
+<rdf:li>hash(0x8a091f0)</rdf:li>
+<rdf:li>day</rdf:li>
+</rdf:Bag>
+</dc:subject>
+<dc:publisher>
+<cc:Agent rdf:about="http://www.openclipart.org">
+<dc:title>Jon Phillips</dc:title>
+</cc:Agent>
+</dc:publisher>
+<dc:creator>
+<cc:Agent>
+<dc:title>Jon Phillips</dc:title>
+</cc:Agent>
+</dc:creator>
+<dc:rights>
+<cc:Agent>
+<dc:title>Jon Phillips</dc:title>
+</cc:Agent>
+</dc:rights>
+<dc:date></dc:date>
+<dc:format>image/svg+xml</dc:format>
+<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage"/>
+<cc:license rdf:resource="http://web.resource.org/cc/PublicDomain"/>
+<dc:language>en</dc:language>
+</cc:Work>
+<cc:License rdf:about="http://web.resource.org/cc/PublicDomain">
+<cc:permits rdf:resource="http://web.resource.org/cc/Reproduction"/>
+<cc:permits rdf:resource="http://web.resource.org/cc/Distribution"/>
+<cc:permits rdf:resource="http://web.resource.org/cc/DerivativeWorks"/>
+</cc:License>
+</rdf:RDF>
+</metadata>
+<defs id="defs3"/>
+<sodipodi:namedview bordercolor="#666666" borderopacity="1.0" id="base" inkscape:current-layer="layer1" inkscape:cx="549.40674" inkscape:cy="596.00159" inkscape:document-units="px" inkscape:guide-bbox="true" inkscape:pageopacity="0.0" inkscape:pageshadow="2" inkscape:window-height="615" inkscape:window-width="866" inkscape:window-x="88" inkscape:window-y="116" inkscape:zoom="0.35000000" pagecolor="#ffffff" showguides="true"/>
+<g id="layer1" inkscape:groupmode="layer" inkscape:label="Layer 1">
+<path d="M 263.41570,235.14588 C 197.17570,235.14588 143.41575,288.90587 143.41575,355.14588 C 143.41575,489.90139 279.34890,525.23318 371.97820,658.45392 C 459.55244,526.05056 600.54070,485.59932 600.54070,355.14588 C 600.54070,288.90588 546.78080,235.14587 480.54070,235.14588 C 432.49280,235.14588 391.13910,263.51631 371.97820,304.33338 C 352.81740,263.51630 311.46370,235.14587 263.41570,235.14588 z " id="path7" sodipodi:nodetypes="ccccccc" style="fill:#e60000;fill-opacity:1.0000000;stroke:#000000;stroke-width:18.700001;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"/>
+<path d="M 265.00000,253.59375 C 207.04033,253.59375 160.00000,300.63407 160.00000,358.59375 C 160.00000,476.50415 278.91857,507.43251 359.96875,624.00000 C 366.52868,614.08205 220.00000,478.47309 220.00000,378.59375 C 220.00000,320.63407 267.04033,273.59375 325.00000,273.59375 C 325.50453,273.59375 325.99718,273.64912 326.50000,273.65625 C 309.22436,261.07286 288.00557,253.59374 265.00000,253.59375 z " id="path220" sodipodi:nodetypes="ccccccc" style="fill:#e6e6e6;fill-opacity:0.64556962;stroke:none;stroke-width:18.700001;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"/>
+</g>
+</svg>
diff --git a/tests/auto/declarative/qsgimage/data/heart200-win32.png b/tests/auto/declarative/qsgimage/data/heart200-win32.png
new file mode 100644
index 0000000000..4976ff98ba
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/heart200-win32.png
Binary files differ
diff --git a/tests/auto/declarative/qsgimage/data/heart200.png b/tests/auto/declarative/qsgimage/data/heart200.png
new file mode 100644
index 0000000000..7fbb13c5bb
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/heart200.png
Binary files differ
diff --git a/tests/auto/declarative/qsgimage/data/htiling.qml b/tests/auto/declarative/qsgimage/data/htiling.qml
new file mode 100644
index 0000000000..f192f931c9
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/htiling.qml
@@ -0,0 +1,11 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 200; height: 550
+
+ Image {
+ objectName: "tiling"; anchors.fill: parent
+ source: "green.png"; fillMode: Image.TileHorizontally
+ }
+}
+
diff --git a/tests/auto/declarative/qsgimage/data/mirror.qml b/tests/auto/declarative/qsgimage/data/mirror.qml
new file mode 100644
index 0000000000..101a3a28ce
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/mirror.qml
@@ -0,0 +1,11 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 300
+ height: 250
+ Image {
+ objectName: "image"
+ anchors.fill: parent
+ source: "heart200.png"
+ }
+}
diff --git a/tests/auto/declarative/qsgimage/data/nullpixmap.qml b/tests/auto/declarative/qsgimage/data/nullpixmap.qml
new file mode 100644
index 0000000000..d52f41f164
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/nullpixmap.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+Image {
+ width: 10; height:10; fillMode: Image.PreserveAspectFit
+ source: ""
+}
diff --git a/tests/auto/declarative/qsgimage/data/qtbug_16389.qml b/tests/auto/declarative/qsgimage/data/qtbug_16389.qml
new file mode 100644
index 0000000000..7b8adecb11
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/qtbug_16389.qml
@@ -0,0 +1,30 @@
+import QtQuick 2.0
+Rectangle {
+ width: 400
+ height: 400
+
+ Item {
+ anchors.top: parent.top
+ anchors.left: parent.left
+ anchors.bottom: blueHandle.top
+ anchors.right: blueHandle.left
+
+ Image {
+ id: iconImage
+ objectName: "iconImage"
+ anchors.top: parent.top
+ anchors.bottom: parent.bottom
+ source: "heart200.png"
+ fillMode: Image.PreserveAspectFit
+ smooth: true
+ }
+ }
+
+ Rectangle {
+ id: blueHandle
+ objectName: "blueHandle"
+ color: "blue"
+ width: 25
+ height: 25
+ }
+}
diff --git a/tests/auto/declarative/qsgimage/data/rect.png b/tests/auto/declarative/qsgimage/data/rect.png
new file mode 100644
index 0000000000..d564a2d5a5
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/rect.png
Binary files differ
diff --git a/tests/auto/declarative/qsgimage/data/vtiling.qml b/tests/auto/declarative/qsgimage/data/vtiling.qml
new file mode 100644
index 0000000000..f730f6e050
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/data/vtiling.qml
@@ -0,0 +1,11 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 550; height: 200
+
+ Image {
+ objectName: "tiling"; anchors.fill: parent
+ source: "green.png"; fillMode: Image.TileVertically
+ }
+}
+
diff --git a/tests/auto/declarative/qsgimage/qsgimage.pro b/tests/auto/declarative/qsgimage/qsgimage.pro
new file mode 100644
index 0000000000..7de254d03c
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/qsgimage.pro
@@ -0,0 +1,18 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui network
+macx:CONFIG -= app_bundle
+
+HEADERS += ../shared/testhttpserver.h
+SOURCES += tst_qsgimage.cpp ../shared/testhttpserver.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qsgimage/tst_qsgimage.cpp b/tests/auto/declarative/qsgimage/tst_qsgimage.cpp
new file mode 100644
index 0000000000..3f5f6a1a97
--- /dev/null
+++ b/tests/auto/declarative/qsgimage/tst_qsgimage.cpp
@@ -0,0 +1,693 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QTextDocument>
+#include <QTcpServer>
+#include <QTcpSocket>
+#include <QDir>
+
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qsgview.h>
+#include <private/qsgimage_p.h>
+#include <private/qsgimagebase_p.h>
+#include <private/qsgloader_p.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtTest/QSignalSpy>
+
+#include "../../../shared/util.h"
+#include "../shared/testhttpserver.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+#define SERVER_PORT 14451
+#define SERVER_ADDR "http://127.0.0.1:14451"
+
+class tst_qsgimage : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qsgimage();
+
+private slots:
+ void noSource();
+ void imageSource();
+ void imageSource_data();
+ void clearSource();
+ void resized();
+ void preserveAspectRatio();
+ void smooth();
+ void mirror();
+ void mirror_data();
+ void svg();
+ void geometry();
+ void geometry_data();
+ void big();
+ void tiling_QTBUG_6716();
+ void tiling_QTBUG_6716_data();
+ void noLoading();
+ void paintedWidthHeight();
+ void sourceSize_QTBUG_14303();
+ void sourceSize_QTBUG_16389();
+ void nullPixmapPaint();
+
+private:
+ template<typename T>
+ T *findItem(QSGItem *parent, const QString &id, int index=-1);
+
+ QDeclarativeEngine engine;
+};
+
+tst_qsgimage::tst_qsgimage()
+{
+}
+
+void tst_qsgimage::noSource()
+{
+ QString componentStr = "import QtQuick 2.0\nImage { source: \"\" }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->source(), QUrl());
+ QVERIFY(obj->status() == QSGImage::Null);
+ QCOMPARE(obj->width(), 0.);
+ QCOMPARE(obj->height(), 0.);
+ QCOMPARE(obj->fillMode(), QSGImage::Stretch);
+ QCOMPARE(obj->progress(), 0.0);
+
+ delete obj;
+}
+
+void tst_qsgimage::imageSource_data()
+{
+ QTest::addColumn<QString>("source");
+ QTest::addColumn<double>("width");
+ QTest::addColumn<double>("height");
+ QTest::addColumn<bool>("remote");
+ QTest::addColumn<bool>("async");
+ QTest::addColumn<bool>("cache");
+ QTest::addColumn<QString>("error");
+
+ QTest::newRow("local") << QUrl::fromLocalFile(SRCDIR "/data/colors.png").toString() << 120.0 << 120.0 << false << false << true << "";
+ QTest::newRow("local no cache") << QUrl::fromLocalFile(SRCDIR "/data/colors.png").toString() << 120.0 << 120.0 << false << false << false << "";
+ QTest::newRow("local async") << QUrl::fromLocalFile(SRCDIR "/data/colors1.png").toString() << 120.0 << 120.0 << false << true << true << "";
+ QTest::newRow("local not found") << QUrl::fromLocalFile(SRCDIR "/data/no-such-file.png").toString() << 0.0 << 0.0 << false
+ << false << true << "file::2:1: QML Image: Cannot open: " + QUrl::fromLocalFile(SRCDIR "/data/no-such-file.png").toString();
+ QTest::newRow("local async not found") << QUrl::fromLocalFile(SRCDIR "/data/no-such-file-1.png").toString() << 0.0 << 0.0 << false
+ << true << true << "file::2:1: QML Image: Cannot open: " + QUrl::fromLocalFile(SRCDIR "/data/no-such-file-1.png").toString();
+ QTest::newRow("remote") << SERVER_ADDR "/colors.png" << 120.0 << 120.0 << true << false << true << "";
+ QTest::newRow("remote redirected") << SERVER_ADDR "/oldcolors.png" << 120.0 << 120.0 << true << false << false << "";
+ QTest::newRow("remote svg") << SERVER_ADDR "/heart.svg" << 550.0 << 500.0 << true << false << false << "";
+ QTest::newRow("remote not found") << SERVER_ADDR "/no-such-file.png" << 0.0 << 0.0 << true
+ << false << true << "file::2:1: QML Image: Error downloading " SERVER_ADDR "/no-such-file.png - server replied: Not found";
+
+}
+
+void tst_qsgimage::imageSource()
+{
+ QFETCH(QString, source);
+ QFETCH(double, width);
+ QFETCH(double, height);
+ QFETCH(bool, remote);
+ QFETCH(bool, async);
+ QFETCH(bool, cache);
+ QFETCH(QString, error);
+
+ TestHTTPServer server(SERVER_PORT);
+ if (remote) {
+ QVERIFY(server.isValid());
+ server.serveDirectory(SRCDIR "/data");
+ server.addRedirect("oldcolors.png", SERVER_ADDR "/colors.png");
+ }
+
+ if (!error.isEmpty())
+ QTest::ignoreMessage(QtWarningMsg, error.toUtf8());
+
+ QString componentStr = "import QtQuick 2.0\nImage { source: \"" + source + "\"; asynchronous: "
+ + (async ? QLatin1String("true") : QLatin1String("false")) + "; cache: "
+ + (cache ? QLatin1String("true") : QLatin1String("false")) + " }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+
+ if (async)
+ QVERIFY(obj->asynchronous() == true);
+ else
+ QVERIFY(obj->asynchronous() == false);
+
+ if (cache)
+ QVERIFY(obj->cache() == true);
+ else
+ QVERIFY(obj->cache() == false);
+
+ if (remote || async)
+ QTRY_VERIFY(obj->status() == QSGImage::Loading);
+
+ QCOMPARE(obj->source(), remote ? source : QUrl(source));
+
+ if (error.isEmpty()) {
+ QTRY_VERIFY(obj->status() == QSGImage::Ready);
+ QCOMPARE(obj->width(), qreal(width));
+ QCOMPARE(obj->height(), qreal(height));
+ QCOMPARE(obj->fillMode(), QSGImage::Stretch);
+ QCOMPARE(obj->progress(), 1.0);
+ } else {
+ QTRY_VERIFY(obj->status() == QSGImage::Error);
+ }
+
+ delete obj;
+}
+
+void tst_qsgimage::clearSource()
+{
+ QString componentStr = "import QtQuick 2.0\nImage { source: srcImage }";
+ QDeclarativeContext *ctxt = engine.rootContext();
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/colors.png"));
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+ QVERIFY(obj->status() == QSGImage::Ready);
+ QCOMPARE(obj->width(), 120.);
+ QCOMPARE(obj->height(), 120.);
+ QCOMPARE(obj->progress(), 1.0);
+
+ ctxt->setContextProperty("srcImage", "");
+ QVERIFY(obj->source().isEmpty());
+ QVERIFY(obj->status() == QSGImage::Null);
+ QCOMPARE(obj->width(), 0.);
+ QCOMPARE(obj->height(), 0.);
+ QCOMPARE(obj->progress(), 0.0);
+
+ delete obj;
+}
+
+void tst_qsgimage::resized()
+{
+ QString componentStr = "import QtQuick 2.0\nImage { source: \"" SRCDIR "/data/colors.png\"; width: 300; height: 300 }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->fillMode(), QSGImage::Stretch);
+ delete obj;
+}
+
+
+void tst_qsgimage::preserveAspectRatio()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->show();
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/aspectratio.qml"));
+ QSGImage *image = qobject_cast<QSGImage*>(canvas->rootObject());
+ QVERIFY(image != 0);
+ image->setWidth(80.0);
+ QCOMPARE(image->width(), 80.);
+ QCOMPARE(image->height(), 80.);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/aspectratio.qml"));
+ image = qobject_cast<QSGImage*>(canvas->rootObject());
+ image->setHeight(60.0);
+ QVERIFY(image != 0);
+ QCOMPARE(image->height(), 60.);
+ QCOMPARE(image->width(), 60.);
+ delete canvas;
+}
+
+void tst_qsgimage::smooth()
+{
+ QString componentStr = "import QtQuick 2.0\nImage { source: \"" SRCDIR "/data/colors.png\"; smooth: true; width: 300; height: 300 }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 300.);
+ QCOMPARE(obj->height(), 300.);
+ QCOMPARE(obj->smooth(), true);
+ QCOMPARE(obj->fillMode(), QSGImage::Stretch);
+
+ delete obj;
+}
+
+void tst_qsgimage::mirror()
+{
+ QFETCH(int, fillMode);
+
+ qreal width = 300;
+ qreal height = 250;
+
+ QSGView *canvas = new QSGView;
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/mirror.qml"));
+
+ QSGImage *obj = canvas->rootObject()->findChild<QSGImage*>("image");
+ QVERIFY(obj != 0);
+
+ obj->setFillMode((QSGImage::FillMode)fillMode);
+ obj->setProperty("mirror", true);
+
+ canvas->show();
+
+ QPixmap screenshot = canvas->renderPixmap();
+
+ QPixmap srcPixmap;
+ QVERIFY(srcPixmap.load(SRCDIR "/data/heart200.png"));
+
+ QPixmap expected(width, height);
+ expected.fill();
+ QPainter p_e(&expected);
+ QTransform transform;
+ transform.translate(width, 0).scale(-1, 1.0);
+ p_e.setTransform(transform);
+
+ switch (fillMode) {
+ case QSGImage::Stretch:
+ p_e.drawPixmap(QRect(0, 0, width, height), srcPixmap, QRect(0, 0, srcPixmap.width(), srcPixmap.height()));
+ break;
+ case QSGImage::PreserveAspectFit:
+ p_e.drawPixmap(QRect(25, 0, width / (width/height), height), srcPixmap, QRect(0, 0, srcPixmap.width(), srcPixmap.height()));
+ break;
+ case QSGImage::PreserveAspectCrop:
+ {
+ qreal ratio = width/srcPixmap.width(); // width is the longer side
+ QRect rect(0, 0, srcPixmap.width()*ratio, srcPixmap.height()*ratio);
+ rect.moveCenter(QRect(0, 0, width, height).center());
+ p_e.drawPixmap(rect, srcPixmap, QRect(0, 0, srcPixmap.width(), srcPixmap.height()));
+ break;
+ }
+ case QSGImage::Tile:
+ p_e.drawTiledPixmap(QRect(0, 0, width, height), srcPixmap);
+ break;
+ case QSGImage::TileVertically:
+ transform.scale(width / srcPixmap.width(), 1.0);
+ p_e.setTransform(transform);
+ p_e.drawTiledPixmap(QRect(0, 0, width, height), srcPixmap);
+ break;
+ case QSGImage::TileHorizontally:
+ transform.scale(1.0, height / srcPixmap.height());
+ p_e.setTransform(transform);
+ p_e.drawTiledPixmap(QRect(0, 0, width, height), srcPixmap);
+ break;
+ }
+
+ QSKIP("Skip while QTBUG-19351 and QTBUG-19252 are not resolved", SkipSingle);
+ QCOMPARE(screenshot, expected);
+
+ delete canvas;
+}
+
+void tst_qsgimage::mirror_data()
+{
+ QTest::addColumn<int>("fillMode");
+
+ QTest::newRow("Stretch") << int(QSGImage::Stretch);
+ QTest::newRow("PreserveAspectFit") << int(QSGImage::PreserveAspectFit);
+ QTest::newRow("PreserveAspectCrop") << int(QSGImage::PreserveAspectCrop);
+ QTest::newRow("Tile") << int(QSGImage::Tile);
+ QTest::newRow("TileVertically") << int(QSGImage::TileVertically);
+ QTest::newRow("TileHorizontally") << int(QSGImage::TileHorizontally);
+}
+
+void tst_qsgimage::svg()
+{
+ QString src = QUrl::fromLocalFile(SRCDIR "/data/heart.svg").toString();
+ QString componentStr = "import QtQuick 2.0\nImage { source: \"" + src + "\"; sourceSize.width: 300; sourceSize.height: 300 }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 300.0);
+ QCOMPARE(obj->height(), 300.0);
+ obj->setSourceSize(QSize(200,200));
+
+ QCOMPARE(obj->width(), 200.0);
+ QCOMPARE(obj->height(), 200.0);
+ delete obj;
+}
+
+void tst_qsgimage::geometry_data()
+{
+ QTest::addColumn<QString>("fillMode");
+ QTest::addColumn<bool>("explicitWidth");
+ QTest::addColumn<bool>("explicitHeight");
+ QTest::addColumn<double>("itemWidth");
+ QTest::addColumn<double>("paintedWidth");
+ QTest::addColumn<double>("boundingWidth");
+ QTest::addColumn<double>("itemHeight");
+ QTest::addColumn<double>("paintedHeight");
+ QTest::addColumn<double>("boundingHeight");
+
+ // tested image has width 200, height 100
+
+ // bounding rect and item rect are equal with fillMode PreserveAspectFit, painted rect may be smaller if the aspect ratio doesn't match
+ QTest::newRow("PreserveAspectFit") << "PreserveAspectFit" << false << false << 200.0 << 200.0 << 200.0 << 100.0 << 100.0 << 100.0;
+ QTest::newRow("PreserveAspectFit explicit width 300") << "PreserveAspectFit" << true << false << 300.0 << 200.0 << 300.0 << 100.0 << 100.0 << 100.0;
+ QTest::newRow("PreserveAspectFit explicit height 400") << "PreserveAspectFit" << false << true << 200.0 << 200.0 << 200.0 << 400.0 << 100.0 << 400.0;
+ QTest::newRow("PreserveAspectFit explicit width 300, height 400") << "PreserveAspectFit" << true << true << 300.0 << 300.0 << 300.0 << 400.0 << 150.0 << 400.0;
+
+ // bounding rect and painted rect are equal with fillMode PreserveAspectCrop, item rect may be smaller if the aspect ratio doesn't match
+ QTest::newRow("PreserveAspectCrop") << "PreserveAspectCrop" << false << false << 200.0 << 200.0 << 200.0 << 100.0 << 100.0 << 100.0;
+ QTest::newRow("PreserveAspectCrop explicit width 300") << "PreserveAspectCrop" << true << false << 300.0 << 300.0 << 300.0 << 100.0 << 150.0 << 150.0;
+ QTest::newRow("PreserveAspectCrop explicit height 400") << "PreserveAspectCrop" << false << true << 200.0 << 800.0 << 800.0 << 400.0 << 400.0 << 400.0;
+ QTest::newRow("PreserveAspectCrop explicit width 300, height 400") << "PreserveAspectCrop" << true << true << 300.0 << 800.0 << 800.0 << 400.0 << 400.0 << 400.0;
+
+ // bounding rect, painted rect and item rect are equal in stretching and tiling images
+ QStringList fillModes;
+ fillModes << "Stretch" << "Tile" << "TileVertically" << "TileHorizontally";
+ foreach (QString fillMode, fillModes) {
+ QTest::newRow(fillMode.toLatin1()) << fillMode << false << false << 200.0 << 200.0 << 200.0 << 100.0 << 100.0 << 100.0;
+ QTest::newRow(QString(fillMode + " explicit width 300").toLatin1()) << fillMode << true << false << 300.0 << 300.0 << 300.0 << 100.0 << 100.0 << 100.0;
+ QTest::newRow(QString(fillMode + " explicit height 400").toLatin1()) << fillMode << false << true << 200.0 << 200.0 << 200.0 << 400.0 << 400.0 << 400.0;
+ QTest::newRow(QString(fillMode + " explicit width 300, height 400").toLatin1()) << fillMode << true << true << 300.0 << 300.0 << 300.0 << 400.0 << 400.0 << 400.0;
+ }
+}
+
+void tst_qsgimage::geometry()
+{
+ QFETCH(QString, fillMode);
+ QFETCH(bool, explicitWidth);
+ QFETCH(bool, explicitHeight);
+ QFETCH(double, itemWidth);
+ QFETCH(double, itemHeight);
+ QFETCH(double, paintedWidth);
+ QFETCH(double, paintedHeight);
+ QFETCH(double, boundingWidth);
+ QFETCH(double, boundingHeight);
+
+ QString src = QUrl::fromLocalFile(SRCDIR "/data/rect.png").toString();
+ QString componentStr = "import QtQuick 2.0\nImage { source: \"" + src + "\"; fillMode: Image." + fillMode + "; ";
+
+ if (explicitWidth)
+ componentStr.append("width: 300; ");
+ if (explicitHeight)
+ componentStr.append("height: 400; ");
+ componentStr.append("}");
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+
+ QCOMPARE(obj->width(), itemWidth);
+ QCOMPARE(obj->paintedWidth(), paintedWidth);
+ QCOMPARE(obj->boundingRect().width(), boundingWidth);
+
+ QCOMPARE(obj->height(), itemHeight);
+ QCOMPARE(obj->paintedHeight(), paintedHeight);
+ QCOMPARE(obj->boundingRect().height(), boundingHeight);
+ delete obj;
+}
+
+void tst_qsgimage::big()
+{
+ // If the JPEG loader does not implement scaling efficiently, it would
+ // have to build a 400 MB image. That would be a bug in the JPEG loader.
+
+ QString src = QUrl::fromLocalFile(SRCDIR "/data/big.jpeg").toString();
+ QString componentStr = "import QtQuick 2.0\nImage { source: \"" + src + "\"; width: 100; sourceSize.height: 256 }";
+
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 100.0);
+ QCOMPARE(obj->height(), 256.0);
+
+ delete obj;
+}
+
+void tst_qsgimage::tiling_QTBUG_6716()
+{
+ QFETCH(QString, source);
+
+ QSGView *canvas = new QSGView(0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR + source));
+ canvas->show();
+ qApp->processEvents();
+
+ QSGImage *tiling = findItem<QSGImage>(canvas->rootObject(), "tiling");
+
+ QVERIFY(tiling != 0);
+ QPixmap pm = canvas->renderPixmap();
+ QImage img = pm.toImage();
+ for (int x = 0; x < tiling->width(); ++x) {
+ for (int y = 0; y < tiling->height(); ++y) {
+ QEXPECT_FAIL("", "QTBUG-19351", Abort);
+ QVERIFY(img.pixel(x, y) == qRgb(0, 255, 0));
+ }
+ }
+ delete canvas;
+}
+
+void tst_qsgimage::tiling_QTBUG_6716_data()
+{
+ QTest::addColumn<QString>("source");
+ QTest::newRow("vertical_tiling") << "/data/vtiling.qml";
+ QTest::newRow("horizontal_tiling") << "/data/htiling.qml";
+}
+
+void tst_qsgimage::noLoading()
+{
+ TestHTTPServer server(SERVER_PORT);
+ QVERIFY(server.isValid());
+ server.serveDirectory(SRCDIR "/data");
+ server.addRedirect("oldcolors.png", SERVER_ADDR "/colors.png");
+
+ QString componentStr = "import QtQuick 2.0\nImage { source: srcImage; cache: true }";
+ QDeclarativeContext *ctxt = engine.rootContext();
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/heart.png"));
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+ QVERIFY(obj->status() == QSGImage::Ready);
+
+ QSignalSpy sourceSpy(obj, SIGNAL(sourceChanged(const QUrl &)));
+ QSignalSpy progressSpy(obj, SIGNAL(progressChanged(qreal)));
+ QSignalSpy statusSpy(obj, SIGNAL(statusChanged(QSGImageBase::Status)));
+
+ // Loading local file
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/green.png"));
+ QTRY_VERIFY(obj->status() == QSGImage::Ready);
+ QTRY_VERIFY(obj->progress() == 1.0);
+ QTRY_COMPARE(sourceSpy.count(), 1);
+ QTRY_COMPARE(progressSpy.count(), 0);
+ QTRY_COMPARE(statusSpy.count(), 0);
+
+ // Loading remote file
+ ctxt->setContextProperty("srcImage", QString(SERVER_ADDR) + "/rect.png");
+ QTRY_VERIFY(obj->status() == QSGImage::Loading);
+ QTRY_VERIFY(obj->progress() == 0.0);
+ QTRY_VERIFY(obj->status() == QSGImage::Ready);
+ QTRY_VERIFY(obj->progress() == 1.0);
+ QTRY_COMPARE(sourceSpy.count(), 2);
+ QTRY_COMPARE(progressSpy.count(), 2);
+ QTRY_COMPARE(statusSpy.count(), 2);
+
+ // Loading remote file again - should not go through 'Loading' state.
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/green.png"));
+ ctxt->setContextProperty("srcImage", QString(SERVER_ADDR) + "/rect.png");
+ QTRY_VERIFY(obj->status() == QSGImage::Ready);
+ QTRY_VERIFY(obj->progress() == 1.0);
+ QTRY_COMPARE(sourceSpy.count(), 4);
+ QTRY_COMPARE(progressSpy.count(), 2);
+ QTRY_COMPARE(statusSpy.count(), 2);
+
+ delete obj;
+}
+
+void tst_qsgimage::paintedWidthHeight()
+{
+ {
+ QString src = QUrl::fromLocalFile(SRCDIR "/data/heart.png").toString();
+ QString componentStr = "import QtQuick 2.0\nImage { source: \"" + src + "\"; width: 200; height: 25; fillMode: Image.PreserveAspectFit }";
+
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 200.0);
+ QCOMPARE(obj->height(), 25.0);
+ QCOMPARE(obj->paintedWidth(), 25.0);
+ QCOMPARE(obj->paintedHeight(), 25.0);
+
+ delete obj;
+ }
+
+ {
+ QString src = QUrl::fromLocalFile(SRCDIR "/data/heart.png").toString();
+ QString componentStr = "import QtQuick 2.0\nImage { source: \"" + src + "\"; width: 26; height: 175; fillMode: Image.PreserveAspectFit }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->width(), 26.0);
+ QCOMPARE(obj->height(), 175.0);
+ QCOMPARE(obj->paintedWidth(), 26.0);
+ QCOMPARE(obj->paintedHeight(), 26.0);
+
+ delete obj;
+ }
+}
+
+void tst_qsgimage::sourceSize_QTBUG_14303()
+{
+ QString componentStr = "import QtQuick 2.0\nImage { source: srcImage }";
+ QDeclarativeContext *ctxt = engine.rootContext();
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/heart200.png"));
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGImage *obj = qobject_cast<QSGImage*>(component.create());
+
+ QSignalSpy sourceSizeSpy(obj, SIGNAL(sourceSizeChanged()));
+
+ QTRY_VERIFY(obj != 0);
+ QTRY_VERIFY(obj->status() == QSGImage::Ready);
+
+ QTRY_COMPARE(obj->sourceSize().width(), 200);
+ QTRY_COMPARE(obj->sourceSize().height(), 200);
+ QTRY_COMPARE(sourceSizeSpy.count(), 0);
+
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/colors.png"));
+ QTRY_COMPARE(obj->sourceSize().width(), 120);
+ QTRY_COMPARE(obj->sourceSize().height(), 120);
+ QTRY_COMPARE(sourceSizeSpy.count(), 1);
+
+ ctxt->setContextProperty("srcImage", QUrl::fromLocalFile(SRCDIR "/data/heart200.png"));
+ QTRY_COMPARE(obj->sourceSize().width(), 200);
+ QTRY_COMPARE(obj->sourceSize().height(), 200);
+ QTRY_COMPARE(sourceSizeSpy.count(), 2);
+
+ delete obj;
+}
+
+void tst_qsgimage::sourceSize_QTBUG_16389()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/qtbug_16389.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QSGImage *image = findItem<QSGImage>(canvas->rootObject(), "iconImage");
+ QSGItem *handle = findItem<QSGItem>(canvas->rootObject(), "blueHandle");
+
+ QCOMPARE(image->sourceSize().width(), 200);
+ QCOMPARE(image->sourceSize().height(), 200);
+ QCOMPARE(image->paintedWidth(), 0.0);
+ QCOMPARE(image->paintedHeight(), 0.0);
+
+ handle->setY(20);
+
+ QCOMPARE(image->sourceSize().width(), 200);
+ QCOMPARE(image->sourceSize().height(), 200);
+ QCOMPARE(image->paintedWidth(), 20.0);
+ QCOMPARE(image->paintedHeight(), 20.0);
+}
+
+static int numberOfWarnings = 0;
+static void checkWarnings(QtMsgType, const char *msg)
+{
+ if (!QString(msg).contains("QGLContext::makeCurrent(): Failed."))
+ numberOfWarnings++;
+}
+
+// QTBUG-15690
+void tst_qsgimage::nullPixmapPaint()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/nullpixmap.qml"));
+ canvas->show();
+
+ QSGImage *image = qobject_cast<QSGImage*>(canvas->rootObject());
+ QTRY_VERIFY(image != 0);
+ image->setSource(SERVER_ADDR + QString("/no-such-file.png"));
+
+ QtMsgHandler previousMsgHandler = qInstallMsgHandler(checkWarnings);
+
+ // used to print "QTransform::translate with NaN called"
+ QPixmap pm = canvas->renderPixmap();
+
+ qInstallMsgHandler(previousMsgHandler);
+ QVERIFY(numberOfWarnings == 0);
+ delete image;
+}
+
+/*
+ Find an item with the specified objectName. If index is supplied then the
+ item must also evaluate the {index} expression equal to index
+*/
+template<typename T>
+T *tst_qsgimage::findItem(QSGItem *parent, const QString &objectName, int index)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->childItems().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ if (index != -1) {
+ QDeclarativeExpression e(qmlContext(item), item, "index");
+ if (e.evaluate().toInt() == index)
+ return static_cast<T*>(item);
+ } else {
+ return static_cast<T*>(item);
+ }
+ }
+ item = findItem<T>(item, objectName, index);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
+
+QTEST_MAIN(tst_qsgimage)
+
+#include "tst_qsgimage.moc"
diff --git a/tests/auto/declarative/qsgitem/qsgitem.pro b/tests/auto/declarative/qsgitem/qsgitem.pro
new file mode 100644
index 0000000000..fdf3f67d3c
--- /dev/null
+++ b/tests/auto/declarative/qsgitem/qsgitem.pro
@@ -0,0 +1,8 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+SOURCES += tst_qsgitem.cpp
+
+macx:CONFIG -= app_bundle
+
+CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qsgitem/tst_qsgitem.cpp b/tests/auto/declarative/qsgitem/tst_qsgitem.cpp
new file mode 100644
index 0000000000..a59988ff10
--- /dev/null
+++ b/tests/auto/declarative/qsgitem/tst_qsgitem.cpp
@@ -0,0 +1,812 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+
+#include "qsgitem.h"
+#include "qsgcanvas.h"
+#include "private/qsgfocusscope_p.h"
+#include <QDebug>
+
+class TestItem : public QSGItem
+{
+Q_OBJECT
+public:
+ TestItem(QSGItem *parent = 0) : QSGItem(parent), focused(false), pressCount(0), releaseCount(0) {}
+
+ bool focused;
+ int pressCount;
+ int releaseCount;
+protected:
+ virtual void focusInEvent(QFocusEvent *) { Q_ASSERT(!focused); focused = true; }
+ virtual void focusOutEvent(QFocusEvent *) { Q_ASSERT(focused); focused = false; }
+ virtual void mousePressEvent(QGraphicsSceneMouseEvent *event) { event->accept(); ++pressCount; }
+ virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) { event->accept(); ++releaseCount; }
+};
+
+class TestFocusScope : public QSGFocusScope
+{
+Q_OBJECT
+public:
+ TestFocusScope(QSGItem *parent = 0) : QSGFocusScope(parent), focused(false) {}
+
+ bool focused;
+protected:
+ virtual void focusInEvent(QFocusEvent *) { Q_ASSERT(!focused); focused = true; }
+ virtual void focusOutEvent(QFocusEvent *) { Q_ASSERT(focused); focused = false; }
+};
+
+class tst_qsgitem : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qsgitem();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+
+ void noCanvas();
+ void simpleFocus();
+ void scopedFocus();
+ void addedToCanvas();
+ void changeParent();
+
+ void constructor();
+ void setParentItem();
+
+ void visible();
+ void enabled();
+
+ void mouseGrab();
+
+private:
+ void ensureFocus(QWidget *w) {
+ w->show();
+ qApp->setActiveWindow(w);
+ qApp->processEvents();
+
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(w);
+#endif
+ }
+};
+
+tst_qsgitem::tst_qsgitem()
+{
+}
+
+void tst_qsgitem::initTestCase()
+{
+}
+
+void tst_qsgitem::cleanupTestCase()
+{
+}
+
+// Focus has no effect when outside a canvas
+void tst_qsgitem::noCanvas()
+{
+ QSGItem *root = new TestItem;
+ QSGItem *child = new TestItem(root);
+ QSGItem *scope = new TestItem(root);
+ QSGFocusScope *scopedChild = new TestFocusScope(scope);
+ QSGFocusScope *scopedChild2 = new TestFocusScope(scope);
+
+ QCOMPARE(root->hasFocus(), false);
+ QCOMPARE(child->hasFocus(), false);
+ QCOMPARE(scope->hasFocus(), false);
+ QCOMPARE(scopedChild->hasFocus(), false);
+ QCOMPARE(scopedChild2->hasFocus(), false);
+
+ root->setFocus(true);
+ scope->setFocus(true);
+ scopedChild2->setFocus(true);
+ QCOMPARE(root->hasFocus(), true);
+ QCOMPARE(child->hasFocus(), false);
+ QCOMPARE(scope->hasFocus(), true);
+ QCOMPARE(scopedChild->hasFocus(), false);
+ QCOMPARE(scopedChild2->hasFocus(), true);
+
+ root->setFocus(false);
+ child->setFocus(true);
+ scopedChild->setFocus(true);
+ scope->setFocus(false);
+ QCOMPARE(root->hasFocus(), false);
+ QCOMPARE(child->hasFocus(), true);
+ QCOMPARE(scope->hasFocus(), false);
+ QCOMPARE(scopedChild->hasFocus(), true);
+ QCOMPARE(scopedChild2->hasFocus(), true);
+
+ delete root;
+}
+
+struct FocusData {
+ FocusData() : focus(false), activeFocus(false) {}
+
+ void set(bool f, bool af) { focus = f; activeFocus = af; }
+ bool focus;
+ bool activeFocus;
+};
+struct FocusState : public QHash<QSGItem *, FocusData>
+{
+ FocusState() : activeFocusItem(0) {}
+ FocusState &operator<<(QSGItem *item) {
+ insert(item, FocusData());
+ return *this;
+ }
+
+ void active(QSGItem *i) {
+ activeFocusItem = i;
+ }
+ QSGItem *activeFocusItem;
+};
+
+#define FVERIFY() \
+ do { \
+ if (focusState.activeFocusItem) { \
+ QCOMPARE(canvas.activeFocusItem(), focusState.activeFocusItem); \
+ if (qobject_cast<TestItem *>(canvas.activeFocusItem())) \
+ QCOMPARE(qobject_cast<TestItem *>(canvas.activeFocusItem())->focused, true); \
+ else if (qobject_cast<TestFocusScope *>(canvas.activeFocusItem())) \
+ QCOMPARE(qobject_cast<TestFocusScope *>(canvas.activeFocusItem())->focused, true); \
+ } else { \
+ QCOMPARE(canvas.activeFocusItem(), canvas.rootItem()); \
+ } \
+ for(QHash<QSGItem *, FocusData>::Iterator iter = focusState.begin(); \
+ iter != focusState.end(); \
+ iter++) { \
+ QCOMPARE(iter.key()->hasFocus(), iter.value().focus); \
+ QCOMPARE(iter.key()->hasActiveFocus(), iter.value().activeFocus); \
+ } \
+ } while(false)
+
+// Tests a simple set of top-level scoped items
+void tst_qsgitem::simpleFocus()
+{
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+
+ QSGItem *l1c1 = new TestItem(canvas.rootItem());
+ QSGItem *l1c2 = new TestItem(canvas.rootItem());
+ QSGItem *l1c3 = new TestItem(canvas.rootItem());
+
+ QSGItem *l2c1 = new TestItem(l1c1);
+ QSGItem *l2c2 = new TestItem(l1c1);
+ QSGItem *l2c3 = new TestItem(l1c3);
+
+ FocusState focusState;
+ focusState << l1c1 << l1c2 << l1c3
+ << l2c1 << l2c2 << l2c3;
+ FVERIFY();
+
+ l1c1->setFocus(true);
+ focusState[l1c1].set(true, true);
+ focusState.active(l1c1);
+ FVERIFY();
+
+ l2c3->setFocus(true);
+ focusState[l1c1].set(false, false);
+ focusState[l2c3].set(true, true);
+ focusState.active(l2c3);
+ FVERIFY();
+
+ l1c3->setFocus(true);
+ focusState[l2c3].set(false, false);
+ focusState[l1c3].set(true, true);
+ focusState.active(l1c3);
+ FVERIFY();
+
+ l1c2->setFocus(false);
+ FVERIFY();
+
+ l1c3->setFocus(false);
+ focusState[l1c3].set(false, false);
+ focusState.active(0);
+ FVERIFY();
+
+ l2c1->setFocus(true);
+ focusState[l2c1].set(true, true);
+ focusState.active(l2c1);
+ FVERIFY();
+}
+
+// Items with a focus scope
+void tst_qsgitem::scopedFocus()
+{
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+
+ QSGItem *l1c1 = new TestItem(canvas.rootItem());
+ QSGItem *l1c2 = new TestItem(canvas.rootItem());
+ QSGItem *l1c3 = new TestItem(canvas.rootItem());
+
+ QSGItem *l2c1 = new TestItem(l1c1);
+ QSGItem *l2c2 = new TestItem(l1c1);
+ QSGItem *l2c3 = new TestFocusScope(l1c3);
+
+ QSGItem *l3c1 = new TestItem(l2c3);
+ QSGItem *l3c2 = new TestFocusScope(l2c3);
+
+ QSGItem *l4c1 = new TestItem(l3c2);
+ QSGItem *l4c2 = new TestItem(l3c2);
+
+ FocusState focusState;
+ focusState << l1c1 << l1c2 << l1c3
+ << l2c1 << l2c2 << l2c3
+ << l3c1 << l3c2
+ << l4c1 << l4c2;
+ FVERIFY();
+
+ l4c2->setFocus(true);
+ focusState[l4c2].set(true, false);
+ FVERIFY();
+
+ l4c1->setFocus(true);
+ focusState[l4c2].set(false, false);
+ focusState[l4c1].set(true, false);
+ FVERIFY();
+
+ l1c1->setFocus(true);
+ focusState[l1c1].set(true, true);
+ focusState.active(l1c1);
+ FVERIFY();
+
+ l3c2->setFocus(true);
+ focusState[l3c2].set(true, false);
+ FVERIFY();
+
+ l2c3->setFocus(true);
+ focusState[l1c1].set(false, false);
+ focusState[l2c3].set(true, true);
+ focusState[l3c2].set(true, true);
+ focusState[l4c1].set(true, true);
+ focusState.active(l4c1);
+ FVERIFY();
+
+ l3c2->setFocus(false);
+ focusState[l3c2].set(false, false);
+ focusState[l4c1].set(true, false);
+ focusState.active(l2c3);
+ FVERIFY();
+
+ l3c2->setFocus(true);
+ focusState[l3c2].set(true, true);
+ focusState[l4c1].set(true, true);
+ focusState.active(l4c1);
+ FVERIFY();
+
+ l4c1->setFocus(false);
+ focusState[l4c1].set(false, false);
+ focusState.active(l3c2);
+ FVERIFY();
+
+ l1c3->setFocus(true);
+ focusState[l1c3].set(true, true);
+ focusState[l2c3].set(false, false);
+ focusState[l3c2].set(true, false);
+ focusState.active(l1c3);
+ FVERIFY();
+}
+
+// Tests focus corrects itself when a tree is added to a canvas for the first time
+void tst_qsgitem::addedToCanvas()
+{
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+
+ QSGItem *item = new TestItem;
+
+ FocusState focusState;
+ focusState << item;
+
+ item->setFocus(true);
+ focusState[item].set(true, false);
+ FVERIFY();
+
+ item->setParentItem(canvas.rootItem());
+ focusState[item].set(true, true);
+ focusState.active(item);
+ FVERIFY();
+ }
+
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+
+ QSGItem *item = new TestItem(canvas.rootItem());
+
+ QSGItem *tree = new TestItem;
+ QSGItem *c1 = new TestItem(tree);
+ QSGItem *c2 = new TestItem(tree);
+
+ FocusState focusState;
+ focusState << item << tree << c1 << c2;
+
+ item->setFocus(true);
+ c1->setFocus(true);
+ c2->setFocus(true);
+ focusState[item].set(true, true);
+ focusState[c1].set(true, false);
+ focusState[c2].set(true, false);
+ focusState.active(item);
+ FVERIFY();
+
+ tree->setParentItem(item);
+ focusState[c1].set(false, false);
+ focusState[c2].set(false, false);
+ FVERIFY();
+ }
+
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+
+ QSGItem *tree = new TestItem;
+ QSGItem *c1 = new TestItem(tree);
+ QSGItem *c2 = new TestItem(tree);
+
+ FocusState focusState;
+ focusState << tree << c1 << c2;
+ c1->setFocus(true);
+ c2->setFocus(true);
+ focusState[c1].set(true, false);
+ focusState[c2].set(true, false);
+ FVERIFY();
+
+ tree->setParentItem(canvas.rootItem());
+ focusState[c1].set(true, true);
+ focusState[c2].set(false, false);
+ focusState.active(c1);
+ FVERIFY();
+ }
+
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+ QSGItem *tree = new TestFocusScope;
+ QSGItem *c1 = new TestItem(tree);
+ QSGItem *c2 = new TestItem(tree);
+
+ FocusState focusState;
+ focusState << tree << c1 << c2;
+ c1->setFocus(true);
+ c2->setFocus(true);
+ focusState[c1].set(true, false);
+ focusState[c2].set(true, false);
+ FVERIFY();
+
+ tree->setParentItem(canvas.rootItem());
+ focusState[c1].set(true, false);
+ focusState[c2].set(false, false);
+ FVERIFY();
+
+ tree->setFocus(true);
+ focusState[tree].set(true, true);
+ focusState[c1].set(true, true);
+ focusState.active(c1);
+ FVERIFY();
+ }
+
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+ QSGItem *tree = new TestFocusScope;
+ QSGItem *c1 = new TestItem(tree);
+ QSGItem *c2 = new TestItem(tree);
+
+ FocusState focusState;
+ focusState << tree << c1 << c2;
+ tree->setFocus(true);
+ c1->setFocus(true);
+ c2->setFocus(true);
+ focusState[tree].set(true, false);
+ focusState[c1].set(true, false);
+ focusState[c2].set(true, false);
+ FVERIFY();
+
+ tree->setParentItem(canvas.rootItem());
+ focusState[tree].set(true, true);
+ focusState[c1].set(true, true);
+ focusState[c2].set(false, false);
+ focusState.active(c1);
+ FVERIFY();
+ }
+
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+ QSGItem *child = new TestItem(canvas.rootItem());
+ QSGItem *tree = new TestFocusScope;
+ QSGItem *c1 = new TestItem(tree);
+ QSGItem *c2 = new TestItem(tree);
+
+ FocusState focusState;
+ focusState << child << tree << c1 << c2;
+ child->setFocus(true);
+ tree->setFocus(true);
+ c1->setFocus(true);
+ c2->setFocus(true);
+ focusState[child].set(true, true);
+ focusState[tree].set(true, false);
+ focusState[c1].set(true, false);
+ focusState[c2].set(true, false);
+ focusState.active(child);
+ FVERIFY();
+
+ tree->setParentItem(canvas.rootItem());
+ focusState[tree].set(false, false);
+ focusState[c1].set(true, false);
+ focusState[c2].set(false, false);
+ FVERIFY();
+
+ tree->setFocus(true);
+ focusState[child].set(false, false);
+ focusState[tree].set(true, true);
+ focusState[c1].set(true, true);
+ focusState.active(c1);
+ FVERIFY();
+ }
+}
+
+void tst_qsgitem::changeParent()
+{
+ // Parent to no parent
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+ QSGItem *child = new TestItem(canvas.rootItem());
+
+ FocusState focusState;
+ focusState << child;
+ FVERIFY();
+
+ child->setFocus(true);
+ focusState[child].set(true, true);
+ focusState.active(child);
+ FVERIFY();
+
+ child->setParentItem(0);
+ focusState[child].set(true, false);
+ focusState.active(0);
+ FVERIFY();
+ }
+
+ // Different parent, same focus scope
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+ QSGItem *child = new TestItem(canvas.rootItem());
+ QSGItem *child2 = new TestItem(canvas.rootItem());
+
+ FocusState focusState;
+ focusState << child << child2;
+ FVERIFY();
+
+ child->setFocus(true);
+ focusState[child].set(true, true);
+ focusState.active(child);
+ FVERIFY();
+
+ child->setParentItem(child2);
+ FVERIFY();
+ }
+
+ // Different parent, different focus scope
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+ QSGItem *child = new TestItem(canvas.rootItem());
+ QSGItem *child2 = new TestFocusScope(canvas.rootItem());
+ QSGItem *item = new TestItem(child);
+
+ FocusState focusState;
+ focusState << child << child2 << item;
+ FVERIFY();
+
+ item->setFocus(true);
+ focusState[item].set(true, true);
+ focusState.active(item);
+ FVERIFY();
+
+ item->setParentItem(child2);
+ focusState[item].set(true, false);
+ focusState.active(0);
+ FVERIFY();
+ }
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+ QSGItem *child = new TestItem(canvas.rootItem());
+ QSGItem *child2 = new TestFocusScope(canvas.rootItem());
+ QSGItem *item = new TestItem(child2);
+
+ FocusState focusState;
+ focusState << child << child2 << item;
+ FVERIFY();
+
+ item->setFocus(true);
+ focusState[item].set(true, false);
+ focusState.active(0);
+ FVERIFY();
+
+ item->setParentItem(child);
+ focusState[item].set(true, true);
+ focusState.active(item);
+ FVERIFY();
+ }
+ {
+ QSGCanvas canvas;
+ ensureFocus(&canvas);
+ QSGItem *child = new TestItem(canvas.rootItem());
+ QSGItem *child2 = new TestFocusScope(canvas.rootItem());
+ QSGItem *item = new TestItem(child2);
+
+ FocusState focusState;
+ focusState << child << child2 << item;
+ FVERIFY();
+
+ child->setFocus(true);
+ item->setFocus(true);
+ focusState[child].set(true, true);
+ focusState[item].set(true, false);
+ focusState.active(child);
+ FVERIFY();
+
+ item->setParentItem(child);
+ focusState[item].set(false, false);
+ FVERIFY();
+ }
+
+}
+
+void tst_qsgitem::constructor()
+{
+ QSGItem *root = new QSGItem;
+ QVERIFY(root->parent() == 0);
+ QVERIFY(root->parentItem() == 0);
+
+ QSGItem *child1 = new QSGItem(root);
+ QVERIFY(child1->parent() == root);
+ QVERIFY(child1->parentItem() == root);
+ QCOMPARE(root->childItems().count(), 1);
+ QCOMPARE(root->childItems().at(0), child1);
+
+ QSGItem *child2 = new QSGItem(root);
+ QVERIFY(child2->parent() == root);
+ QVERIFY(child2->parentItem() == root);
+ QCOMPARE(root->childItems().count(), 2);
+ QCOMPARE(root->childItems().at(0), child1);
+ QCOMPARE(root->childItems().at(1), child2);
+
+ delete root;
+}
+
+void tst_qsgitem::setParentItem()
+{
+ QSGItem *root = new QSGItem;
+ QVERIFY(root->parent() == 0);
+ QVERIFY(root->parentItem() == 0);
+
+ QSGItem *child1 = new QSGItem;
+ QVERIFY(child1->parent() == 0);
+ QVERIFY(child1->parentItem() == 0);
+
+ child1->setParentItem(root);
+ QVERIFY(child1->parent() == 0);
+ QVERIFY(child1->parentItem() == root);
+ QCOMPARE(root->childItems().count(), 1);
+ QCOMPARE(root->childItems().at(0), child1);
+
+ QSGItem *child2 = new QSGItem;
+ QVERIFY(child2->parent() == 0);
+ QVERIFY(child2->parentItem() == 0);
+ child2->setParentItem(root);
+ QVERIFY(child2->parent() == 0);
+ QVERIFY(child2->parentItem() == root);
+ QCOMPARE(root->childItems().count(), 2);
+ QCOMPARE(root->childItems().at(0), child1);
+ QCOMPARE(root->childItems().at(1), child2);
+
+ child1->setParentItem(0);
+ QVERIFY(child1->parent() == 0);
+ QVERIFY(child1->parentItem() == 0);
+ QCOMPARE(root->childItems().count(), 1);
+ QCOMPARE(root->childItems().at(0), child2);
+
+ delete root;
+
+ QVERIFY(child1->parent() == 0);
+ QVERIFY(child1->parentItem() == 0);
+ QVERIFY(child2->parent() == 0);
+ QVERIFY(child2->parentItem() == 0);
+
+ delete child1;
+ delete child2;
+}
+
+void tst_qsgitem::visible()
+{
+ QSGItem *root = new QSGItem;
+
+ QSGItem *child1 = new QSGItem;
+ child1->setParentItem(root);
+
+ QSGItem *child2 = new QSGItem;
+ child2->setParentItem(root);
+
+ QVERIFY(child1->isVisible());
+ QVERIFY(child2->isVisible());
+
+ root->setVisible(false);
+ QVERIFY(!child1->isVisible());
+ QVERIFY(!child2->isVisible());
+
+ root->setVisible(true);
+ QVERIFY(child1->isVisible());
+ QVERIFY(child2->isVisible());
+
+ child1->setVisible(false);
+ QVERIFY(!child1->isVisible());
+ QVERIFY(child2->isVisible());
+
+ child2->setParentItem(child1);
+ QVERIFY(!child1->isVisible());
+ QVERIFY(!child2->isVisible());
+
+ child2->setParentItem(root);
+ QVERIFY(!child1->isVisible());
+ QVERIFY(child2->isVisible());
+
+ delete root;
+ delete child1;
+ delete child2;
+}
+
+void tst_qsgitem::enabled()
+{
+ QSGItem *root = new QSGItem;
+
+ QSGItem *child1 = new QSGItem;
+ child1->setParentItem(root);
+
+ QSGItem *child2 = new QSGItem;
+ child2->setParentItem(root);
+
+ QVERIFY(child1->isEnabled());
+ QVERIFY(child2->isEnabled());
+
+ root->setEnabled(false);
+ QVERIFY(!child1->isEnabled());
+ QVERIFY(!child2->isEnabled());
+
+ root->setEnabled(true);
+ QVERIFY(child1->isEnabled());
+ QVERIFY(child2->isEnabled());
+
+ child1->setEnabled(false);
+ QVERIFY(!child1->isEnabled());
+ QVERIFY(child2->isEnabled());
+
+ child2->setParentItem(child1);
+ QVERIFY(!child1->isEnabled());
+ QVERIFY(!child2->isEnabled());
+
+ child2->setParentItem(root);
+ QVERIFY(!child1->isEnabled());
+ QVERIFY(child2->isEnabled());
+
+ delete root;
+ delete child1;
+ delete child2;
+}
+
+void tst_qsgitem::mouseGrab()
+{
+ QSGCanvas *canvas = new QSGCanvas;
+ canvas->resize(200, 200);
+ canvas->show();
+
+ TestItem *child1 = new TestItem;
+ child1->setAcceptedMouseButtons(Qt::LeftButton);
+ child1->setSize(QSizeF(200, 100));
+ child1->setParentItem(canvas->rootItem());
+
+ TestItem *child2 = new TestItem;
+ child2->setAcceptedMouseButtons(Qt::LeftButton);
+ child2->setY(100);
+ child2->setSize(QSizeF(200, 100));
+ child2->setParentItem(canvas->rootItem());
+
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(50,50));
+ QVERIFY(canvas->mouseGrabberItem() == child1);
+ QCOMPARE(child1->pressCount, 1);
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(50,50));
+ QVERIFY(canvas->mouseGrabberItem() == 0);
+ QCOMPARE(child1->releaseCount, 1);
+
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(50,50));
+ QVERIFY(canvas->mouseGrabberItem() == child1);
+ QCOMPARE(child1->pressCount, 2);
+ child1->setEnabled(false);
+ QVERIFY(canvas->mouseGrabberItem() == 0);
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(50,50));
+ QCOMPARE(child1->releaseCount, 1);
+ child1->setEnabled(true);
+
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(50,50));
+ QVERIFY(canvas->mouseGrabberItem() == child1);
+ QCOMPARE(child1->pressCount, 3);
+ child1->setVisible(false);
+ QVERIFY(canvas->mouseGrabberItem() == 0);
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(50,50));
+ QCOMPARE(child1->releaseCount, 1);
+ child1->setVisible(true);
+
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(50,50));
+ QVERIFY(canvas->mouseGrabberItem() == child1);
+ QCOMPARE(child1->pressCount, 4);
+ child2->grabMouse();
+ QVERIFY(canvas->mouseGrabberItem() == child2);
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(50,50));
+ QCOMPARE(child1->releaseCount, 1);
+ QCOMPARE(child2->releaseCount, 1);
+
+ child2->grabMouse();
+ QVERIFY(canvas->mouseGrabberItem() == child2);
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(50,50));
+ QCOMPARE(child1->pressCount, 4);
+ QCOMPARE(child2->pressCount, 1);
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(50,50));
+ QCOMPARE(child1->releaseCount, 1);
+ QCOMPARE(child2->releaseCount, 2);
+
+ delete child1;
+ delete child2;
+ delete canvas;
+}
+
+
+QTEST_MAIN(tst_qsgitem)
+
+#include "tst_qsgitem.moc"
diff --git a/tests/auto/declarative/qsgitem2/data/childrenProperty.qml b/tests/auto/declarative/qsgitem2/data/childrenProperty.qml
new file mode 100644
index 0000000000..85ddbc1446
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/childrenProperty.qml
@@ -0,0 +1,14 @@
+import QtQuick 2.0
+
+Item {
+ id: root
+
+ property bool test1: root.children.length == 3
+ property bool test2: root.children[0] == item1
+ property bool test3: root.children[1] == item2
+ property bool test4: root.children[2] == item3
+ property bool test5: root.children[3] == null
+
+ children: [ Item { id: item1 }, Item { id: item2 }, Item { id: item3 } ]
+}
+
diff --git a/tests/auto/declarative/qsgitem2/data/childrenRect.qml b/tests/auto/declarative/qsgitem2/data/childrenRect.qml
new file mode 100644
index 0000000000..ebc57aefbe
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/childrenRect.qml
@@ -0,0 +1,27 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 400
+ height: 400
+
+ property int childCount: 0;
+
+ Item {
+ objectName: "testItem"
+ width: childrenRect.width
+ height: childrenRect.height
+
+ Repeater {
+ id: repeater
+ model: childCount
+ delegate: Rectangle {
+ x: index*10
+ y: index*20
+ width: 10
+ height: 20
+
+ color: "red"
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/childrenRectBug.qml b/tests/auto/declarative/qsgitem2/data/childrenRectBug.qml
new file mode 100644
index 0000000000..86a4f19c5c
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/childrenRectBug.qml
@@ -0,0 +1,23 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 400
+ height: 200
+
+ Item {
+ objectName: "theItem"
+ anchors.centerIn: parent
+ width: childrenRect.width
+ height: childrenRect.height
+ Rectangle {
+ id: text1
+ anchors.verticalCenter: parent.verticalCenter
+ width: 100; height: 100; color: "green"
+ }
+ Rectangle {
+ anchors.left: text1.right
+ anchors.verticalCenter: parent.verticalCenter
+ width: 100; height: 100; color: "green"
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/childrenRectBug2.qml b/tests/auto/declarative/qsgitem2/data/childrenRectBug2.qml
new file mode 100644
index 0000000000..6e80ed28af
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/childrenRectBug2.qml
@@ -0,0 +1,53 @@
+import QtQuick 2.0
+
+Rectangle {
+ width:360;
+ height: 200
+
+ Item {
+ objectName: "theItem"
+ anchors.centerIn: parent
+ width: childrenRect.width
+ height: childrenRect.height
+ Rectangle {
+ id: header1
+ anchors.horizontalCenter: parent.horizontalCenter
+ anchors.top: parent.top
+ width: 100; height: 50
+ color: "green"
+ }
+ Rectangle {
+ id: text1
+ anchors.top: header1.bottom
+ anchors.topMargin: 10
+ anchors.horizontalCenter: parent.horizontalCenter
+ width: 100; height: 50
+ color: "blue"
+ }
+ }
+
+ states: [
+ State {
+ name: "row"
+ AnchorChanges {
+ target: header1
+ anchors.horizontalCenter: undefined
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.left: parent.left
+ anchors.top: undefined
+ }
+ AnchorChanges {
+ target: text1
+ anchors.horizontalCenter: undefined
+ anchors.verticalCenter: parent.verticalCenter
+ anchors.top: undefined
+ anchors.left: header1.right
+ }
+ PropertyChanges {
+ target: text1
+ anchors.leftMargin: 10
+ anchors.topMargin: 0
+ }
+ }
+ ]
+}
diff --git a/tests/auto/declarative/qsgitem2/data/childrenRectBug3.qml b/tests/auto/declarative/qsgitem2/data/childrenRectBug3.qml
new file mode 100644
index 0000000000..518e76509e
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/childrenRectBug3.qml
@@ -0,0 +1,15 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 300
+ height: 300
+
+ Rectangle {
+ height: childrenRect.height
+
+ Repeater {
+ model: 1
+ Rectangle { }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/implicitsize.qml b/tests/auto/declarative/qsgitem2/data/implicitsize.qml
new file mode 100644
index 0000000000..cc6aaf7d60
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/implicitsize.qml
@@ -0,0 +1,19 @@
+import QtQuick 2.0
+
+Item {
+ implicitWidth: 200
+ implicitHeight: 100
+
+ width: 80
+ height: 60
+
+ function resetSize() {
+ width = undefined
+ height = undefined
+ }
+
+ function changeImplicit() {
+ implicitWidth = 150
+ implicitHeight = 80
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/keynavigationtest.qml b/tests/auto/declarative/qsgitem2/data/keynavigationtest.qml
new file mode 100644
index 0000000000..aacb621fb0
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/keynavigationtest.qml
@@ -0,0 +1,87 @@
+import QtQuick 2.0
+
+Grid {
+ columns: 2
+ width: 100; height: 100
+ function verify() {
+ if (item1.KeyNavigation.right != item2)
+ return false;
+ if (item1.KeyNavigation.down != item3)
+ return false;
+ if (item1.KeyNavigation.tab != item2)
+ return false;
+ if (item1.KeyNavigation.backtab != item4)
+ return false;
+
+ if (item2.KeyNavigation.left != item1)
+ return false;
+ if (item2.KeyNavigation.down != item4)
+ return false;
+ if (item2.KeyNavigation.tab != item3)
+ return false;
+ if (item2.KeyNavigation.backtab != item1)
+ return false;
+
+ if (item3.KeyNavigation.right != item4)
+ return false;
+ if (item3.KeyNavigation.up != item1)
+ return false;
+ if (item3.KeyNavigation.tab != item4)
+ return false;
+ if (item3.KeyNavigation.backtab != item2)
+ return false;
+
+ if (item4.KeyNavigation.left != item3)
+ return false;
+ if (item4.KeyNavigation.up != item2)
+ return false;
+ if (item4.KeyNavigation.tab != item1)
+ return false;
+ if (item4.KeyNavigation.backtab != item3)
+ return false;
+
+ return true;
+ }
+
+ Rectangle {
+ id: item1
+ objectName: "item1"
+ focus: true
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ KeyNavigation.right: item2
+ KeyNavigation.down: item3
+ KeyNavigation.tab: item2
+ KeyNavigation.backtab: item4
+ }
+ Rectangle {
+ id: item2
+ objectName: "item2"
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ KeyNavigation.left: item1
+ KeyNavigation.down: item4
+ KeyNavigation.tab: item3
+ KeyNavigation.backtab: item1
+ }
+ Rectangle {
+ id: item3
+ objectName: "item3"
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ KeyNavigation.right: item4
+ KeyNavigation.up: item1
+ KeyNavigation.tab: item4
+ KeyNavigation.backtab: item2
+ }
+ Rectangle {
+ id: item4
+ objectName: "item4"
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ KeyNavigation.left: item3
+ KeyNavigation.up: item2
+ KeyNavigation.tab: item1
+ KeyNavigation.backtab: item3
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/keynavigationtest_implicit.qml b/tests/auto/declarative/qsgitem2/data/keynavigationtest_implicit.qml
new file mode 100644
index 0000000000..92d4ae23de
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/keynavigationtest_implicit.qml
@@ -0,0 +1,68 @@
+import QtQuick 2.0
+
+Grid {
+ columns: 2
+ width: 100; height: 100
+ function verify() {
+ if (item1.KeyNavigation.tab != item2)
+ return false;
+ if (item1.KeyNavigation.backtab != item4)
+ return false;
+
+ if (item2.KeyNavigation.left != item1)
+ return false;
+ if (item2.KeyNavigation.down != item4)
+ return false;
+ if (item2.KeyNavigation.tab != item3)
+ return false;
+ if (item2.KeyNavigation.backtab != item1)
+ return false;
+
+ if (item3.KeyNavigation.right != item4)
+ return false;
+ if (item3.KeyNavigation.up != item1)
+ return false;
+ if (item3.KeyNavigation.tab != item4)
+ return false;
+ if (item3.KeyNavigation.backtab != item2)
+ return false;
+
+ return true;
+ }
+
+ Rectangle {
+ id: item1
+ objectName: "item1"
+ focus: true
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ KeyNavigation.tab: item2
+ KeyNavigation.backtab: item4
+ }
+ Rectangle {
+ id: item2
+ objectName: "item2"
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ KeyNavigation.left: item1
+ KeyNavigation.down: item4
+ KeyNavigation.tab: item3
+ KeyNavigation.backtab: item1
+ }
+ Rectangle {
+ id: item3
+ objectName: "item3"
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ KeyNavigation.right: item4
+ KeyNavigation.up: item1
+ KeyNavigation.tab: item4
+ KeyNavigation.backtab: item2
+ }
+ Rectangle {
+ id: item4
+ objectName: "item4"
+ width: 50; height: 50
+ color: focus ? "red" : "lightgray"
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/keyspriority.qml b/tests/auto/declarative/qsgitem2/data/keyspriority.qml
new file mode 100644
index 0000000000..114cf0488a
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/keyspriority.qml
@@ -0,0 +1,9 @@
+import QtQuick 2.0
+import Test 1.0
+
+KeyTestItem {
+ focus: true
+ Keys.onPressed: keysTestObject.keyPress(event.key, event.text, event.modifiers)
+ Keys.onReleased: { keysTestObject.keyRelease(event.key, event.text, event.modifiers); event.accepted = true; }
+ Keys.priority: keysTestObject.processLast ? Keys.AfterItem : Keys.BeforeItem
+}
diff --git a/tests/auto/declarative/qsgitem2/data/keystest.qml b/tests/auto/declarative/qsgitem2/data/keystest.qml
new file mode 100644
index 0000000000..c70e0061f5
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/keystest.qml
@@ -0,0 +1,24 @@
+import QtQuick 2.0
+
+Item {
+ focus: true
+
+ property bool isEnabled: Keys.enabled
+
+ Keys.onPressed: keysTestObject.keyPress(event.key, event.text, event.modifiers)
+ Keys.onReleased: { keysTestObject.keyRelease(event.key, event.text, event.modifiers); event.accepted = true; }
+ Keys.onReturnPressed: keysTestObject.keyPress(event.key, "Return", event.modifiers)
+ Keys.onDigit0Pressed: keysTestObject.keyPress(event.key, event.text, event.modifiers)
+ Keys.onDigit9Pressed: { event.accepted = false; keysTestObject.keyPress(event.key, event.text, event.modifiers) }
+ Keys.onTabPressed: keysTestObject.keyPress(event.key, "Tab", event.modifiers)
+ Keys.onBacktabPressed: keysTestObject.keyPress(event.key, "Backtab", event.modifiers)
+ Keys.forwardTo: [ item2 ]
+ Keys.enabled: enableKeyHanding
+
+ Item {
+ id: item2
+ visible: forwardeeVisible
+ Keys.onPressed: keysTestObject.forwardedKey(event.key)
+ Keys.onReleased: keysTestObject.forwardedKey(event.key)
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/layoutmirroring.qml b/tests/auto/declarative/qsgitem2/data/layoutmirroring.qml
new file mode 100644
index 0000000000..036819740c
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/layoutmirroring.qml
@@ -0,0 +1,54 @@
+import QtQuick 2.0
+
+Item {
+ property bool childrenInherit: true
+ Item {
+ objectName: "mirrored1"
+ LayoutMirroring.enabled: true
+ LayoutMirroring.childrenInherit: parent.childrenInherit
+ Item {
+ Item {
+ objectName: "notMirrored1"
+ LayoutMirroring.enabled: false
+ Item {
+ objectName: "inheritedMirror1"
+ }
+ }
+ Item {
+ objectName: "inheritedMirror2"
+ }
+ }
+ }
+ Item {
+ objectName: "mirrored2"
+ LayoutMirroring.enabled: true
+ LayoutMirroring.childrenInherit: false
+ Item {
+ objectName: "notMirrored2"
+ }
+ }
+ Item {
+ LayoutMirroring.enabled: true
+ LayoutMirroring.childrenInherit: true
+ Loader {
+ id: loader
+ }
+ }
+ states: State {
+ name: "newContent"
+ PropertyChanges {
+ target: loader
+ sourceComponent: component
+ }
+ }
+ Component {
+ id: component
+ Item {
+ objectName: "notMirrored3"
+ LayoutMirroring.enabled: false
+ Item {
+ objectName: "inheritedMirror3"
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/mapCoordinates.qml b/tests/auto/declarative/qsgitem2/data/mapCoordinates.qml
new file mode 100644
index 0000000000..a5a073c1a0
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/mapCoordinates.qml
@@ -0,0 +1,43 @@
+import QtQuick 2.0
+
+Item {
+ id: root; objectName: "root"
+ width: 200; height: 200
+
+ Item { id: itemA; objectName: "itemA"; x: 50; y: 50 }
+
+ Item {
+ x: 50; y: 50
+ Item { id: itemB; objectName: "itemB"; x: 100; y: 100 }
+ }
+
+ function mapAToB(x, y) {
+ var pos = itemA.mapToItem(itemB, x, y)
+ return Qt.point(pos.x, pos.y)
+ }
+
+ function mapAFromB(x, y) {
+ var pos = itemA.mapFromItem(itemB, x, y)
+ return Qt.point(pos.x, pos.y)
+ }
+
+ function mapAToNull(x, y) {
+ var pos = itemA.mapToItem(null, x, y)
+ return Qt.point(pos.x, pos.y)
+ }
+
+ function mapAFromNull(x, y) {
+ var pos = itemA.mapFromItem(null, x, y)
+ return Qt.point(pos.x, pos.y)
+ }
+
+ function checkMapAToInvalid(x, y) {
+ var pos = itemA.mapToItem(1122, x, y)
+ return pos.x == undefined && pos.y == undefined
+ }
+
+ function checkMapAFromInvalid(x, y) {
+ var pos = itemA.mapFromItem(1122, x, y)
+ return pos.x == undefined && pos.y == undefined
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/mouseFocus.qml b/tests/auto/declarative/qsgitem2/data/mouseFocus.qml
new file mode 100644
index 0000000000..b120cc0263
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/mouseFocus.qml
@@ -0,0 +1,20 @@
+import QtQuick 2.0
+
+QGraphicsWidget {
+ size: "200x100"
+ focusPolicy: QGraphicsWidget.ClickFocus
+ Item {
+ objectName: "declarativeItem"
+ id: item
+ width: 200
+ height: 100
+ MouseArea {
+ anchors.fill: parent
+ onPressed: {
+ if (!item.focus) {
+ item.focus = true;
+ }
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/propertychanges.qml b/tests/auto/declarative/qsgitem2/data/propertychanges.qml
new file mode 100644
index 0000000000..3fa5ea9c23
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/propertychanges.qml
@@ -0,0 +1,10 @@
+import QtQuick 2.0
+
+Item {
+ Item {
+ objectName: "item"
+ }
+ Item {
+ objectName: "parentItem"
+ }
+}
diff --git a/tests/auto/declarative/qsgitem2/data/qtbug_16871.qml b/tests/auto/declarative/qsgitem2/data/qtbug_16871.qml
new file mode 100644
index 0000000000..f1e7377730
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/qtbug_16871.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Item {
+ children: [ 10 ]
+}
diff --git a/tests/auto/declarative/qsgitem2/data/resourcesProperty.qml b/tests/auto/declarative/qsgitem2/data/resourcesProperty.qml
new file mode 100644
index 0000000000..b8f18bb375
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/resourcesProperty.qml
@@ -0,0 +1,21 @@
+import QtQuick 2.0
+
+Item {
+ id: root
+
+ property bool test1
+ property bool test2
+ property bool test3
+ property bool test4
+ property bool test5
+
+ Component.onCompleted: {
+ test1 = (root.resources.length >= 3)
+ test2 = root.resources[0] == item1
+ test3 = root.resources[1] == item2
+ test4 = root.resources[2] == item3
+ test5 = root.resources[10] == null
+ }
+
+ resources: [ Item { id: item1 }, Item { id: item2 }, Item { id: item3 } ]
+}
diff --git a/tests/auto/declarative/qsgitem2/data/transformCrash.qml b/tests/auto/declarative/qsgitem2/data/transformCrash.qml
new file mode 100644
index 0000000000..284e85f0e0
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/data/transformCrash.qml
@@ -0,0 +1,13 @@
+import QtQuick 2.0
+
+Item {
+ id: wrapper
+ width: 200
+ height: 200
+
+ QtObject {
+ id: object
+ }
+
+ Component.onCompleted: wrapper.transform = object
+}
diff --git a/tests/auto/declarative/qsgitem2/qsgitem.pro b/tests/auto/declarative/qsgitem2/qsgitem.pro
new file mode 100644
index 0000000000..9226b4178d
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/qsgitem.pro
@@ -0,0 +1,19 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsgitem.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
+QT += script-private opengl-private
+QT += opengl-private
diff --git a/tests/auto/declarative/qsgitem2/tst_qsgitem.cpp b/tests/auto/declarative/qsgitem2/tst_qsgitem.cpp
new file mode 100644
index 0000000000..641abefa94
--- /dev/null
+++ b/tests/auto/declarative/qsgitem2/tst_qsgitem.cpp
@@ -0,0 +1,1322 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QtTest/QSignalSpy>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qsgview.h>
+#include <private/qsgrectangle_p.h>
+#include <private/qsgitem_p.h>
+#include "../../../shared/util.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_QSGItem : public QObject
+
+{
+ Q_OBJECT
+public:
+ tst_QSGItem();
+
+private slots:
+ void initTestCase();
+ void keys();
+ void keysProcessingOrder();
+ void keyNavigation();
+ void keyNavigation_RightToLeft();
+ void keyNavigation_skipNotVisible();
+ void keyNavigation_implicitSetting();
+ void layoutMirroring();
+ void layoutMirroringIllegalParent();
+ void smooth();
+ void clip();
+ void mapCoordinates();
+ void mapCoordinates_data();
+ void propertyChanges();
+ void transforms();
+ void transforms_data();
+ void childrenRect();
+ void childrenRectBug();
+ void childrenRectBug2();
+ void childrenRectBug3();
+
+ void childrenProperty();
+ void resourcesProperty();
+ void mouseFocus();
+
+ void transformCrash();
+ void implicitSize();
+ void qtbug_16871();
+private:
+ QDeclarativeEngine engine;
+};
+
+template<typename T>
+T *findItem(QSGItem *parent, const QString &objectName)
+{
+ if (!parent)
+ return 0;
+
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->QSGItem::children().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName))
+ return static_cast<T*>(item);
+ item = findItem<T>(item, objectName);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
+
+class KeysTestObject : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(bool processLast READ processLast NOTIFY processLastChanged)
+
+public:
+ KeysTestObject() : mKey(0), mModifiers(0), mForwardedKey(0), mLast(false) {}
+
+ void reset() {
+ mKey = 0;
+ mText = QString();
+ mModifiers = 0;
+ mForwardedKey = 0;
+ }
+
+ bool processLast() const { return mLast; }
+ void setProcessLast(bool b) {
+ if (b != mLast) {
+ mLast = b;
+ emit processLastChanged();
+ }
+ }
+
+public slots:
+ void keyPress(int key, QString text, int modifiers) {
+ mKey = key;
+ mText = text;
+ mModifiers = modifiers;
+ }
+ void keyRelease(int key, QString text, int modifiers) {
+ mKey = key;
+ mText = text;
+ mModifiers = modifiers;
+ }
+ void forwardedKey(int key) {
+ mForwardedKey = key;
+ }
+
+signals:
+ void processLastChanged();
+
+public:
+ int mKey;
+ QString mText;
+ int mModifiers;
+ int mForwardedKey;
+ bool mLast;
+
+private:
+};
+
+class KeyTestItem : public QSGItem
+{
+ Q_OBJECT
+public:
+ KeyTestItem(QSGItem *parent=0) : QSGItem(parent), mKey(0) {}
+
+protected:
+ void keyPressEvent(QKeyEvent *e) {
+ keyPressPreHandler(e);
+ if (e->isAccepted())
+ return;
+
+ mKey = e->key();
+
+ if (e->key() == Qt::Key_A)
+ e->accept();
+ else
+ e->ignore();
+
+ if (!e->isAccepted())
+ QSGItem::keyPressEvent(e);
+ }
+
+ void keyReleaseEvent(QKeyEvent *e) {
+ keyReleasePreHandler(e);
+
+ if (e->isAccepted())
+ return;
+
+ if (e->key() == Qt::Key_B)
+ e->accept();
+ else
+ e->ignore();
+
+ if (!e->isAccepted())
+ QSGItem::keyReleaseEvent(e);
+ }
+
+public:
+ int mKey;
+};
+
+QML_DECLARE_TYPE(KeyTestItem);
+
+
+tst_QSGItem::tst_QSGItem()
+{
+}
+
+void tst_QSGItem::initTestCase()
+{
+ qmlRegisterType<KeyTestItem>("Test",1,0,"KeyTestItem");
+}
+
+void tst_QSGItem::keys()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ KeysTestObject *testObject = new KeysTestObject;
+ canvas->rootContext()->setContextProperty("keysTestObject", testObject);
+
+ canvas->rootContext()->setContextProperty("enableKeyHanding", QVariant(true));
+ canvas->rootContext()->setContextProperty("forwardeeVisible", QVariant(true));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/keystest.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QEvent wa(QEvent::WindowActivate);
+ QApplication::sendEvent(canvas, &wa);
+ QFocusEvent fe(QEvent::FocusIn);
+ QApplication::sendEvent(canvas, &fe);
+
+ QVERIFY(canvas->rootObject());
+ QCOMPARE(canvas->rootObject()->property("isEnabled").toBool(), true);
+
+ QKeyEvent key(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier, "A", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_A));
+ QCOMPARE(testObject->mForwardedKey, int(Qt::Key_A));
+ QCOMPARE(testObject->mText, QLatin1String("A"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(!key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyRelease, Qt::Key_A, Qt::ShiftModifier, "A", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_A));
+ QCOMPARE(testObject->mForwardedKey, int(Qt::Key_A));
+ QCOMPARE(testObject->mText, QLatin1String("A"));
+ QVERIFY(testObject->mModifiers == Qt::ShiftModifier);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Return, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_Return));
+ QCOMPARE(testObject->mForwardedKey, int(Qt::Key_Return));
+ QCOMPARE(testObject->mText, QLatin1String("Return"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_0, Qt::NoModifier, "0", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_0));
+ QCOMPARE(testObject->mForwardedKey, int(Qt::Key_0));
+ QCOMPARE(testObject->mText, QLatin1String("0"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_9, Qt::NoModifier, "9", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_9));
+ QCOMPARE(testObject->mForwardedKey, int(Qt::Key_9));
+ QCOMPARE(testObject->mText, QLatin1String("9"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(!key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_Tab));
+ QCOMPARE(testObject->mForwardedKey, int(Qt::Key_Tab));
+ QCOMPARE(testObject->mText, QLatin1String("Tab"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Backtab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_Backtab));
+ QCOMPARE(testObject->mForwardedKey, int(Qt::Key_Backtab));
+ QCOMPARE(testObject->mText, QLatin1String("Backtab"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
+ canvas->rootContext()->setContextProperty("forwardeeVisible", QVariant(false));
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier, "A", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_A));
+ QCOMPARE(testObject->mForwardedKey, 0);
+ QCOMPARE(testObject->mText, QLatin1String("A"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(!key.isAccepted());
+
+ testObject->reset();
+
+ canvas->rootContext()->setContextProperty("enableKeyHanding", QVariant(false));
+ QCOMPARE(canvas->rootObject()->property("isEnabled").toBool(), false);
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Return, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, 0);
+ QVERIFY(!key.isAccepted());
+
+ canvas->rootContext()->setContextProperty("enableKeyHanding", QVariant(true));
+ QCOMPARE(canvas->rootObject()->property("isEnabled").toBool(), true);
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Return, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_Return));
+ QVERIFY(key.isAccepted());
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QSGItem::keysProcessingOrder()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ KeysTestObject *testObject = new KeysTestObject;
+ canvas->rootContext()->setContextProperty("keysTestObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/keyspriority.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ KeyTestItem *testItem = qobject_cast<KeyTestItem*>(canvas->rootObject());
+ QVERIFY(testItem);
+
+ QEvent wa(QEvent::WindowActivate);
+ QApplication::sendEvent(canvas, &wa);
+ QFocusEvent fe(QEvent::FocusIn);
+ QApplication::sendEvent(canvas, &fe);
+
+ QKeyEvent key(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier, "A", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_A));
+ QCOMPARE(testObject->mText, QLatin1String("A"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
+ testObject->setProcessLast(true);
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_A, Qt::NoModifier, "A", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, 0);
+ QVERIFY(key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_B, Qt::NoModifier, "B", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, int(Qt::Key_B));
+ QCOMPARE(testObject->mText, QLatin1String("B"));
+ QVERIFY(testObject->mModifiers == Qt::NoModifier);
+ QVERIFY(!key.isAccepted());
+
+ testObject->reset();
+
+ key = QKeyEvent(QEvent::KeyRelease, Qt::Key_B, Qt::NoModifier, "B", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QCOMPARE(testObject->mKey, 0);
+ QVERIFY(key.isAccepted());
+
+ delete canvas;
+ delete testObject;
+}
+
+QSGItemPrivate *childPrivate(QSGItem *rootItem, const char * itemString)
+{
+ QSGItem *item = findItem<QSGItem>(rootItem, QString(QLatin1String(itemString)));
+ QSGItemPrivate* itemPrivate = QSGItemPrivate::get(item);
+ return itemPrivate;
+}
+
+QVariant childProperty(QSGItem *rootItem, const char * itemString, const char * property)
+{
+ QSGItem *item = findItem<QSGItem>(rootItem, QString(QLatin1String(itemString)));
+ return item->property(property);
+}
+
+bool anchorsMirrored(QSGItem *rootItem, const char * itemString)
+{
+ QSGItem *item = findItem<QSGItem>(rootItem, QString(QLatin1String(itemString)));
+ QSGItemPrivate* itemPrivate = QSGItemPrivate::get(item);
+ return itemPrivate->anchors()->mirrored();
+}
+
+void tst_QSGItem::layoutMirroring()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/layoutmirroring.qml"));
+ canvas->show();
+
+ QSGItem *rootItem = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(rootItem);
+ QSGItemPrivate *rootPrivate = QSGItemPrivate::get(rootItem);
+ QVERIFY(rootPrivate);
+
+ QCOMPARE(childPrivate(rootItem, "mirrored1")->effectiveLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "mirrored2")->effectiveLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "notMirrored1")->effectiveLayoutMirror, false);
+ QCOMPARE(childPrivate(rootItem, "notMirrored2")->effectiveLayoutMirror, false);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror1")->effectiveLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror2")->effectiveLayoutMirror, true);
+
+ QCOMPARE(anchorsMirrored(rootItem, "mirrored1"), true);
+ QCOMPARE(anchorsMirrored(rootItem, "mirrored2"), true);
+ QCOMPARE(anchorsMirrored(rootItem, "notMirrored1"), false);
+ QCOMPARE(anchorsMirrored(rootItem, "notMirrored2"), false);
+ QCOMPARE(anchorsMirrored(rootItem, "inheritedMirror1"), true);
+ QCOMPARE(anchorsMirrored(rootItem, "inheritedMirror2"), true);
+
+ QCOMPARE(childPrivate(rootItem, "mirrored1")->inheritedLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "mirrored2")->inheritedLayoutMirror, false);
+ QCOMPARE(childPrivate(rootItem, "notMirrored1")->inheritedLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "notMirrored2")->inheritedLayoutMirror, false);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror1")->inheritedLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror2")->inheritedLayoutMirror, true);
+
+ QCOMPARE(childPrivate(rootItem, "mirrored1")->isMirrorImplicit, false);
+ QCOMPARE(childPrivate(rootItem, "mirrored2")->isMirrorImplicit, false);
+ QCOMPARE(childPrivate(rootItem, "notMirrored1")->isMirrorImplicit, false);
+ QCOMPARE(childPrivate(rootItem, "notMirrored2")->isMirrorImplicit, true);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror1")->isMirrorImplicit, true);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror2")->isMirrorImplicit, true);
+
+ QCOMPARE(childPrivate(rootItem, "mirrored1")->inheritMirrorFromParent, true);
+ QCOMPARE(childPrivate(rootItem, "mirrored2")->inheritMirrorFromParent, false);
+ QCOMPARE(childPrivate(rootItem, "notMirrored1")->inheritMirrorFromParent, true);
+ QCOMPARE(childPrivate(rootItem, "notMirrored2")->inheritMirrorFromParent, false);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror1")->inheritMirrorFromParent, true);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror2")->inheritMirrorFromParent, true);
+
+ QCOMPARE(childPrivate(rootItem, "mirrored1")->inheritMirrorFromItem, true);
+ QCOMPARE(childPrivate(rootItem, "mirrored2")->inheritMirrorFromItem, false);
+ QCOMPARE(childPrivate(rootItem, "notMirrored1")->inheritMirrorFromItem, false);
+ QCOMPARE(childPrivate(rootItem, "notMirrored2")->inheritMirrorFromItem, false);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror1")->inheritMirrorFromItem, false);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror2")->inheritMirrorFromItem, false);
+
+ // load dynamic content using Loader that needs to inherit mirroring
+ rootItem->setProperty("state", "newContent");
+ QCOMPARE(childPrivate(rootItem, "notMirrored3")->effectiveLayoutMirror, false);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror3")->effectiveLayoutMirror, true);
+
+ QCOMPARE(childPrivate(rootItem, "notMirrored3")->inheritedLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror3")->inheritedLayoutMirror, true);
+
+ QCOMPARE(childPrivate(rootItem, "notMirrored3")->isMirrorImplicit, false);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror3")->isMirrorImplicit, true);
+
+ QCOMPARE(childPrivate(rootItem, "notMirrored3")->inheritMirrorFromParent, true);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror3")->inheritMirrorFromParent, true);
+
+ QCOMPARE(childPrivate(rootItem, "notMirrored3")->inheritMirrorFromItem, false);
+ QCOMPARE(childPrivate(rootItem, "notMirrored3")->inheritMirrorFromItem, false);
+
+ // disable inheritance
+ rootItem->setProperty("childrenInherit", false);
+
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror1")->effectiveLayoutMirror, false);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror2")->effectiveLayoutMirror, false);
+ QCOMPARE(childPrivate(rootItem, "mirrored1")->effectiveLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "notMirrored1")->effectiveLayoutMirror, false);
+
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror1")->inheritedLayoutMirror, false);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror2")->inheritedLayoutMirror, false);
+ QCOMPARE(childPrivate(rootItem, "mirrored1")->inheritedLayoutMirror, false);
+ QCOMPARE(childPrivate(rootItem, "notMirrored1")->inheritedLayoutMirror, false);
+
+ // re-enable inheritance
+ rootItem->setProperty("childrenInherit", true);
+
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror1")->effectiveLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror2")->effectiveLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "mirrored1")->effectiveLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "notMirrored1")->effectiveLayoutMirror, false);
+
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror1")->inheritedLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "inheritedMirror2")->inheritedLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "mirrored1")->inheritedLayoutMirror, true);
+ QCOMPARE(childPrivate(rootItem, "notMirrored1")->inheritedLayoutMirror, true);
+
+ //
+ // dynamic parenting
+ //
+ QSGItem *parentItem1 = new QSGItem();
+ QSGItemPrivate::get(parentItem1)->effectiveLayoutMirror = true; // LayoutMirroring.enabled: true
+ QSGItemPrivate::get(parentItem1)->isMirrorImplicit = false;
+ QSGItemPrivate::get(parentItem1)->inheritMirrorFromItem = true; // LayoutMirroring.childrenInherit: true
+ QSGItemPrivate::get(parentItem1)->resolveLayoutMirror();
+
+ // inherit in constructor
+ QSGItem *childItem1 = new QSGItem(parentItem1);
+ QCOMPARE(QSGItemPrivate::get(childItem1)->effectiveLayoutMirror, true);
+ QCOMPARE(QSGItemPrivate::get(childItem1)->inheritMirrorFromParent, true);
+
+ // inherit through a parent change
+ QSGItem *childItem2 = new QSGItem();
+ QCOMPARE(QSGItemPrivate::get(childItem2)->effectiveLayoutMirror, false);
+ QCOMPARE(QSGItemPrivate::get(childItem2)->inheritMirrorFromParent, false);
+ childItem2->setParentItem(parentItem1);
+ QCOMPARE(QSGItemPrivate::get(childItem2)->effectiveLayoutMirror, true);
+ QCOMPARE(QSGItemPrivate::get(childItem2)->inheritMirrorFromParent, true);
+
+ // stop inherting through a parent change
+ QSGItem *parentItem2 = new QSGItem();
+ QSGItemPrivate::get(parentItem2)->effectiveLayoutMirror = true; // LayoutMirroring.enabled: true
+ QSGItemPrivate::get(parentItem2)->resolveLayoutMirror();
+ childItem2->setParentItem(parentItem2);
+ QCOMPARE(QSGItemPrivate::get(childItem2)->effectiveLayoutMirror, false);
+ QCOMPARE(QSGItemPrivate::get(childItem2)->inheritMirrorFromParent, false);
+
+ delete parentItem1;
+ delete parentItem2;
+}
+
+void tst_QSGItem::layoutMirroringIllegalParent()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0; QtObject { LayoutMirroring.enabled: true; LayoutMirroring.childrenInherit: true }", QUrl::fromLocalFile(""));
+ QTest::ignoreMessage(QtWarningMsg, "file::1:21: QML QtObject: LayoutDirection attached property only works with Items");
+ QObject *object = component.create();
+ QVERIFY(object != 0);
+}
+
+void tst_QSGItem::keyNavigation()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/keynavigationtest.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QEvent wa(QEvent::WindowActivate);
+ QApplication::sendEvent(canvas, &wa);
+ QFocusEvent fe(QEvent::FocusIn);
+ QApplication::sendEvent(canvas, &fe);
+
+ QSGItem *item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ QVariant result;
+ QVERIFY(QMetaObject::invokeMethod(canvas->rootObject(), "verify",
+ Q_RETURN_ARG(QVariant, result)));
+ QVERIFY(result.toBool());
+
+ // right
+ QKeyEvent key(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item2");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // down
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Down, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item4");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // left
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Left, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item3");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // up
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Up, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // tab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item2");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // backtab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Backtab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ delete canvas;
+}
+
+void tst_QSGItem::keyNavigation_RightToLeft()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/keynavigationtest.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QSGItem *rootItem = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(rootItem);
+ QSGItemPrivate* rootItemPrivate = QSGItemPrivate::get(rootItem);
+
+ rootItemPrivate->effectiveLayoutMirror = true; // LayoutMirroring.mirror: true
+ rootItemPrivate->isMirrorImplicit = false;
+ rootItemPrivate->inheritMirrorFromItem = true; // LayoutMirroring.inherit: true
+ rootItemPrivate->resolveLayoutMirror();
+
+ QEvent wa(QEvent::WindowActivate);
+ QApplication::sendEvent(canvas, &wa);
+ QFocusEvent fe(QEvent::FocusIn);
+ QApplication::sendEvent(canvas, &fe);
+
+ QSGItem *item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ QVariant result;
+ QVERIFY(QMetaObject::invokeMethod(canvas->rootObject(), "verify",
+ Q_RETURN_ARG(QVariant, result)));
+ QVERIFY(result.toBool());
+
+ // right
+ QKeyEvent key(QEvent::KeyPress, Qt::Key_Left, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item2");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // left
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ delete canvas;
+}
+
+void tst_QSGItem::keyNavigation_skipNotVisible()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/keynavigationtest.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QEvent wa(QEvent::WindowActivate);
+ QApplication::sendEvent(canvas, &wa);
+ QFocusEvent fe(QEvent::FocusIn);
+ QApplication::sendEvent(canvas, &fe);
+
+ QSGItem *item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // Set item 2 to not visible
+ item = findItem<QSGItem>(canvas->rootObject(), "item2");
+ QVERIFY(item);
+ item->setVisible(false);
+ QVERIFY(!item->isVisible());
+
+ // right
+ QKeyEvent key(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // tab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item3");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // backtab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Backtab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ //Set item 3 to not visible
+ item = findItem<QSGItem>(canvas->rootObject(), "item3");
+ QVERIFY(item);
+ item->setVisible(false);
+ QVERIFY(!item->isVisible());
+
+ // tab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item4");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // backtab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Backtab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ delete canvas;
+}
+
+void tst_QSGItem::keyNavigation_implicitSetting()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/keynavigationtest_implicit.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QEvent wa(QEvent::WindowActivate);
+ QApplication::sendEvent(canvas, &wa);
+ QFocusEvent fe(QEvent::FocusIn);
+ QApplication::sendEvent(canvas, &fe);
+
+ QSGItem *item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ QVariant result;
+ QVERIFY(QMetaObject::invokeMethod(canvas->rootObject(), "verify",
+ Q_RETURN_ARG(QVariant, result)));
+ QVERIFY(result.toBool());
+
+ // right
+ QKeyEvent key(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item2");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // back to item1
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Left, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // down
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Down, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item3");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // move to item4
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item4");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // left
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Left, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item3");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // back to item4
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Right, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item4");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // up
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Up, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item2");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // back to item4
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Down, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item4");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // tab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Tab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item1");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // back to item4
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Backtab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item4");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ // backtab
+ key = QKeyEvent(QEvent::KeyPress, Qt::Key_Backtab, Qt::NoModifier, "", false, 1);
+ QApplication::sendEvent(canvas, &key);
+ QVERIFY(key.isAccepted());
+
+ item = findItem<QSGItem>(canvas->rootObject(), "item3");
+ QVERIFY(item);
+ QVERIFY(item->hasActiveFocus());
+
+ delete canvas;
+}
+
+void tst_QSGItem::smooth()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0; Item { smooth: false; }", QUrl::fromLocalFile(""));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QSignalSpy spy(item, SIGNAL(smoothChanged(bool)));
+
+ QVERIFY(item);
+ QVERIFY(!item->smooth());
+
+ item->setSmooth(true);
+ QVERIFY(item->smooth());
+ QCOMPARE(spy.count(),1);
+ QList<QVariant> arguments = spy.first();
+ QVERIFY(arguments.count() == 1);
+ QVERIFY(arguments.at(0).toBool() == true);
+
+ item->setSmooth(true);
+ QCOMPARE(spy.count(),1);
+
+ item->setSmooth(false);
+ QVERIFY(!item->smooth());
+ QCOMPARE(spy.count(),2);
+ item->setSmooth(false);
+ QCOMPARE(spy.count(),2);
+
+ delete item;
+}
+
+void tst_QSGItem::clip()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0\nItem { clip: false\n }", QUrl::fromLocalFile(""));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QSignalSpy spy(item, SIGNAL(clipChanged(bool)));
+
+ QVERIFY(item);
+ QVERIFY(!item->clip());
+
+ item->setClip(true);
+ QVERIFY(item->clip());
+
+ QList<QVariant> arguments = spy.first();
+ QVERIFY(arguments.count() == 1);
+ QVERIFY(arguments.at(0).toBool() == true);
+
+ QCOMPARE(spy.count(),1);
+ item->setClip(true);
+ QCOMPARE(spy.count(),1);
+
+ item->setClip(false);
+ QVERIFY(!item->clip());
+ QCOMPARE(spy.count(),2);
+ item->setClip(false);
+ QCOMPARE(spy.count(),2);
+
+ delete item;
+}
+
+void tst_QSGItem::mapCoordinates()
+{
+ QFETCH(int, x);
+ QFETCH(int, y);
+
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(300, 300);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/mapCoordinates.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QSGItem *root = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(root != 0);
+ QSGItem *a = findItem<QSGItem>(canvas->rootObject(), "itemA");
+ QVERIFY(a != 0);
+ QSGItem *b = findItem<QSGItem>(canvas->rootObject(), "itemB");
+ QVERIFY(b != 0);
+
+ QVariant result;
+
+ QVERIFY(QMetaObject::invokeMethod(root, "mapAToB",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QCOMPARE(result.value<QPointF>(), qobject_cast<QSGItem*>(a)->mapToItem(b, QPointF(x, y)));
+
+ QVERIFY(QMetaObject::invokeMethod(root, "mapAFromB",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QCOMPARE(result.value<QPointF>(), qobject_cast<QSGItem*>(a)->mapFromItem(b, QPointF(x, y)));
+
+ QVERIFY(QMetaObject::invokeMethod(root, "mapAToNull",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QCOMPARE(result.value<QPointF>(), qobject_cast<QSGItem*>(a)->mapToScene(QPointF(x, y)));
+
+ QVERIFY(QMetaObject::invokeMethod(root, "mapAFromNull",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QCOMPARE(result.value<QPointF>(), qobject_cast<QSGItem*>(a)->mapFromScene(QPointF(x, y)));
+
+ QString warning1 = QUrl::fromLocalFile(SRCDIR "/data/mapCoordinates.qml").toString() + ":7:5: QML Item: mapToItem() given argument \"1122\" which is neither null nor an Item";
+ QString warning2 = QUrl::fromLocalFile(SRCDIR "/data/mapCoordinates.qml").toString() + ":7:5: QML Item: mapFromItem() given argument \"1122\" which is neither null nor an Item";
+
+ QTest::ignoreMessage(QtWarningMsg, qPrintable(warning1));
+ QVERIFY(QMetaObject::invokeMethod(root, "checkMapAToInvalid",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QVERIFY(result.toBool());
+
+ QTest::ignoreMessage(QtWarningMsg, qPrintable(warning2));
+ QVERIFY(QMetaObject::invokeMethod(root, "checkMapAFromInvalid",
+ Q_RETURN_ARG(QVariant, result), Q_ARG(QVariant, x), Q_ARG(QVariant, y)));
+ QVERIFY(result.toBool());
+
+ delete canvas;
+}
+
+void tst_QSGItem::mapCoordinates_data()
+{
+ QTest::addColumn<int>("x");
+ QTest::addColumn<int>("y");
+
+ for (int i=-20; i<=20; i+=10)
+ QTest::newRow(QTest::toString(i)) << i << i;
+}
+
+void tst_QSGItem::transforms_data()
+{
+ QTest::addColumn<QByteArray>("qml");
+ QTest::addColumn<QMatrix>("matrix");
+ QTest::newRow("translate") << QByteArray("Translate { x: 10; y: 20 }")
+ << QMatrix(1,0,0,1,10,20);
+ QTest::newRow("rotation") << QByteArray("Rotation { angle: 90 }")
+ << QMatrix(0,1,-1,0,0,0);
+ QTest::newRow("scale") << QByteArray("Scale { xScale: 1.5; yScale: -2 }")
+ << QMatrix(1.5,0,0,-2,0,0);
+ QTest::newRow("sequence") << QByteArray("[ Translate { x: 10; y: 20 }, Scale { xScale: 1.5; yScale: -2 } ]")
+ << QMatrix(1,0,0,1,10,20) * QMatrix(1.5,0,0,-2,0,0);
+}
+
+void tst_QSGItem::transforms()
+{
+ QFAIL("This test has not been ported yet");
+ /*QFETCH(QByteArray, qml);
+ QFETCH(QMatrix, matrix);
+ QDeclarativeComponent component(&engine);
+ component.setData("import QtQuick 2.0\nItem { transform: "+qml+"}", QUrl::fromLocalFile(""));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(item->sceneMatrix(), matrix);*/
+}
+
+void tst_QSGItem::childrenProperty()
+{
+ QDeclarativeComponent component(&engine, SRCDIR "/data/childrenProperty.qml");
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QCOMPARE(o->property("test1").toBool(), true);
+ QCOMPARE(o->property("test2").toBool(), true);
+ QCOMPARE(o->property("test3").toBool(), true);
+ QCOMPARE(o->property("test4").toBool(), true);
+ QCOMPARE(o->property("test5").toBool(), true);
+ delete o;
+}
+
+void tst_QSGItem::resourcesProperty()
+{
+ QDeclarativeComponent component(&engine, SRCDIR "/data/resourcesProperty.qml");
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QCOMPARE(o->property("test1").toBool(), true);
+ QCOMPARE(o->property("test2").toBool(), true);
+ QCOMPARE(o->property("test3").toBool(), true);
+ QCOMPARE(o->property("test4").toBool(), true);
+ QCOMPARE(o->property("test5").toBool(), true);
+ delete o;
+}
+
+void tst_QSGItem::mouseFocus()
+{
+ QSGView *canvas = new QSGView(0);
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/mouseFocus.qml"));
+ canvas->show();
+ QVERIFY(canvas->rootObject());
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas));
+
+ QSGItem *item = findItem<QSGItem>(canvas->rootObject(), "declarativeItem");
+ QVERIFY(item);
+ QSignalSpy focusSpy(item, SIGNAL(activeFocusChanged(bool)));
+
+ QTest::mouseClick(canvas, Qt::LeftButton, 0, item->mapToScene(QPointF(0,0)).toPoint());
+ QApplication::processEvents();
+ QCOMPARE(focusSpy.count(), 1);
+ QVERIFY(item->hasActiveFocus());
+
+ // make sure focusable graphics widget underneath does not steal focus
+ QTest::mouseClick(canvas, Qt::LeftButton, 0, item->mapToScene(QPointF(0,0)).toPoint());
+ QApplication::processEvents();
+ QCOMPARE(focusSpy.count(), 1);
+ QVERIFY(item->hasActiveFocus());
+
+ item->setFocus(false);
+ QVERIFY(!item->hasActiveFocus());
+ QCOMPARE(focusSpy.count(), 2);
+ item->setFocus(true);
+ QCOMPARE(focusSpy.count(), 3);
+
+ delete canvas;
+}
+
+void tst_QSGItem::propertyChanges()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+ canvas->show();
+
+ QEvent wa(QEvent::WindowActivate);
+ QApplication::sendEvent(canvas, &wa);
+ QFocusEvent fe(QEvent::FocusIn);
+ QApplication::sendEvent(canvas, &fe);
+
+ QSGItem *item = findItem<QSGItem>(canvas->rootObject(), "item");
+ QSGItem *parentItem = findItem<QSGItem>(canvas->rootObject(), "parentItem");
+
+ QVERIFY(item);
+ QVERIFY(parentItem);
+
+ QSignalSpy parentSpy(item, SIGNAL(parentChanged(QSGItem *)));
+ QSignalSpy widthSpy(item, SIGNAL(widthChanged()));
+ QSignalSpy heightSpy(item, SIGNAL(heightChanged()));
+ QSignalSpy baselineOffsetSpy(item, SIGNAL(baselineOffsetChanged(qreal)));
+ QSignalSpy childrenRectSpy(parentItem, SIGNAL(childrenRectChanged(QRectF)));
+ QSignalSpy focusSpy(item, SIGNAL(focusChanged(bool)));
+ QSignalSpy wantsFocusSpy(parentItem, SIGNAL(activeFocusChanged(bool)));
+ QSignalSpy childrenChangedSpy(parentItem, SIGNAL(childrenChanged()));
+ QSignalSpy xSpy(item, SIGNAL(xChanged()));
+ QSignalSpy ySpy(item, SIGNAL(yChanged()));
+
+ item->setParentItem(parentItem);
+ item->setWidth(100.0);
+ item->setHeight(200.0);
+ item->setFocus(true);
+ item->setBaselineOffset(10.0);
+
+ QCOMPARE(item->parentItem(), parentItem);
+ QCOMPARE(parentSpy.count(),1);
+ QList<QVariant> parentArguments = parentSpy.first();
+ QVERIFY(parentArguments.count() == 1);
+ QCOMPARE(item->parentItem(), qvariant_cast<QSGItem *>(parentArguments.at(0)));
+ QCOMPARE(childrenChangedSpy.count(),1);
+
+ item->setParentItem(parentItem);
+ QCOMPARE(childrenChangedSpy.count(),1);
+
+ QCOMPARE(item->width(), 100.0);
+ QCOMPARE(widthSpy.count(),1);
+
+ QCOMPARE(item->height(), 200.0);
+ QCOMPARE(heightSpy.count(),1);
+
+ QCOMPARE(item->baselineOffset(), 10.0);
+ QCOMPARE(baselineOffsetSpy.count(),1);
+ QList<QVariant> baselineOffsetArguments = baselineOffsetSpy.first();
+ QVERIFY(baselineOffsetArguments.count() == 1);
+ QCOMPARE(item->baselineOffset(), baselineOffsetArguments.at(0).toReal());
+
+ QCOMPARE(parentItem->childrenRect(), QRectF(0.0,0.0,100.0,200.0));
+ QCOMPARE(childrenRectSpy.count(),2);
+ QList<QVariant> childrenRectArguments = childrenRectSpy.at(1);
+ QVERIFY(childrenRectArguments.count() == 1);
+ QCOMPARE(parentItem->childrenRect(), childrenRectArguments.at(0).toRectF());
+
+ QCOMPARE(item->hasActiveFocus(), true);
+ QCOMPARE(focusSpy.count(),1);
+ QList<QVariant> focusArguments = focusSpy.first();
+ QVERIFY(focusArguments.count() == 1);
+ QCOMPARE(focusArguments.at(0).toBool(), true);
+
+ QCOMPARE(parentItem->hasActiveFocus(), false);
+ QCOMPARE(parentItem->hasFocus(), false);
+ QCOMPARE(wantsFocusSpy.count(),0);
+
+ item->setX(10.0);
+ QCOMPARE(item->x(), 10.0);
+ QCOMPARE(xSpy.count(), 1);
+
+ item->setY(10.0);
+ QCOMPARE(item->y(), 10.0);
+ QCOMPARE(ySpy.count(), 1);
+
+ delete canvas;
+}
+
+void tst_QSGItem::childrenRect()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/childrenRect.qml"));
+ canvas->show();
+
+ QSGItem *o = canvas->rootObject();
+ QSGItem *item = o->findChild<QSGItem*>("testItem");
+ QCOMPARE(item->width(), qreal(0));
+ QCOMPARE(item->height(), qreal(0));
+
+ o->setProperty("childCount", 1);
+ QCOMPARE(item->width(), qreal(10));
+ QCOMPARE(item->height(), qreal(20));
+
+ o->setProperty("childCount", 5);
+ QCOMPARE(item->width(), qreal(50));
+ QCOMPARE(item->height(), qreal(100));
+
+ o->setProperty("childCount", 0);
+ QCOMPARE(item->width(), qreal(0));
+ QCOMPARE(item->height(), qreal(0));
+
+ delete o;
+ delete canvas;
+}
+
+// QTBUG-11383
+void tst_QSGItem::childrenRectBug()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/childrenRectBug.qml"));
+ canvas->show();
+
+ QSGItem *o = canvas->rootObject();
+ QSGItem *item = o->findChild<QSGItem*>("theItem");
+ QCOMPARE(item->width(), qreal(200));
+ QCOMPARE(item->height(), qreal(100));
+ QCOMPARE(item->x(), qreal(100));
+
+ delete canvas;
+}
+
+// QTBUG-11465
+void tst_QSGItem::childrenRectBug2()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/childrenRectBug2.qml"));
+ canvas->show();
+
+ QSGRectangle *rect = qobject_cast<QSGRectangle*>(canvas->rootObject());
+ QVERIFY(rect);
+ QSGItem *item = rect->findChild<QSGItem*>("theItem");
+ QCOMPARE(item->width(), qreal(100));
+ QCOMPARE(item->height(), qreal(110));
+ QCOMPARE(item->x(), qreal(130));
+
+ QSGItemPrivate *rectPrivate = QSGItemPrivate::get(rect);
+ rectPrivate->setState("row");
+ QCOMPARE(item->width(), qreal(210));
+ QCOMPARE(item->height(), qreal(50));
+ QCOMPARE(item->x(), qreal(75));
+
+ delete canvas;
+}
+
+// QTBUG-12722
+void tst_QSGItem::childrenRectBug3()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/childrenRectBug3.qml"));
+ canvas->show();
+
+ //don't crash on delete
+ delete canvas;
+}
+
+// QTBUG-13893
+void tst_QSGItem::transformCrash()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/transformCrash.qml"));
+ canvas->show();
+
+ delete canvas;
+}
+
+void tst_QSGItem::implicitSize()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/implicitsize.qml"));
+ canvas->show();
+
+ QSGItem *item = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(item);
+ QCOMPARE(item->width(), qreal(80));
+ QCOMPARE(item->height(), qreal(60));
+
+ QCOMPARE(item->implicitWidth(), qreal(200));
+ QCOMPARE(item->implicitHeight(), qreal(100));
+
+ QMetaObject::invokeMethod(item, "resetSize");
+
+ QCOMPARE(item->width(), qreal(200));
+ QCOMPARE(item->height(), qreal(100));
+
+ QMetaObject::invokeMethod(item, "changeImplicit");
+
+ QCOMPARE(item->implicitWidth(), qreal(150));
+ QCOMPARE(item->implicitHeight(), qreal(80));
+ QCOMPARE(item->width(), qreal(150));
+ QCOMPARE(item->height(), qreal(80));
+
+ delete canvas;
+}
+
+void tst_QSGItem::qtbug_16871()
+{
+ QDeclarativeComponent component(&engine, SRCDIR "/data/qtbug_16871.qml");
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+ delete o;
+}
+
+QTEST_MAIN(tst_QSGItem)
+
+#include "tst_qsgitem.moc"
diff --git a/tests/auto/declarative/qsglistview/data/attachedSignals.qml b/tests/auto/declarative/qsglistview/data/attachedSignals.qml
new file mode 100644
index 0000000000..2c3c0bbada
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/attachedSignals.qml
@@ -0,0 +1,24 @@
+import QtQuick 2.0
+
+ListView {
+ id: view
+ width: 240; height: 320
+
+ property variant addedDelegates: []
+ property int removedDelegateCount
+
+ model: testModel
+
+ delegate: Rectangle {
+ width: 200; height: delegateHeight
+ border.width: 1
+ ListView.onAdd: {
+ var obj = ListView.view.addedDelegates
+ obj.push(model.name)
+ ListView.view.addedDelegates = obj
+ }
+ ListView.onRemove: {
+ view.removedDelegateCount += 1
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/displaylist.qml b/tests/auto/declarative/qsglistview/data/displaylist.qml
new file mode 100644
index 0000000000..c083da5aa5
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/displaylist.qml
@@ -0,0 +1,50 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: root
+ property real delegateHeight: 20
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ height: root.delegateHeight
+ Behavior on height { NumberAnimation {} }
+ width: 240
+ Text {
+ text: index
+ }
+ Text {
+ x: 30
+ objectName: "displayText"
+ text: display
+ }
+ Text {
+ x: 200
+ text: wrapper.y
+ }
+ color: ListView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ },
+ Component {
+ id: myHighlight
+ Rectangle { color: "green" }
+ }
+ ]
+ ListView {
+ id: list
+ objectName: "list"
+ focus: true
+ width: 240
+ height: 320
+ model: testModel
+ delegate: myDelegate
+ highlight: myHighlight
+ highlightMoveSpeed: 1000
+ highlightResizeSpeed: 1000
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/footer.qml b/tests/auto/declarative/qsglistview/data/footer.qml
new file mode 100644
index 0000000000..49e1944b6a
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/footer.qml
@@ -0,0 +1,38 @@
+import QtQuick 2.0
+
+Rectangle {
+ function changeFooter() {
+ list.footer = footer2
+ }
+ width: 240
+ height: 320
+ color: "#ffffff"
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ height: 20
+ width: 240
+ Text {
+ text: index
+ }
+ color: ListView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ }
+ ListView {
+ id: list
+ objectName: "list"
+ focus: true
+ width: 240
+ height: 320
+ model: testModel
+ delegate: myDelegate
+ footer: Text { objectName: "footer"; text: "Footer"; height: 30 }
+ }
+
+ Component {
+ id: footer2
+ Text { objectName: "footer2"; text: "Footer 2"; height: 20 }
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/header.qml b/tests/auto/declarative/qsglistview/data/header.qml
new file mode 100644
index 0000000000..455159f39d
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/header.qml
@@ -0,0 +1,38 @@
+import QtQuick 2.0
+
+Rectangle {
+ function changeHeader() {
+ list.header = header2
+ }
+ width: 240
+ height: 320
+ color: "#ffffff"
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ height: 30
+ width: 240
+ Text {
+ text: index
+ }
+ color: ListView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ }
+ ListView {
+ id: list
+ objectName: "list"
+ focus: true
+ width: 240
+ height: 320
+ snapMode: ListView.SnapToItem
+ model: testModel
+ delegate: myDelegate
+ header: Text { objectName: "header"; text: "Header"; height: 20 }
+ }
+ Component {
+ id: header2
+ Text { objectName: "header2"; text: "Header 2"; height: 10 }
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/header1.qml b/tests/auto/declarative/qsglistview/data/header1.qml
new file mode 100644
index 0000000000..8ba6e57594
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/header1.qml
@@ -0,0 +1,33 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 240
+ height: 320
+ color: "#ffffff"
+
+ ListModel { id: testModel }
+
+ ListView {
+ id: list
+ objectName: "list"
+ width: parent.width
+ anchors.top: parent.top
+ anchors.bottom: parent.bottom
+ model: testModel
+ delegate: Text {
+ objectName: "wrapper"
+ font.pointSize: 20
+ text: index
+ }
+ footer: Rectangle {
+ width: parent.width
+ height: 40
+ color: "green"
+ }
+ header: Text { objectName: "header"; text: "Header" }
+ }
+
+ Component.onCompleted: {
+ for (var i=0; i<30; i++) testModel.append({"name" : i, "val": i})
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/headerfooter.qml b/tests/auto/declarative/qsglistview/data/headerfooter.qml
new file mode 100644
index 0000000000..30b7199445
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/headerfooter.qml
@@ -0,0 +1,26 @@
+import QtQuick 2.0
+
+ListView {
+ id: view
+ property bool horizontal: false
+ property bool rtl: false
+ width: 240
+ height: 320
+
+ orientation: horizontal ? ListView.Horizontal : ListView.Vertical
+ header: Rectangle {
+ objectName: "header"
+ width: horizontal ? 20 : view.width
+ height: horizontal ? view.height : 20
+ color: "red"
+ }
+ footer: Rectangle {
+ objectName: "footer"
+ width: horizontal ? 30 : view.width
+ height: horizontal ? view.height : 30
+ color: "blue"
+ }
+// model: testModel
+ delegate: Text { width: 30; height: 30; text: index + "(" + x + ")" }
+ layoutDirection: rtl ? Qt.RightToLeft : Qt.LeftToRight
+}
diff --git a/tests/auto/declarative/qsglistview/data/itemlist.qml b/tests/auto/declarative/qsglistview/data/itemlist.qml
new file mode 100644
index 0000000000..90dd59795b
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/itemlist.qml
@@ -0,0 +1,43 @@
+// This example demonstrates placing items in a view using
+// a VisualItemModel
+
+import QtQuick 2.0
+
+Rectangle {
+ color: "lightgray"
+ width: 240
+ height: 320
+
+ VisualItemModel {
+ id: itemModel
+ objectName: "itemModel"
+ Rectangle {
+ objectName: "item1"
+ height: ListView.view.height; width: view.width; color: "#FFFEF0"
+ Text { objectName: "text1"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ objectName: "item2"
+ height: ListView.view.height; width: view.width; color: "#F0FFF7"
+ Text { objectName: "text2"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ objectName: "item3"
+ height: ListView.view.height; width: view.width; color: "#F4F0FF"
+ Text { objectName: "text3"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ }
+
+ ListView {
+ id: view
+ objectName: "view"
+ anchors.fill: parent
+ anchors.bottomMargin: 30
+ model: itemModel
+ preferredHighlightBegin: 0
+ preferredHighlightEnd: 0
+ highlightRangeMode: "StrictlyEnforceRange"
+ orientation: ListView.Horizontal
+ flickDeceleration: 2000
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/listview-enforcerange.qml b/tests/auto/declarative/qsglistview/data/listview-enforcerange.qml
new file mode 100644
index 0000000000..f1bf6c2b57
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/listview-enforcerange.qml
@@ -0,0 +1,55 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 240
+ height: 320
+ color: "#ffffff"
+ Component {
+ id: myDelegate
+ Item {
+ id: wrapper
+ objectName: "wrapper"
+ height: 20
+ width: 240
+ Text {
+ text: index
+ }
+ Text {
+ x: 30
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ x: 120
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ Text {
+ x: 200
+ text: wrapper.y
+ }
+ }
+ }
+
+ Component {
+ id: myHighlight
+ Rectangle {
+ color: "lightsteelblue"
+ }
+ }
+
+ ListView {
+ id: list
+ objectName: "list"
+ width: 240
+ height: 320
+ model: testModel
+ delegate: myDelegate
+ highlight: myHighlight
+ preferredHighlightBegin: 100
+ preferredHighlightEnd: 100
+ highlightRangeMode: "StrictlyEnforceRange"
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/listview-initCurrent.qml b/tests/auto/declarative/qsglistview/data/listview-initCurrent.qml
new file mode 100644
index 0000000000..ee1a333de0
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/listview-initCurrent.qml
@@ -0,0 +1,51 @@
+import QtQuick 2.0
+
+Rectangle {
+ property int current: list.currentIndex
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ height: 20
+ width: 240
+ Text {
+ text: index
+ }
+ Text {
+ x: 30
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ x: 120
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ Text {
+ x: 200
+ text: wrapper.y
+ }
+ color: ListView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ }
+ ]
+ ListView {
+ id: list
+ objectName: "list"
+ focus: true
+ currentIndex: 20
+ width: 240
+ height: 320
+ keyNavigationWraps: testWrap
+ delegate: myDelegate
+ highlightMoveSpeed: 1000
+ model: testModel
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/listview-noCurrent.qml b/tests/auto/declarative/qsglistview/data/listview-noCurrent.qml
new file mode 100644
index 0000000000..079966d8e4
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/listview-noCurrent.qml
@@ -0,0 +1,50 @@
+import QtQuick 2.0
+
+Rectangle {
+ property int current: list.currentIndex
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ height: 20
+ width: 240
+ Text {
+ text: index
+ }
+ Text {
+ x: 30
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ x: 120
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ Text {
+ x: 200
+ text: wrapper.y
+ }
+ color: ListView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ }
+ ]
+ ListView {
+ id: list
+ objectName: "list"
+ focus: true
+ currentIndex: -1
+ width: 240
+ height: 320
+ delegate: myDelegate
+ highlightMoveSpeed: 1000
+ model: testModel
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/listview-sections.qml b/tests/auto/declarative/qsglistview/data/listview-sections.qml
new file mode 100644
index 0000000000..d5b8a4400d
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/listview-sections.qml
@@ -0,0 +1,64 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: myDelegate
+ Item {
+ id: wrapper
+ objectName: "wrapper"
+ height: ListView.previousSection != ListView.section ? 40 : 20;
+ width: 240
+ Rectangle {
+ y: wrapper.ListView.previousSection != wrapper.ListView.section ? 20 : 0
+ height: 20
+ width: parent.width
+ color: wrapper.ListView.isCurrentItem ? "lightsteelblue" : "white"
+ Text {
+ text: index
+ }
+ Text {
+ x: 30
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ x: 100
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ Text {
+ objectName: "nextSection"
+ x: 150
+ text: wrapper.ListView.nextSection
+ }
+ Text {
+ x: 200
+ text: wrapper.y
+ }
+ }
+ Rectangle {
+ color: "#99bb99"
+ height: wrapper.ListView.previousSection != wrapper.ListView.section ? 20 : 0
+ width: parent.width
+ visible: wrapper.ListView.previousSection != wrapper.ListView.section ? true : false
+ Text { text: wrapper.ListView.section }
+ }
+ }
+ }
+ ]
+ ListView {
+ id: list
+ objectName: "list"
+ width: 240
+ height: 320
+ model: testModel
+ delegate: myDelegate
+ section.property: "number"
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/listview-sections_delegate.qml b/tests/auto/declarative/qsglistview/data/listview-sections_delegate.qml
new file mode 100644
index 0000000000..82f332c951
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/listview-sections_delegate.qml
@@ -0,0 +1,69 @@
+import QtQuick 2.0
+
+Rectangle {
+ property string sectionProperty: "number"
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: myDelegate
+ Item {
+ id: wrapper
+ objectName: "wrapper"
+ height: 20;
+ width: 240
+ Rectangle {
+ height: 20
+ width: parent.width
+ color: wrapper.ListView.isCurrentItem ? "lightsteelblue" : "white"
+ Text {
+ text: index
+ }
+ Text {
+ x: 30
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ x: 100
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ Text {
+ objectName: "nextSection"
+ x: 150
+ text: wrapper.ListView.nextSection
+ }
+ Text {
+ x: 200
+ text: wrapper.y
+ }
+ }
+ ListView.onRemove: SequentialAnimation {
+ PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: true }
+ NumberAnimation { target: wrapper; property: "height"; to: 0; duration: 100; easing.type: Easing.InOutQuad }
+ PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: false }
+ }
+ }
+ }
+ ]
+ ListView {
+ id: list
+ objectName: "list"
+ width: 240
+ height: 320
+ model: testModel
+ delegate: myDelegate
+ section.property: sectionProperty
+ section.delegate: Rectangle {
+ objectName: "sect_" + section
+ color: "#99bb99"
+ height: 20
+ width: list.width
+ Text { text: section }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/listviewtest.qml b/tests/auto/declarative/qsglistview/data/listviewtest.qml
new file mode 100644
index 0000000000..0202de1546
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/listviewtest.qml
@@ -0,0 +1,133 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: root
+ width: 240
+ height: 320
+ color: "#ffffff"
+
+ property int count: list.count
+ property bool showHeader: false
+ property bool showFooter: false
+ property real hr: list.visibleArea.heightRatio
+ function heightRatio() {
+ return list.visibleArea.heightRatio
+ }
+
+ function checkProperties() {
+ testObject.error = false;
+ if (list.model != testModel) {
+ console.log("model property incorrect");
+ testObject.error = true;
+ }
+ if (!testObject.animate && list.delegate != myDelegate) {
+ console.log("delegate property incorrect - expected myDelegate");
+ testObject.error = true;
+ }
+ if (testObject.animate && list.delegate != animatedDelegate) {
+ console.log("delegate property incorrect - expected animatedDelegate");
+ testObject.error = true;
+ }
+ if (testObject.invalidHighlight && list.highlight != invalidHl) {
+ console.log("highlight property incorrect - expected invalidHl");
+ testObject.error = true;
+ }
+ if (!testObject.invalidHighlight && list.highlight != myHighlight) {
+ console.log("highlight property incorrect - expected myHighlight");
+ testObject.error = true;
+ }
+ }
+ resources: [
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ height: 20
+ width: 240
+ Text {
+ text: index
+ }
+ Text {
+ x: 30
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ x: 120
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ Text {
+ x: 200
+ text: wrapper.y
+ }
+ color: ListView.isCurrentItem ? "lightsteelblue" : "white"
+ }
+ },
+ Component {
+ id: animatedDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ height: 20
+ width: 240
+ Text {
+ text: index
+ }
+ Text {
+ x: 30
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ x: 120
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ Text {
+ x: 200
+ text: wrapper.y
+ }
+ color: ListView.isCurrentItem ? "lightsteelblue" : "white"
+ ListView.onRemove: SequentialAnimation {
+ PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: true }
+ NumberAnimation { target: wrapper; property: "scale"; to: 0; duration: 250; easing.type: "InOutQuad" }
+ PropertyAction { target: wrapper; property: "ListView.delayRemove"; value: false }
+
+ }
+ }
+ },
+ Component {
+ id: myHighlight
+ Rectangle { color: "green" }
+ },
+ Component {
+ id: invalidHl
+ SmoothedAnimation {}
+ },
+ Component {
+ id: headerFooter
+ Rectangle { height: 30; width: 240; color: "blue" }
+ }
+ ]
+ ListView {
+ id: list
+ objectName: "list"
+ focus: true
+ width: 240
+ height: 320
+ model: testModel
+ delegate: testObject.animate ? animatedDelegate : myDelegate
+ highlight: testObject.invalidHighlight ? invalidHl : myHighlight
+ highlightMoveSpeed: 1000
+ highlightResizeSpeed: 1000
+ cacheBuffer: testObject.cacheBuffer
+ header: root.showHeader ? headerFooter : null
+ footer: root.showFooter ? headerFooter : null
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/manual-highlight.qml b/tests/auto/declarative/qsglistview/data/manual-highlight.qml
new file mode 100644
index 0000000000..aac4599f01
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/manual-highlight.qml
@@ -0,0 +1,47 @@
+import QtQuick 2.0
+
+Item {
+
+ ListModel {
+ id: model
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Bob Brown"
+ number: "555 5845"
+ }
+ }
+
+ Component {
+ id: highlight
+ Rectangle {
+ objectName: "highlight"
+ width: 180; height: 20
+ color: "lightsteelblue"; radius: 5
+ y: list.currentItem.y+5
+ }
+ }
+
+ ListView {
+ id: list
+ objectName: "list"
+ anchors.fill: parent
+ model: model
+ delegate: Text { objectName: "wrapper"; text: name }
+
+ highlight: highlight
+ highlightFollowsCurrentItem: false
+ focus: true
+ }
+
+}
diff --git a/tests/auto/declarative/qsglistview/data/propertychangestest.qml b/tests/auto/declarative/qsglistview/data/propertychangestest.qml
new file mode 100644
index 0000000000..146f3f13b0
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/propertychangestest.qml
@@ -0,0 +1,71 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 180; height: 120; color: "white"
+ Component {
+ id: delegate
+ Item {
+ id: wrapper
+ width: 180; height: 40;
+ Column {
+ x: 5; y: 5
+ Text { text: '<b>Name:</b> ' + name }
+ Text { text: '<b>Number:</b> ' + number }
+ }
+ }
+ }
+ Component {
+ id: highlightRed
+ Rectangle {
+ color: "red"
+ radius: 10
+ opacity: 0.5
+ }
+ }
+ ListView {
+ objectName: "listView"
+ anchors.fill: parent
+ model: listModel
+ delegate: delegate
+ highlight: highlightRed
+ focus: true
+ highlightFollowsCurrentItem: true
+ preferredHighlightBegin: 0.0
+ preferredHighlightEnd: 0.0
+ highlightRangeMode: ListView.ApplyRange
+ keyNavigationWraps: true
+ cacheBuffer: 10
+ snapMode: ListView.SnapToItem
+ }
+
+ data:[
+ ListModel {
+ id: listModel
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ },
+ ListModel {
+ objectName: "alternateModel"
+ ListElement {
+ name: "Jack"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Mary"
+ number: "555 3264"
+ }
+ }
+ ]
+}
+
+
diff --git a/tests/auto/declarative/qsglistview/data/qtbug14821.qml b/tests/auto/declarative/qsglistview/data/qtbug14821.qml
new file mode 100644
index 0000000000..0a5e0acbb4
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/qtbug14821.qml
@@ -0,0 +1,31 @@
+import QtQuick 2.0
+
+ListView {
+ id: view
+ width: 300; height: 200
+ focus: true
+ keyNavigationWraps: true
+
+ model: 100
+
+ preferredHighlightBegin: 90
+ preferredHighlightEnd: 110
+
+ highlightRangeMode: ListView.StrictlyEnforceRange
+ highlight: Component {
+ Rectangle {
+ border.color: "blue"
+ border.width: 3
+ color: "transparent"
+ width: 300; height: 15
+ }
+ }
+
+ delegate: Component {
+ Item {
+ height: 15 + (view.currentIndex == index ? 20 : 0)
+ width: 200
+ Text { text: 'Index: ' + index; anchors.verticalCenter: parent.verticalCenter }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/qtbug16037.qml b/tests/auto/declarative/qsglistview/data/qtbug16037.qml
new file mode 100644
index 0000000000..21faeb3f32
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/qtbug16037.qml
@@ -0,0 +1,37 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+
+ function setModel() {
+ listView.model = listModel1
+ }
+
+ ListModel {
+ id: listModel1
+ ListElement { text: "Apple" }
+ ListElement { text: "Banana" }
+ ListElement { text: "Orange" }
+ ListElement { text: "Coconut" }
+ }
+
+ Rectangle {
+ width: 200
+ height: listView.contentHeight
+ color: "yellow"
+ anchors.centerIn: parent
+
+ ListView {
+ id: listView
+ objectName: "listview"
+ anchors.fill: parent
+
+ delegate: Item {
+ width: 200
+ height: 20
+ Text { text: model.text; anchors.centerIn: parent }
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/rightToLeft.qml b/tests/auto/declarative/qsglistview/data/rightToLeft.qml
new file mode 100644
index 0000000000..6d77de26f4
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/rightToLeft.qml
@@ -0,0 +1,42 @@
+// This example demonstrates how item positioning
+// changes in right-to-left layout direction
+
+import QtQuick 2.0
+
+Rectangle {
+ color: "lightgray"
+ width: 640
+ height: 320
+
+ VisualItemModel {
+ id: itemModel
+ objectName: "itemModel"
+ Rectangle {
+ objectName: "item1"
+ height: view.height; width: 100; color: "#FFFEF0"
+ Text { objectName: "text1"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ objectName: "item2"
+ height: view.height; width: 200; color: "#F0FFF7"
+ Text { objectName: "text2"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ objectName: "item3"
+ height: view.height; width: 240; color: "#F4F0FF"
+ Text { objectName: "text3"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ }
+
+ ListView {
+ id: view
+ objectName: "view"
+ anchors.fill: parent
+ anchors.bottomMargin: 30
+ model: itemModel
+ highlightRangeMode: "StrictlyEnforceRange"
+ orientation: ListView.Horizontal
+ flickDeceleration: 2000
+ layoutDirection: Qt.RightToLeft
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/sizelessthan1.qml b/tests/auto/declarative/qsglistview/data/sizelessthan1.qml
new file mode 100644
index 0000000000..aa9dc20ae9
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/sizelessthan1.qml
@@ -0,0 +1,26 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 240
+ height: 320
+ color: "#ffffff"
+ Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ height: 0.5
+ width: 240
+ color: ((index % 2) == 1 ? "red" : "blue")
+ }
+ }
+ ListView {
+ id: list
+ objectName: "list"
+ focus: true
+ width: 240
+ height: 320
+ model: testModel
+ delegate: myDelegate
+ }
+}
diff --git a/tests/auto/declarative/qsglistview/data/strictlyenforcerange.qml b/tests/auto/declarative/qsglistview/data/strictlyenforcerange.qml
new file mode 100644
index 0000000000..7960ac4abb
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/data/strictlyenforcerange.qml
@@ -0,0 +1,29 @@
+import QtQuick 2.0
+
+ListView {
+ id: list
+ objectName: "list"
+ width: 320
+ height: 480
+
+ function fillModel() {
+ list.model.append({"col": "red"});
+ list.currentIndex = list.count-1
+ list.model.append({"col": "blue"});
+ list.currentIndex = list.count-1
+ list.model.append({"col": "green"});
+ list.currentIndex = list.count-1
+ }
+
+ model: ListModel { id: listModel } // empty model
+ delegate: Rectangle { id: wrapper; objectName: "wrapper"; color: col; width: 300; height: 400 }
+ orientation: "Horizontal"
+ snapMode: "SnapToItem"
+ cacheBuffer: 1000
+
+ preferredHighlightBegin: 10
+ preferredHighlightEnd: 10
+
+ highlightRangeMode: "StrictlyEnforceRange"
+ focus: true
+}
diff --git a/tests/auto/declarative/qsglistview/incrementalmodel.cpp b/tests/auto/declarative/qsglistview/incrementalmodel.cpp
new file mode 100644
index 0000000000..cd0512fb06
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/incrementalmodel.cpp
@@ -0,0 +1,89 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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 "incrementalmodel.h"
+#include <QApplication>
+#include <QDebug>
+
+IncrementalModel::IncrementalModel(QObject *parent)
+ : QAbstractListModel(parent), count(0)
+{
+ for (int i = 0; i < 100; ++i)
+ list.append("Item " + QString::number(i));
+}
+
+int IncrementalModel::rowCount(const QModelIndex & /* parent */) const
+{
+ return count;
+}
+
+QVariant IncrementalModel::data(const QModelIndex &index, int role) const
+{
+ if (!index.isValid())
+ return QVariant();
+
+ if (index.row() >= list.size() || index.row() < 0)
+ return QVariant();
+
+ if (role == Qt::DisplayRole)
+ return list.at(index.row());
+ return QVariant();
+}
+
+bool IncrementalModel::canFetchMore(const QModelIndex & /* index */) const
+{
+ if (count < list.size())
+ return true;
+ else
+ return false;
+}
+
+void IncrementalModel::fetchMore(const QModelIndex & /* index */)
+{
+ int remainder = list.size() - count;
+ int itemsToFetch = qMin(5, remainder);
+
+ beginInsertRows(QModelIndex(), count, count+itemsToFetch-1);
+
+ count += itemsToFetch;
+
+ endInsertRows();
+}
diff --git a/tests/auto/declarative/qsglistview/incrementalmodel.h b/tests/auto/declarative/qsglistview/incrementalmodel.h
new file mode 100644
index 0000000000..9c4e7ddd4a
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/incrementalmodel.h
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+#ifndef IncrementalModel_H
+#define IncrementalModel_H
+
+#include <QAbstractListModel>
+#include <QList>
+#include <QStringList>
+
+class IncrementalModel : public QAbstractListModel
+{
+ Q_OBJECT
+
+public:
+ IncrementalModel(QObject *parent = 0);
+
+ int rowCount(const QModelIndex &parent = QModelIndex()) const;
+ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
+
+protected:
+ bool canFetchMore(const QModelIndex &parent) const;
+ void fetchMore(const QModelIndex &parent);
+
+private:
+ QStringList list;
+ int count;
+};
+
+#endif
diff --git a/tests/auto/declarative/qsglistview/qsglistview.pro b/tests/auto/declarative/qsglistview/qsglistview.pro
new file mode 100644
index 0000000000..8650d75210
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/qsglistview.pro
@@ -0,0 +1,19 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+macx:CONFIG -= app_bundle
+
+HEADERS += incrementalmodel.h
+SOURCES += tst_qsglistview.cpp incrementalmodel.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+QT += core-private gui-private declarative-private
+QT += script-private
+QT += opengl-private
diff --git a/tests/auto/declarative/qsglistview/tst_qsglistview.cpp b/tests/auto/declarative/qsglistview/tst_qsglistview.cpp
new file mode 100644
index 0000000000..e32353ad53
--- /dev/null
+++ b/tests/auto/declarative/qsglistview/tst_qsglistview.cpp
@@ -0,0 +1,2725 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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 <QtTest/QtTest>
+#include <QtGui/QStringListModel>
+#include <QtDeclarative/qsgview.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtDeclarative/private/qsgitem_p.h>
+#include <QtDeclarative/private/qsglistview_p.h>
+#include <QtDeclarative/private/qsgtext_p.h>
+#include <QtDeclarative/private/qsgvisualitemmodel_p.h>
+#include <QtDeclarative/private/qdeclarativelistmodel_p.h>
+#include <QtDeclarative/private/qlistmodelinterface_p.h>
+#include "../../../shared/util.h"
+#include "incrementalmodel.h"
+#include <QtOpenGL/QGLShaderProgram>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_QSGListView : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QSGListView();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ // Test both QListModelInterface and QAbstractItemModel model types
+ void qListModelInterface_items();
+ void qAbstractItemModel_items();
+
+ void qListModelInterface_changed();
+ void qAbstractItemModel_changed();
+
+ void qListModelInterface_inserted();
+ void qAbstractItemModel_inserted();
+
+ void qListModelInterface_removed();
+ void qAbstractItemModel_removed();
+
+ void qListModelInterface_moved();
+ void qAbstractItemModel_moved();
+
+ void qListModelInterface_clear();
+ void qAbstractItemModel_clear();
+
+ void itemList();
+ void currentIndex();
+ void noCurrentIndex();
+ void enforceRange();
+ void spacing();
+ void sections();
+ void sectionsDelegate();
+ void cacheBuffer();
+ void positionViewAtIndex();
+ void resetModel();
+ void propertyChanges();
+ void componentChanges();
+ void modelChanges();
+ void QTBUG_9791();
+ void manualHighlight();
+ void QTBUG_11105();
+ void header();
+ void footer();
+ void headerFooter();
+ void resizeView();
+ void sizeLessThan1();
+ void QTBUG_14821();
+ void resizeDelegate();
+ void QTBUG_16037();
+ void indexAt();
+ void incrementalModel();
+ void onAdd();
+ void onAdd_data();
+ void onRemove();
+ void onRemove_data();
+ void rightToLeft();
+ void test_mirroring();
+
+private:
+ template <class T> void items();
+ template <class T> void changed();
+ template <class T> void inserted();
+ template <class T> void removed(bool animated);
+ template <class T> void moved();
+ template <class T> void clear();
+ QSGView *createView();
+ template<typename T>
+ T *findItem(QSGItem *parent, const QString &id, int index=-1);
+ template<typename T>
+ QList<T*> findItems(QSGItem *parent, const QString &objectName);
+ void dumpTree(QSGItem *parent, int depth = 0);
+};
+
+void tst_QSGListView::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("QSGListView needs OpenGL 2.0", SkipAll);
+}
+
+void tst_QSGListView::cleanupTestCase()
+{
+
+}
+class TestObject : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(bool error READ error WRITE setError NOTIFY changedError)
+ Q_PROPERTY(bool animate READ animate NOTIFY changedAnim)
+ Q_PROPERTY(bool invalidHighlight READ invalidHighlight NOTIFY changedHl)
+ Q_PROPERTY(int cacheBuffer READ cacheBuffer NOTIFY changedCacheBuffer)
+
+public:
+ TestObject(QObject *parent = 0)
+ : QObject(parent), mError(true), mAnimate(false), mInvalidHighlight(false)
+ , mCacheBuffer(0) {}
+
+ bool error() const { return mError; }
+ void setError(bool err) { mError = err; emit changedError(); }
+
+ bool animate() const { return mAnimate; }
+ void setAnimate(bool anim) { mAnimate = anim; emit changedAnim(); }
+
+ bool invalidHighlight() const { return mInvalidHighlight; }
+ void setInvalidHighlight(bool invalid) { mInvalidHighlight = invalid; emit changedHl(); }
+
+ int cacheBuffer() const { return mCacheBuffer; }
+ void setCacheBuffer(int buffer) { mCacheBuffer = buffer; emit changedCacheBuffer(); }
+
+signals:
+ void changedError();
+ void changedAnim();
+ void changedHl();
+ void changedCacheBuffer();
+
+public:
+ bool mError;
+ bool mAnimate;
+ bool mInvalidHighlight;
+ int mCacheBuffer;
+};
+
+class TestModel : public QListModelInterface
+{
+ Q_OBJECT
+public:
+ TestModel(QObject *parent = 0) : QListModelInterface(parent) {}
+ ~TestModel() {}
+
+ enum Roles { Name, Number };
+
+ QString name(int index) const { return list.at(index).first; }
+ QString number(int index) const { return list.at(index).second; }
+
+ int count() const { return list.count(); }
+
+ QList<int> roles() const { return QList<int>() << Name << Number; }
+ QString toString(int role) const {
+ switch(role) {
+ case Name:
+ return "name";
+ case Number:
+ return "number";
+ default:
+ return "";
+ }
+ }
+
+ QVariant data(int index, int role) const
+ {
+ if (role==0)
+ return list.at(index).first;
+ if (role==1)
+ return list.at(index).second;
+ return QVariant();
+ }
+ QHash<int, QVariant> data(int index, const QList<int> &roles) const {
+ QHash<int,QVariant> returnHash;
+
+ for (int i = 0; i < roles.size(); ++i) {
+ int role = roles.at(i);
+ QVariant info;
+ switch(role) {
+ case Name:
+ info = list.at(index).first;
+ break;
+ case Number:
+ info = list.at(index).second;
+ break;
+ default:
+ break;
+ }
+ returnHash.insert(role, info);
+ }
+ return returnHash;
+ }
+
+ void addItem(const QString &name, const QString &number) {
+ list.append(QPair<QString,QString>(name, number));
+ emit itemsInserted(list.count()-1, 1);
+ }
+
+ void insertItem(int index, const QString &name, const QString &number) {
+ list.insert(index, QPair<QString,QString>(name, number));
+ emit itemsInserted(index, 1);
+ }
+
+ void removeItem(int index) {
+ list.removeAt(index);
+ emit itemsRemoved(index, 1);
+ }
+
+ void removeItems(int index, int count) {
+ int c = count;
+ while (c--)
+ list.removeAt(index);
+ emit itemsRemoved(index, count);
+ }
+
+ void moveItem(int from, int to) {
+ list.move(from, to);
+ emit itemsMoved(from, to, 1);
+ }
+
+ void modifyItem(int index, const QString &name, const QString &number) {
+ list[index] = QPair<QString,QString>(name, number);
+ emit itemsChanged(index, 1, roles());
+ }
+
+ void clear() {
+ int count = list.count();
+ list.clear();
+ emit itemsRemoved(0, count);
+ }
+
+private:
+ QList<QPair<QString,QString> > list;
+};
+
+
+class TestModel2 : public QAbstractListModel
+{
+public:
+ enum Roles { Name = Qt::UserRole+1, Number = Qt::UserRole+2 };
+
+ TestModel2(QObject *parent=0) : QAbstractListModel(parent) {
+ QHash<int, QByteArray> roles;
+ roles[Name] = "name";
+ roles[Number] = "number";
+ setRoleNames(roles);
+ }
+
+ int rowCount(const QModelIndex &parent=QModelIndex()) const { Q_UNUSED(parent); return list.count(); }
+ QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const {
+ QVariant rv;
+ if (role == Name)
+ rv = list.at(index.row()).first;
+ else if (role == Number)
+ rv = list.at(index.row()).second;
+
+ return rv;
+ }
+
+ int count() const { return rowCount(); }
+ QString name(int index) const { return list.at(index).first; }
+ QString number(int index) const { return list.at(index).second; }
+
+ void addItem(const QString &name, const QString &number) {
+ emit beginInsertRows(QModelIndex(), list.count(), list.count());
+ list.append(QPair<QString,QString>(name, number));
+ emit endInsertRows();
+ }
+
+ void addItems(const QList<QPair<QString, QString> > &items) {
+ emit beginInsertRows(QModelIndex(), list.count(), list.count()+items.count()-1);
+ for (int i=0; i<items.count(); i++)
+ list.append(QPair<QString,QString>(items[i].first, items[i].second));
+ emit endInsertRows();
+ }
+
+ void insertItem(int index, const QString &name, const QString &number) {
+ emit beginInsertRows(QModelIndex(), index, index);
+ list.insert(index, QPair<QString,QString>(name, number));
+ emit endInsertRows();
+ }
+
+ void removeItem(int index) {
+ emit beginRemoveRows(QModelIndex(), index, index);
+ list.removeAt(index);
+ emit endRemoveRows();
+ }
+
+ void removeItems(int index, int count) {
+ emit beginRemoveRows(QModelIndex(), index, index+count-1);
+ while (count--)
+ list.removeAt(index);
+ emit endRemoveRows();
+ }
+
+ void moveItem(int from, int to) {
+ emit beginMoveRows(QModelIndex(), from, from, QModelIndex(), to);
+ list.move(from, to);
+ emit endMoveRows();
+ }
+
+ void modifyItem(int idx, const QString &name, const QString &number) {
+ list[idx] = QPair<QString,QString>(name, number);
+ emit dataChanged(index(idx,0), index(idx,0));
+ }
+
+ void clear() {
+ int count = list.count();
+ emit beginRemoveRows(QModelIndex(), 0, count-1);
+ list.clear();
+ emit endRemoveRows();
+ }
+
+private:
+ QList<QPair<QString,QString> > list;
+};
+
+tst_QSGListView::tst_QSGListView()
+{
+}
+
+template <class T>
+void tst_QSGListView::items()
+{
+ QSGView *canvas = createView();
+
+ T model;
+ model.addItem("Fred", "12345");
+ model.addItem("John", "2345");
+ model.addItem("Bob", "54321");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
+ QTRY_VERIFY(testObject->error() == false);
+
+ QTRY_VERIFY(listview->highlightItem() != 0);
+ QTRY_COMPARE(listview->count(), model.count());
+ QTRY_COMPARE(canvas->rootObject()->property("count").toInt(), model.count());
+ QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item
+
+ // current item should be first item
+ QTRY_COMPARE(listview->currentItem(), findItem<QSGItem>(contentItem, "wrapper", 0));
+
+ for (int i = 0; i < model.count(); ++i) {
+ QSGText *name = findItem<QSGText>(contentItem, "textName", i);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(i));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", i);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(i));
+ }
+
+ // switch to other delegate
+ testObject->setAnimate(true);
+ QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
+ QTRY_VERIFY(testObject->error() == false);
+ QTRY_VERIFY(listview->currentItem());
+
+ // set invalid highlight
+ testObject->setInvalidHighlight(true);
+ QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
+ QTRY_VERIFY(testObject->error() == false);
+ QTRY_VERIFY(listview->currentItem());
+ QTRY_VERIFY(listview->highlightItem() == 0);
+
+ // back to normal highlight
+ testObject->setInvalidHighlight(false);
+ QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
+ QTRY_VERIFY(testObject->error() == false);
+ QTRY_VERIFY(listview->currentItem());
+ QTRY_VERIFY(listview->highlightItem() != 0);
+
+ // set an empty model and confirm that items are destroyed
+ T model2;
+ ctxt->setContextProperty("testModel", &model2);
+
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ QTRY_VERIFY(itemCount == 0);
+
+ QTRY_COMPARE(listview->highlightResizeSpeed(), 1000.0);
+ QTRY_COMPARE(listview->highlightMoveSpeed(), 1000.0);
+
+ delete canvas;
+ delete testObject;
+}
+
+
+template <class T>
+void tst_QSGListView::changed()
+{
+ QSGView *canvas = createView();
+
+ T model;
+ model.addItem("Fred", "12345");
+ model.addItem("John", "2345");
+ model.addItem("Bob", "54321");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGFlickable *listview = findItem<QSGFlickable>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ model.modifyItem(1, "Will", "9876");
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 1);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(1));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 1);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(1));
+
+ delete canvas;
+ delete testObject;
+}
+
+template <class T>
+void tst_QSGListView::inserted()
+{
+ QSGView *canvas = createView();
+
+ T model;
+ model.addItem("Fred", "12345");
+ model.addItem("John", "2345");
+ model.addItem("Bob", "54321");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ model.insertItem(1, "Will", "9876");
+
+ QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item
+
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 1);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(1));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 1);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(1));
+
+ // Confirm items positioned correctly
+ for (int i = 0; i < model.count(); ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ QTRY_COMPARE(item->y(), i*20.0);
+ }
+
+ model.insertItem(0, "Foo", "1111"); // zero index, and current item
+
+ QCOMPARE(canvas->rootObject()->property("count").toInt(), model.count());
+ QTRY_COMPARE(contentItem->childItems().count(), model.count()+1); // assumes all are visible, +1 for the (default) highlight item
+
+ name = findItem<QSGText>(contentItem, "textName", 0);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(0));
+ number = findItem<QSGText>(contentItem, "textNumber", 0);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(0));
+
+ QTRY_COMPARE(listview->currentIndex(), 1);
+
+ // Confirm items positioned correctly
+ for (int i = 0; i < model.count(); ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ QTRY_COMPARE(item->y(), i*20.0);
+ }
+
+ for (int i = model.count(); i < 30; ++i)
+ model.insertItem(i, "Hello", QString::number(i));
+
+ listview->setContentY(80);
+
+ // Insert item outside visible area
+ model.insertItem(1, "Hello", "1324");
+
+ QTRY_VERIFY(listview->contentY() == 80);
+
+ // Confirm items positioned correctly
+ for (int i = 5; i < 5+15; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.0 - 20.0);
+ }
+
+// QTRY_COMPARE(listview->contentItemHeight(), model.count() * 20.0);
+
+ delete canvas;
+ delete testObject;
+}
+
+template <class T>
+void tst_QSGListView::removed(bool animated)
+{
+ QSGView *canvas = createView();
+
+ T model;
+ for (int i = 0; i < 50; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ testObject->setAnimate(animated);
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ model.removeItem(1);
+ QCOMPARE(canvas->rootObject()->property("count").toInt(), model.count());
+
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 1);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(1));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 1);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(1));
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->y() == i*20);
+ }
+
+ // Remove first item (which is the current item);
+ model.removeItem(0); // post: top item starts at 20
+
+ QTest::qWait(300);
+
+ name = findItem<QSGText>(contentItem, "textName", 0);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(0));
+ number = findItem<QSGText>(contentItem, "textNumber", 0);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(0));
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(),i*20.0 + 20.0);
+ }
+
+ // Remove items not visible
+ model.removeItem(18);
+ qApp->processEvents();
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(),i*20.0+20.0);
+ }
+
+ // Remove items before visible
+ listview->setContentY(80);
+ listview->setCurrentIndex(10);
+
+ model.removeItem(1); // post: top item will be at 40
+ qApp->processEvents();
+
+ // Confirm items positioned correctly
+ for (int i = 2; i < 18; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(),40+i*20.0);
+ }
+
+ // Remove current index
+ QTRY_VERIFY(listview->currentIndex() == 9);
+ QSGItem *oldCurrent = listview->currentItem();
+ model.removeItem(9);
+
+ QTRY_COMPARE(listview->currentIndex(), 9);
+ QTRY_VERIFY(listview->currentItem() != oldCurrent);
+
+ listview->setContentY(40); // That's the top now
+ // let transitions settle.
+ QTest::qWait(300);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(),40+i*20.0);
+ }
+
+ // remove current item beyond visible items.
+ listview->setCurrentIndex(20);
+ listview->setContentY(40);
+ model.removeItem(20);
+
+ QTRY_COMPARE(listview->currentIndex(), 20);
+ QTRY_VERIFY(listview->currentItem() != 0);
+
+ // remove item before current, but visible
+ listview->setCurrentIndex(8);
+ oldCurrent = listview->currentItem();
+ model.removeItem(6);
+
+ QTRY_COMPARE(listview->currentIndex(), 7);
+ QTRY_VERIFY(listview->currentItem() == oldCurrent);
+
+ listview->setContentY(80);
+ QTest::qWait(300);
+
+ // remove all visible items
+ model.removeItems(1, 18);
+ QTest::qWait(300);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i+2);
+ if (!item) qWarning() << "Item" << i+2 << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(),80+i*20.0);
+ }
+
+ model.removeItems(1, 17);
+// QTest::qWait(300);
+
+ model.removeItems(2, 1);
+ model.addItem("New", "1");
+
+ QTRY_VERIFY(name = findItem<QSGText>(contentItem, "textName", model.count()-1));
+ QCOMPARE(name->text(), QString("New"));
+
+ // Add some more items so that we don't run out
+ for (int i = 50; i < 100; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ // QTBUG-19198 move to end and remove all visible items one at a time.
+ listview->positionViewAtEnd();
+ for (int i = 0; i < 18; ++i)
+ model.removeItems(model.count() - 1, 1);
+ QTRY_VERIFY(findItems<QSGItem>(contentItem, "wrapper").count() > 16);
+
+ delete canvas;
+ delete testObject;
+}
+
+template <class T>
+void tst_QSGListView::clear()
+{
+ QSGView *canvas = createView();
+
+ T model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ model.clear();
+
+ QTRY_VERIFY(listview->count() == 0);
+ QTRY_VERIFY(listview->currentItem() == 0);
+ QTRY_VERIFY(listview->contentY() == 0);
+ QVERIFY(listview->currentIndex() == -1);
+
+ // confirm sanity when adding an item to cleared list
+ model.addItem("New", "1");
+ QTRY_VERIFY(listview->count() == 1);
+ QVERIFY(listview->currentItem() != 0);
+ QVERIFY(listview->currentIndex() == 0);
+
+ delete canvas;
+ delete testObject;
+}
+
+
+template <class T>
+void tst_QSGListView::moved()
+{
+ QSGView *canvas = createView();
+
+ T model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ model.moveItem(1, 4);
+
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 1);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(1));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 1);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(1));
+
+ name = findItem<QSGText>(contentItem, "textName", 4);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(4));
+ number = findItem<QSGText>(contentItem, "textNumber", 4);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(4));
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->y() == i*20);
+ }
+
+ listview->setContentY(80);
+
+ // move outside visible area
+ model.moveItem(1, 18);
+
+ // Confirm items positioned correctly and indexes correct
+ for (int i = 3; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.0 + 20);
+ name = findItem<QSGText>(contentItem, "textName", i);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(i));
+ number = findItem<QSGText>(contentItem, "textNumber", i);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(i));
+ }
+
+ // move from outside visible into visible
+ model.moveItem(20, 4);
+
+ // Confirm items positioned correctly and indexes correct
+ for (int i = 3; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.0 + 20);
+ name = findItem<QSGText>(contentItem, "textName", i);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(i));
+ number = findItem<QSGText>(contentItem, "textNumber", i);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(i));
+ }
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QSGListView::enforceRange()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listview-enforcerange.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QTRY_COMPARE(listview->preferredHighlightBegin(), 100.0);
+ QTRY_COMPARE(listview->preferredHighlightEnd(), 100.0);
+ QTRY_COMPARE(listview->highlightRangeMode(), QSGListView::StrictlyEnforceRange);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // view should be positioned at the top of the range.
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", 0);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(listview->contentY(), -100.0);
+
+ QSGText *name = findItem<QSGText>(contentItem, "textName", 0);
+ QTRY_VERIFY(name != 0);
+ QTRY_COMPARE(name->text(), model.name(0));
+ QSGText *number = findItem<QSGText>(contentItem, "textNumber", 0);
+ QTRY_VERIFY(number != 0);
+ QTRY_COMPARE(number->text(), model.number(0));
+
+ // Check currentIndex is updated when contentItem moves
+ listview->setContentY(20);
+
+ QTRY_COMPARE(listview->currentIndex(), 6);
+
+ // change model
+ TestModel model2;
+ for (int i = 0; i < 5; i++)
+ model2.addItem("Item" + QString::number(i), "");
+
+ ctxt->setContextProperty("testModel", &model2);
+ QCOMPARE(listview->count(), 5);
+
+ delete canvas;
+}
+
+void tst_QSGListView::spacing()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->y() == i*20);
+ }
+
+ listview->setSpacing(10);
+ QTRY_VERIFY(listview->spacing() == 10);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->y() == i*30);
+ }
+
+ listview->setSpacing(0);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.0);
+ }
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QSGListView::sections()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), QString::number(i/5));
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listview-sections.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), qreal(i*20 + ((i+4)/5) * 20));
+ QSGText *next = findItem<QSGText>(item, "nextSection");
+ QCOMPARE(next->text().toInt(), (i+1)/5);
+ }
+
+ QSignalSpy currentSectionChangedSpy(listview, SIGNAL(currentSectionChanged()));
+
+ // Remove section boundary
+ model.removeItem(5);
+
+ // New section header created
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", 5);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->height(), 40.0);
+
+ model.insertItem(3, "New Item", "0");
+
+ // Section header moved
+ item = findItem<QSGItem>(contentItem, "wrapper", 5);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->height(), 20.0);
+
+ item = findItem<QSGItem>(contentItem, "wrapper", 6);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->height(), 40.0);
+
+ // insert item which will become a section header
+ model.insertItem(6, "Replace header", "1");
+
+ item = findItem<QSGItem>(contentItem, "wrapper", 6);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->height(), 40.0);
+
+ item = findItem<QSGItem>(contentItem, "wrapper", 7);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->height(), 20.0);
+
+ QTRY_COMPARE(listview->currentSection(), QString("0"));
+
+ listview->setContentY(140);
+ QTRY_COMPARE(listview->currentSection(), QString("1"));
+
+ QTRY_COMPARE(currentSectionChangedSpy.count(), 1);
+
+ listview->setContentY(20);
+ QTRY_COMPARE(listview->currentSection(), QString("0"));
+
+ QTRY_COMPARE(currentSectionChangedSpy.count(), 2);
+
+ item = findItem<QSGItem>(contentItem, "wrapper", 1);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->height(), 20.0);
+
+ // check that headers change when item changes
+ listview->setContentY(0);
+ model.modifyItem(0, "changed", "2");
+
+ item = findItem<QSGItem>(contentItem, "wrapper", 1);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->height(), 40.0);
+
+ delete canvas;
+}
+
+void tst_QSGListView::sectionsDelegate()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), QString::number(i/5));
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listview-sections_delegate.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), qreal(i*20 + ((i+5)/5) * 20));
+ QSGText *next = findItem<QSGText>(item, "nextSection");
+ QCOMPARE(next->text().toInt(), (i+1)/5);
+ }
+
+ for (int i = 0; i < 3; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "sect_" + QString::number(i));
+ QVERIFY(item);
+ QTRY_COMPARE(item->y(), qreal(i*20*6));
+ }
+
+ model.modifyItem(0, "One", "aaa");
+ model.modifyItem(1, "Two", "aaa");
+ model.modifyItem(2, "Three", "aaa");
+ model.modifyItem(3, "Four", "aaa");
+ model.modifyItem(4, "Five", "aaa");
+
+ for (int i = 0; i < 3; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem,
+ "sect_" + (i == 0 ? QString("aaa") : QString::number(i)));
+ QVERIFY(item);
+ QTRY_COMPARE(item->y(), qreal(i*20*6));
+ }
+
+ // remove section boundary
+ model.removeItem(5);
+ qApp->processEvents();
+ for (int i = 0; i < 3; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem,
+ "sect_" + (i == 0 ? QString("aaa") : QString::number(i)));
+ QVERIFY(item);
+ }
+
+ // QTBUG-17606
+ QList<QSGItem*> items = findItems<QSGItem>(contentItem, "sect_1");
+ QCOMPARE(items.count(), 1);
+
+ // QTBUG-17759
+ model.modifyItem(0, "One", "aaa");
+ model.modifyItem(1, "One", "aaa");
+ model.modifyItem(2, "One", "aaa");
+ model.modifyItem(3, "Four", "aaa");
+ model.modifyItem(4, "Four", "aaa");
+ model.modifyItem(5, "Four", "aaa");
+ model.modifyItem(6, "Five", "aaa");
+ model.modifyItem(7, "Five", "aaa");
+ model.modifyItem(8, "Five", "aaa");
+ model.modifyItem(9, "Two", "aaa");
+ model.modifyItem(10, "Two", "aaa");
+ model.modifyItem(11, "Two", "aaa");
+ QTRY_COMPARE(findItems<QSGItem>(contentItem, "sect_aaa").count(), 1);
+ canvas->rootObject()->setProperty("sectionProperty", "name");
+ // ensure view has settled.
+ QTRY_COMPARE(findItems<QSGItem>(contentItem, "sect_Four").count(), 1);
+ for (int i = 0; i < 4; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem,
+ "sect_" + model.name(i*3));
+ QVERIFY(item);
+ QTRY_COMPARE(item->y(), qreal(i*20*4));
+ }
+
+ // QTBUG-17769
+ model.removeItems(10, 20);
+ // ensure view has settled.
+ QTRY_COMPARE(findItems<QSGItem>(contentItem, "wrapper").count(), 10);
+ // Drag view up beyond bounds
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(20,20));
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(20,0), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(canvas, &mv);
+ }
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(20,-50), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(canvas, &mv);
+ }
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(20,-200), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(canvas, &mv);
+ }
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(20,-200));
+ // view should settle back at 0
+ QTRY_COMPARE(listview->contentY(), 0.0);
+
+ delete canvas;
+}
+
+void tst_QSGListView::currentIndex()
+{
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), QString::number(i));
+
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("testWrap", QVariant(false));
+
+ QString filename(SRCDIR "/data/listview-initCurrent.qml");
+ canvas->setSource(QUrl::fromLocalFile(filename));
+
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // current item should be 20th item at startup
+ // and current item should be in view
+ QCOMPARE(listview->currentIndex(), 20);
+ QCOMPARE(listview->contentY(), 100.0);
+ QCOMPARE(listview->currentItem(), findItem<QSGItem>(contentItem, "wrapper", 20));
+ QCOMPARE(listview->highlightItem()->y(), listview->currentItem()->y());
+
+ // no wrap
+ listview->setCurrentIndex(0);
+ QCOMPARE(listview->currentIndex(), 0);
+ // confirm that the velocity is updated
+ QTRY_VERIFY(listview->verticalVelocity() != 0.0);
+
+ listview->incrementCurrentIndex();
+ QCOMPARE(listview->currentIndex(), 1);
+ listview->decrementCurrentIndex();
+ QCOMPARE(listview->currentIndex(), 0);
+
+ listview->decrementCurrentIndex();
+ QCOMPARE(listview->currentIndex(), 0);
+
+ // with wrap
+ ctxt->setContextProperty("testWrap", QVariant(true));
+ QVERIFY(listview->isWrapEnabled());
+
+ listview->decrementCurrentIndex();
+ QCOMPARE(listview->currentIndex(), model.count()-1);
+
+ QTRY_COMPARE(listview->contentY(), 280.0);
+
+ listview->incrementCurrentIndex();
+ QCOMPARE(listview->currentIndex(), 0);
+
+ QTRY_COMPARE(listview->contentY(), 0.0);
+
+ // Test keys
+ canvas->show();
+ qApp->setActiveWindow(canvas);
+#ifdef Q_WS_X11
+ // to be safe and avoid failing setFocus with window managers
+ qt_x11_wait_for_window_manager(canvas);
+#endif
+ QTRY_VERIFY(canvas->hasFocus());
+ qApp->processEvents();
+
+ QTest::keyClick(canvas, Qt::Key_Down);
+ QCOMPARE(listview->currentIndex(), 1);
+
+ QTest::keyClick(canvas, Qt::Key_Up);
+ QCOMPARE(listview->currentIndex(), 0);
+
+ // turn off auto highlight
+ listview->setHighlightFollowsCurrentItem(false);
+ QVERIFY(listview->highlightFollowsCurrentItem() == false);
+
+ QVERIFY(listview->highlightItem());
+ qreal hlPos = listview->highlightItem()->y();
+
+ listview->setCurrentIndex(4);
+ QTRY_COMPARE(listview->highlightItem()->y(), hlPos);
+
+ // insert item before currentIndex
+ listview->setCurrentIndex(28);
+ model.insertItem(0, "Foo", "1111");
+ QTRY_COMPARE(canvas->rootObject()->property("current").toInt(), 29);
+
+ // check removing highlight by setting currentIndex to -1;
+ listview->setCurrentIndex(-1);
+
+ QCOMPARE(listview->currentIndex(), -1);
+ QVERIFY(!listview->highlightItem());
+ QVERIFY(!listview->currentItem());
+
+ delete canvas;
+}
+
+void tst_QSGListView::noCurrentIndex()
+{
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), QString::number(i));
+
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ QString filename(SRCDIR "/data/listview-noCurrent.qml");
+ canvas->setSource(QUrl::fromLocalFile(filename));
+
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // current index should be -1 at startup
+ // and we should not have a currentItem or highlightItem
+ QCOMPARE(listview->currentIndex(), -1);
+ QCOMPARE(listview->contentY(), 0.0);
+ QVERIFY(!listview->highlightItem());
+ QVERIFY(!listview->currentItem());
+
+ listview->setCurrentIndex(2);
+ QCOMPARE(listview->currentIndex(), 2);
+ QVERIFY(listview->highlightItem());
+ QVERIFY(listview->currentItem());
+
+ delete canvas;
+}
+
+void tst_QSGListView::itemList()
+{
+ QSGView *canvas = createView();
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/itemlist.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "view");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QSGVisualItemModel *model = canvas->rootObject()->findChild<QSGVisualItemModel*>("itemModel");
+ QTRY_VERIFY(model != 0);
+
+ QTRY_VERIFY(model->count() == 3);
+ QTRY_COMPARE(listview->currentIndex(), 0);
+
+ QSGItem *item = findItem<QSGItem>(contentItem, "item1");
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), 0.0);
+ QCOMPARE(item->height(), listview->height());
+
+ QSGText *text = findItem<QSGText>(contentItem, "text1");
+ QTRY_VERIFY(text);
+ QTRY_COMPARE(text->text(), QLatin1String("index: 0"));
+
+ listview->setCurrentIndex(2);
+
+ item = findItem<QSGItem>(contentItem, "item3");
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), 480.0);
+
+ text = findItem<QSGText>(contentItem, "text3");
+ QTRY_VERIFY(text);
+ QTRY_COMPARE(text->text(), QLatin1String("index: 2"));
+
+ delete canvas;
+}
+
+void tst_QSGListView::cacheBuffer()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+ QTRY_VERIFY(listview->delegate() != 0);
+ QTRY_VERIFY(listview->model() != 0);
+ QTRY_VERIFY(listview->highlight() != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->y() == i*20);
+ }
+
+ testObject->setCacheBuffer(400);
+ QTRY_VERIFY(listview->cacheBuffer() == 400);
+
+ int newItemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ QTRY_VERIFY(newItemCount > itemCount);
+
+ // Confirm items positioned correctly
+ for (int i = 0; i < model.count() && i < newItemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->y() == i*20);
+ }
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QSGListView::positionViewAtIndex()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 40; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.);
+ }
+
+ // Position on a currently visible item
+ listview->positionViewAtIndex(3, QSGListView::Beginning);
+ QTRY_COMPARE(listview->contentY(), 60.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 3; i < model.count() && i < itemCount-3-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.);
+ }
+
+ // Position on an item beyond the visible items
+ listview->positionViewAtIndex(22, QSGListView::Beginning);
+ QTRY_COMPARE(listview->contentY(), 440.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 22; i < model.count() && i < itemCount-22-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.);
+ }
+
+ // Position on an item that would leave empty space if positioned at the top
+ listview->positionViewAtIndex(28, QSGListView::Beginning);
+ QTRY_COMPARE(listview->contentY(), 480.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 24; i < model.count() && i < itemCount-24-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.);
+ }
+
+ // Position at the beginning again
+ listview->positionViewAtIndex(0, QSGListView::Beginning);
+ QTRY_COMPARE(listview->contentY(), 0.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount-1; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.);
+ }
+
+ // Position at End using last index
+ listview->positionViewAtIndex(model.count()-1, QSGListView::End);
+ QTRY_COMPARE(listview->contentY(), 480.);
+
+ // Confirm items positioned correctly
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 24; i < model.count(); ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.);
+ }
+
+ // Position at End
+ listview->positionViewAtIndex(20, QSGListView::End);
+ QTRY_COMPARE(listview->contentY(), 100.);
+
+ // Position in Center
+ listview->positionViewAtIndex(15, QSGListView::Center);
+ QTRY_COMPARE(listview->contentY(), 150.);
+
+ // Ensure at least partially visible
+ listview->positionViewAtIndex(15, QSGListView::Visible);
+ QTRY_COMPARE(listview->contentY(), 150.);
+
+ listview->setContentY(302);
+ listview->positionViewAtIndex(15, QSGListView::Visible);
+ QTRY_COMPARE(listview->contentY(), 302.);
+
+ listview->setContentY(320);
+ listview->positionViewAtIndex(15, QSGListView::Visible);
+ QTRY_COMPARE(listview->contentY(), 300.);
+
+ listview->setContentY(85);
+ listview->positionViewAtIndex(20, QSGListView::Visible);
+ QTRY_COMPARE(listview->contentY(), 85.);
+
+ listview->setContentY(75);
+ listview->positionViewAtIndex(20, QSGListView::Visible);
+ QTRY_COMPARE(listview->contentY(), 100.);
+
+ // Ensure completely visible
+ listview->setContentY(120);
+ listview->positionViewAtIndex(20, QSGListView::Contain);
+ QTRY_COMPARE(listview->contentY(), 120.);
+
+ listview->setContentY(302);
+ listview->positionViewAtIndex(15, QSGListView::Contain);
+ QTRY_COMPARE(listview->contentY(), 300.);
+
+ listview->setContentY(85);
+ listview->positionViewAtIndex(20, QSGListView::Contain);
+ QTRY_COMPARE(listview->contentY(), 100.);
+
+ // positionAtBeginnging
+ listview->positionViewAtBeginning();
+ QTRY_COMPARE(listview->contentY(), 0.);
+
+ listview->setContentY(80);
+ canvas->rootObject()->setProperty("showHeader", true);
+ listview->positionViewAtBeginning();
+ QTRY_COMPARE(listview->contentY(), -30.);
+
+ // positionAtEnd
+ listview->positionViewAtEnd();
+ QTRY_COMPARE(listview->contentY(), 480.); // 40*20 - 320
+
+ listview->setContentY(80);
+ canvas->rootObject()->setProperty("showFooter", true);
+ listview->positionViewAtEnd();
+ QTRY_COMPARE(listview->contentY(), 510.);
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QSGListView::resetModel()
+{
+ QSGView *canvas = createView();
+
+ QStringList strings;
+ strings << "one" << "two" << "three";
+ QStringListModel model(strings);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/displaylist.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QTRY_COMPARE(listview->count(), model.rowCount());
+
+ for (int i = 0; i < model.rowCount(); ++i) {
+ QSGText *display = findItem<QSGText>(contentItem, "displayText", i);
+ QTRY_VERIFY(display != 0);
+ QTRY_COMPARE(display->text(), strings.at(i));
+ }
+
+ strings.clear();
+ strings << "four" << "five" << "six" << "seven";
+ model.setStringList(strings);
+
+ QTRY_COMPARE(listview->count(), model.rowCount());
+
+ for (int i = 0; i < model.rowCount(); ++i) {
+ QSGText *display = findItem<QSGText>(contentItem, "displayText", i);
+ QTRY_VERIFY(display != 0);
+ QTRY_COMPARE(display->text(), strings.at(i));
+ }
+
+ delete canvas;
+}
+
+void tst_QSGListView::propertyChanges()
+{
+ QSGView *canvas = createView();
+ QTRY_VERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychangestest.qml"));
+
+ QSGListView *listView = canvas->rootObject()->findChild<QSGListView*>("listView");
+ QTRY_VERIFY(listView);
+
+ QSignalSpy highlightFollowsCurrentItemSpy(listView, SIGNAL(highlightFollowsCurrentItemChanged()));
+ QSignalSpy preferredHighlightBeginSpy(listView, SIGNAL(preferredHighlightBeginChanged()));
+ QSignalSpy preferredHighlightEndSpy(listView, SIGNAL(preferredHighlightEndChanged()));
+ QSignalSpy highlightRangeModeSpy(listView, SIGNAL(highlightRangeModeChanged()));
+ QSignalSpy keyNavigationWrapsSpy(listView, SIGNAL(keyNavigationWrapsChanged()));
+ QSignalSpy cacheBufferSpy(listView, SIGNAL(cacheBufferChanged()));
+ QSignalSpy snapModeSpy(listView, SIGNAL(snapModeChanged()));
+
+ QTRY_COMPARE(listView->highlightFollowsCurrentItem(), true);
+ QTRY_COMPARE(listView->preferredHighlightBegin(), 0.0);
+ QTRY_COMPARE(listView->preferredHighlightEnd(), 0.0);
+ QTRY_COMPARE(listView->highlightRangeMode(), QSGListView::ApplyRange);
+ QTRY_COMPARE(listView->isWrapEnabled(), true);
+ QTRY_COMPARE(listView->cacheBuffer(), 10);
+ QTRY_COMPARE(listView->snapMode(), QSGListView::SnapToItem);
+
+ listView->setHighlightFollowsCurrentItem(false);
+ listView->setPreferredHighlightBegin(1.0);
+ listView->setPreferredHighlightEnd(1.0);
+ listView->setHighlightRangeMode(QSGListView::StrictlyEnforceRange);
+ listView->setWrapEnabled(false);
+ listView->setCacheBuffer(3);
+ listView->setSnapMode(QSGListView::SnapOneItem);
+
+ QTRY_COMPARE(listView->highlightFollowsCurrentItem(), false);
+ QTRY_COMPARE(listView->preferredHighlightBegin(), 1.0);
+ QTRY_COMPARE(listView->preferredHighlightEnd(), 1.0);
+ QTRY_COMPARE(listView->highlightRangeMode(), QSGListView::StrictlyEnforceRange);
+ QTRY_COMPARE(listView->isWrapEnabled(), false);
+ QTRY_COMPARE(listView->cacheBuffer(), 3);
+ QTRY_COMPARE(listView->snapMode(), QSGListView::SnapOneItem);
+
+ QTRY_COMPARE(highlightFollowsCurrentItemSpy.count(),1);
+ QTRY_COMPARE(preferredHighlightBeginSpy.count(),1);
+ QTRY_COMPARE(preferredHighlightEndSpy.count(),1);
+ QTRY_COMPARE(highlightRangeModeSpy.count(),1);
+ QTRY_COMPARE(keyNavigationWrapsSpy.count(),1);
+ QTRY_COMPARE(cacheBufferSpy.count(),1);
+ QTRY_COMPARE(snapModeSpy.count(),1);
+
+ listView->setHighlightFollowsCurrentItem(false);
+ listView->setPreferredHighlightBegin(1.0);
+ listView->setPreferredHighlightEnd(1.0);
+ listView->setHighlightRangeMode(QSGListView::StrictlyEnforceRange);
+ listView->setWrapEnabled(false);
+ listView->setCacheBuffer(3);
+ listView->setSnapMode(QSGListView::SnapOneItem);
+
+ QTRY_COMPARE(highlightFollowsCurrentItemSpy.count(),1);
+ QTRY_COMPARE(preferredHighlightBeginSpy.count(),1);
+ QTRY_COMPARE(preferredHighlightEndSpy.count(),1);
+ QTRY_COMPARE(highlightRangeModeSpy.count(),1);
+ QTRY_COMPARE(keyNavigationWrapsSpy.count(),1);
+ QTRY_COMPARE(cacheBufferSpy.count(),1);
+ QTRY_COMPARE(snapModeSpy.count(),1);
+
+ delete canvas;
+}
+
+void tst_QSGListView::componentChanges()
+{
+ QSGView *canvas = createView();
+ QTRY_VERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychangestest.qml"));
+
+ QSGListView *listView = canvas->rootObject()->findChild<QSGListView*>("listView");
+ QTRY_VERIFY(listView);
+
+ QDeclarativeComponent component(canvas->engine());
+ component.setData("import QtQuick 2.0; Rectangle { color: \"blue\"; }", QUrl::fromLocalFile(""));
+
+ QDeclarativeComponent delegateComponent(canvas->engine());
+ delegateComponent.setData("import QtQuick 2.0; Text { text: '<b>Name:</b> ' + name }", QUrl::fromLocalFile(""));
+
+ QSignalSpy highlightSpy(listView, SIGNAL(highlightChanged()));
+ QSignalSpy delegateSpy(listView, SIGNAL(delegateChanged()));
+ QSignalSpy headerSpy(listView, SIGNAL(headerChanged()));
+ QSignalSpy footerSpy(listView, SIGNAL(footerChanged()));
+
+ listView->setHighlight(&component);
+ listView->setHeader(&component);
+ listView->setFooter(&component);
+ listView->setDelegate(&delegateComponent);
+
+ QTRY_COMPARE(listView->highlight(), &component);
+ QTRY_COMPARE(listView->header(), &component);
+ QTRY_COMPARE(listView->footer(), &component);
+ QTRY_COMPARE(listView->delegate(), &delegateComponent);
+
+ QTRY_COMPARE(highlightSpy.count(),1);
+ QTRY_COMPARE(delegateSpy.count(),1);
+ QTRY_COMPARE(headerSpy.count(),1);
+ QTRY_COMPARE(footerSpy.count(),1);
+
+ listView->setHighlight(&component);
+ listView->setHeader(&component);
+ listView->setFooter(&component);
+ listView->setDelegate(&delegateComponent);
+
+ QTRY_COMPARE(highlightSpy.count(),1);
+ QTRY_COMPARE(delegateSpy.count(),1);
+ QTRY_COMPARE(headerSpy.count(),1);
+ QTRY_COMPARE(footerSpy.count(),1);
+
+ delete canvas;
+}
+
+void tst_QSGListView::modelChanges()
+{
+ QSGView *canvas = createView();
+ QTRY_VERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychangestest.qml"));
+
+ QSGListView *listView = canvas->rootObject()->findChild<QSGListView*>("listView");
+ QTRY_VERIFY(listView);
+
+ QDeclarativeListModel *alternateModel = canvas->rootObject()->findChild<QDeclarativeListModel*>("alternateModel");
+ QTRY_VERIFY(alternateModel);
+ QVariant modelVariant = QVariant::fromValue(alternateModel);
+ QSignalSpy modelSpy(listView, SIGNAL(modelChanged()));
+
+ listView->setModel(modelVariant);
+ QTRY_COMPARE(listView->model(), modelVariant);
+ QTRY_COMPARE(modelSpy.count(),1);
+
+ listView->setModel(modelVariant);
+ QTRY_COMPARE(modelSpy.count(),1);
+
+ listView->setModel(QVariant());
+ QTRY_COMPARE(modelSpy.count(),2);
+
+// delete canvas;
+}
+
+void tst_QSGListView::QTBUG_9791()
+{
+ QSGView *canvas = createView();
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/strictlyenforcerange.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = qobject_cast<QSGListView*>(canvas->rootObject());
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+ QTRY_VERIFY(listview->delegate() != 0);
+ QTRY_VERIFY(listview->model() != 0);
+
+ QMetaObject::invokeMethod(listview, "fillModel");
+ qApp->processEvents();
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ QCOMPARE(itemCount, 3);
+
+ for (int i = 0; i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), i*300.0);
+ }
+
+ // check that view is positioned correctly
+ QTRY_COMPARE(listview->contentX(), 590.0);
+
+ delete canvas;
+}
+
+void tst_QSGListView::manualHighlight()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ QString filename(SRCDIR "/data/manual-highlight.qml");
+ canvas->setSource(QUrl::fromLocalFile(filename));
+
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QTRY_COMPARE(listview->currentIndex(), 0);
+ QTRY_COMPARE(listview->currentItem(), findItem<QSGItem>(contentItem, "wrapper", 0));
+ QTRY_COMPARE(listview->highlightItem()->y() - 5, listview->currentItem()->y());
+
+ listview->setCurrentIndex(2);
+
+ QTRY_COMPARE(listview->currentIndex(), 2);
+ QTRY_COMPARE(listview->currentItem(), findItem<QSGItem>(contentItem, "wrapper", 2));
+ QTRY_COMPARE(listview->highlightItem()->y() - 5, listview->currentItem()->y());
+
+ // QTBUG-15972
+ listview->positionViewAtIndex(3, QSGListView::Contain);
+
+ QTRY_COMPARE(listview->currentIndex(), 2);
+ QTRY_COMPARE(listview->currentItem(), findItem<QSGItem>(contentItem, "wrapper", 2));
+ QTRY_COMPARE(listview->highlightItem()->y() - 5, listview->currentItem()->y());
+
+ delete canvas;
+}
+
+void tst_QSGListView::QTBUG_11105()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_VERIFY(item->y() == i*20);
+ }
+
+ listview->positionViewAtIndex(20, QSGListView::Beginning);
+ QCOMPARE(listview->contentY(), 280.);
+
+ TestModel model2;
+ for (int i = 0; i < 5; i++)
+ model2.addItem("Item" + QString::number(i), "");
+
+ ctxt->setContextProperty("testModel", &model2);
+
+ itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ QCOMPARE(itemCount, 5);
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QSGListView::header()
+{
+ {
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/header.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QSGText *header = findItem<QSGText>(contentItem, "header");
+ QVERIFY(header);
+ QCOMPARE(header->y(), 0.0);
+ QCOMPARE(header->height(), 20.0);
+
+ QCOMPARE(listview->contentY(), 0.0);
+
+ model.clear();
+ QTRY_COMPARE(header->y(), 0.0);
+
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QMetaObject::invokeMethod(canvas->rootObject(), "changeHeader");
+
+ header = findItem<QSGText>(contentItem, "header");
+ QVERIFY(!header);
+ header = findItem<QSGText>(contentItem, "header2");
+ QVERIFY(header);
+
+ QCOMPARE(header->y(), 10.0);
+ QCOMPARE(header->height(), 10.0);
+ QCOMPARE(listview->contentY(), 10.0);
+
+ delete canvas;
+ }
+ {
+ QSGView *canvas = createView();
+
+ TestModel model;
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/header1.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QSGText *header = findItem<QSGText>(contentItem, "header");
+ QVERIFY(header);
+ QCOMPARE(header->y(), 0.0);
+
+ QCOMPARE(listview->contentY(), 0.0);
+
+ model.clear();
+ QTRY_COMPARE(header->y(), 0.0);
+
+ delete canvas;
+ }
+}
+
+void tst_QSGListView::footer()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 3; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/footer.qml"));
+ canvas->show();
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QSGText *footer = findItem<QSGText>(contentItem, "footer");
+ QVERIFY(footer);
+ QCOMPARE(footer->y(), 60.0);
+ QCOMPARE(footer->height(), 30.0);
+
+ model.removeItem(1);
+ QTRY_COMPARE(footer->y(), 40.0);
+
+ model.clear();
+ QTRY_COMPARE(footer->y(), 0.0);
+
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QMetaObject::invokeMethod(canvas->rootObject(), "changeFooter");
+
+ footer = findItem<QSGText>(contentItem, "footer");
+ QVERIFY(!footer);
+ footer = findItem<QSGText>(contentItem, "footer2");
+ QVERIFY(footer);
+
+ QCOMPARE(footer->y(), 600.0);
+ QCOMPARE(footer->height(), 20.0);
+ QCOMPARE(listview->contentY(), 0.0);
+
+ delete canvas;
+}
+
+class LVAccessor : public QSGListView
+{
+public:
+ qreal minY() const { return minYExtent(); }
+ qreal maxY() const { return maxYExtent(); }
+ qreal minX() const { return minXExtent(); }
+ qreal maxX() const { return maxXExtent(); }
+};
+
+void tst_QSGListView::headerFooter()
+{
+ {
+ // Vertical
+ QSGView *canvas = createView();
+
+ TestModel model;
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/headerfooter.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = qobject_cast<QSGListView*>(canvas->rootObject());
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QSGItem *header = findItem<QSGItem>(contentItem, "header");
+ QVERIFY(header);
+ QCOMPARE(header->y(), 0.0);
+
+ QSGItem *footer = findItem<QSGItem>(contentItem, "footer");
+ QVERIFY(footer);
+ QCOMPARE(footer->y(), 20.0);
+
+ QVERIFY(static_cast<LVAccessor*>(listview)->minY() == 0);
+ QVERIFY(static_cast<LVAccessor*>(listview)->maxY() == 0);
+
+ delete canvas;
+ }
+ {
+ // Horizontal
+ QSGView *canvas = createView();
+
+ TestModel model;
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/headerfooter.qml"));
+ canvas->rootObject()->setProperty("horizontal", true);
+ qApp->processEvents();
+
+ QSGListView *listview = qobject_cast<QSGListView*>(canvas->rootObject());
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QSGItem *header = findItem<QSGItem>(contentItem, "header");
+ QVERIFY(header);
+ QCOMPARE(header->x(), 0.0);
+
+ QSGItem *footer = findItem<QSGItem>(contentItem, "footer");
+ QVERIFY(footer);
+ QCOMPARE(footer->x(), 20.0);
+
+ QVERIFY(static_cast<LVAccessor*>(listview)->minX() == 0);
+ QVERIFY(static_cast<LVAccessor*>(listview)->maxX() == 0);
+
+ delete canvas;
+ }
+ {
+ // Horizontal RTL
+ QSGView *canvas = createView();
+
+ TestModel model;
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/headerfooter.qml"));
+ canvas->rootObject()->setProperty("horizontal", true);
+ canvas->rootObject()->setProperty("rtl", true);
+ qApp->processEvents();
+
+ QSGListView *listview = qobject_cast<QSGListView*>(canvas->rootObject());
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QSGItem *header = findItem<QSGItem>(contentItem, "header");
+ QVERIFY(header);
+ QCOMPARE(header->x(), -20.0);
+
+ QSGItem *footer = findItem<QSGItem>(contentItem, "footer");
+ QVERIFY(footer);
+ QCOMPARE(footer->x(), -50.0);
+
+ QCOMPARE(static_cast<LVAccessor*>(listview)->minX(), 240.);
+ QCOMPARE(static_cast<LVAccessor*>(listview)->maxX(), 240.);
+
+ delete canvas;
+ }
+}
+
+void tst_QSGListView::resizeView()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 40; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*20.);
+ }
+
+ QVariant heightRatio;
+ QMetaObject::invokeMethod(canvas->rootObject(), "heightRatio", Q_RETURN_ARG(QVariant, heightRatio));
+ QCOMPARE(heightRatio.toReal(), 0.4);
+
+ listview->setHeight(200);
+
+ QMetaObject::invokeMethod(canvas->rootObject(), "heightRatio", Q_RETURN_ARG(QVariant, heightRatio));
+ QCOMPARE(heightRatio.toReal(), 0.25);
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QSGListView::sizeLessThan1()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/sizelessthan1.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ // Confirm items positioned correctly
+ int itemCount = findItems<QSGItem>(contentItem, "wrapper").count();
+ for (int i = 0; i < model.count() && i < itemCount; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ if (!item) qWarning() << "Item" << i << "not found";
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->y(), i*0.5);
+ }
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QSGListView::QTBUG_14821()
+{
+ QSGView *canvas = createView();
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/qtbug14821.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = qobject_cast<QSGListView*>(canvas->rootObject());
+ QVERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ listview->decrementCurrentIndex();
+ QCOMPARE(listview->currentIndex(), 99);
+
+ listview->incrementCurrentIndex();
+ QCOMPARE(listview->currentIndex(), 0);
+
+ delete canvas;
+}
+
+void tst_QSGListView::resizeDelegate()
+{
+ QSGView *canvas = createView();
+ canvas->show();
+
+ QStringList strings;
+ for (int i = 0; i < 30; ++i)
+ strings << QString::number(i);
+ QStringListModel model(strings);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/displaylist.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QTRY_COMPARE(listview->count(), model.rowCount());
+
+ listview->setCurrentIndex(25);
+ listview->setContentY(0);
+
+ for (int i = 0; i < 16; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ QVERIFY(item != 0);
+ QCOMPARE(item->y(), i*20.0);
+ }
+
+ QCOMPARE(listview->currentItem()->y(), 500.0);
+ QTRY_COMPARE(listview->highlightItem()->y(), 500.0);
+
+ canvas->rootObject()->setProperty("delegateHeight", 30);
+ qApp->processEvents();
+
+ for (int i = 0; i < 11; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ QVERIFY(item != 0);
+ QTRY_COMPARE(item->y(), i*30.0);
+ }
+
+ QTRY_COMPARE(listview->currentItem()->y(), 750.0);
+ QTRY_COMPARE(listview->highlightItem()->y(), 750.0);
+
+ listview->setCurrentIndex(1);
+ listview->positionViewAtIndex(25, QSGListView::Beginning);
+ listview->positionViewAtIndex(5, QSGListView::Beginning);
+
+ for (int i = 5; i < 16; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ QVERIFY(item != 0);
+ QCOMPARE(item->y(), i*30.0);
+ }
+
+ QTRY_COMPARE(listview->currentItem()->y(), 30.0);
+ QTRY_COMPARE(listview->highlightItem()->y(), 30.0);
+
+ canvas->rootObject()->setProperty("delegateHeight", 20);
+ qApp->processEvents();
+
+ for (int i = 5; i < 11; ++i) {
+ QSGItem *item = findItem<QSGItem>(contentItem, "wrapper", i);
+ QVERIFY(item != 0);
+ QTRY_COMPARE(item->y(), 150 + (i-5)*20.0);
+ }
+
+ QTRY_COMPARE(listview->currentItem()->y(), 70.0);
+ QTRY_COMPARE(listview->highlightItem()->y(), 70.0);
+
+ delete canvas;
+}
+
+void tst_QSGListView::QTBUG_16037()
+{
+ QSGView *canvas = createView();
+ canvas->show();
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/qtbug16037.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "listview");
+ QTRY_VERIFY(listview != 0);
+
+ QVERIFY(listview->contentHeight() <= 0.0);
+
+ QMetaObject::invokeMethod(canvas->rootObject(), "setModel");
+
+ QTRY_COMPARE(listview->contentHeight(), 80.0);
+
+ delete canvas;
+}
+
+void tst_QSGListView::indexAt()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ for (int i = 0; i < 30; i++)
+ model.addItem("Item" + QString::number(i), "");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/listviewtest.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QCOMPARE(listview->indexAt(0,0), 0);
+ QCOMPARE(listview->indexAt(0,19), 0);
+ QCOMPARE(listview->indexAt(239,19), 0);
+ QCOMPARE(listview->indexAt(0,20), 1);
+ QCOMPARE(listview->indexAt(240,20), -1);
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QSGListView::incrementalModel()
+{
+ QSGView *canvas = createView();
+
+ IncrementalModel model;
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/displaylist.qml"));
+ qApp->processEvents();
+
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "list");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QTRY_COMPARE(listview->count(), 20);
+
+ listview->positionViewAtIndex(10, QSGListView::Beginning);
+
+ QTRY_COMPARE(listview->count(), 25);
+
+ delete canvas;
+}
+
+void tst_QSGListView::onAdd()
+{
+ QFETCH(int, initialItemCount);
+ QFETCH(int, itemsToAdd);
+
+ const int delegateHeight = 10;
+ TestModel2 model;
+
+ // these initial items should not trigger ListView.onAdd
+ for (int i=0; i<initialItemCount; i++)
+ model.addItem("dummy value", "dummy value");
+
+ QSGView *canvas = createView();
+ canvas->setFixedSize(200, delegateHeight * (initialItemCount + itemsToAdd));
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("delegateHeight", delegateHeight);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/attachedSignals.qml"));
+
+ QObject *object = canvas->rootObject();
+ object->setProperty("width", canvas->width());
+ object->setProperty("height", canvas->height());
+ qApp->processEvents();
+
+ QList<QPair<QString, QString> > items;
+ for (int i=0; i<itemsToAdd; i++)
+ items << qMakePair(QString("value %1").arg(i), QString::number(i));
+ model.addItems(items);
+
+ qApp->processEvents();
+
+ QVariantList result = object->property("addedDelegates").toList();
+ QCOMPARE(result.count(), items.count());
+ for (int i=0; i<items.count(); i++)
+ QCOMPARE(result[i].toString(), items[i].first);
+
+ delete canvas;
+}
+
+void tst_QSGListView::onAdd_data()
+{
+ QTest::addColumn<int>("initialItemCount");
+ QTest::addColumn<int>("itemsToAdd");
+
+ QTest::newRow("0, add 1") << 0 << 1;
+ QTest::newRow("0, add 2") << 0 << 2;
+ QTest::newRow("0, add 10") << 0 << 10;
+
+ QTest::newRow("1, add 1") << 1 << 1;
+ QTest::newRow("1, add 2") << 1 << 2;
+ QTest::newRow("1, add 10") << 1 << 10;
+
+ QTest::newRow("5, add 1") << 5 << 1;
+ QTest::newRow("5, add 2") << 5 << 2;
+ QTest::newRow("5, add 10") << 5 << 10;
+}
+
+void tst_QSGListView::onRemove()
+{
+ QFETCH(int, initialItemCount);
+ QFETCH(int, indexToRemove);
+ QFETCH(int, removeCount);
+
+ const int delegateHeight = 10;
+ TestModel2 model;
+ for (int i=0; i<initialItemCount; i++)
+ model.addItem(QString("value %1").arg(i), "dummy value");
+
+ QSGView *canvas = createView();
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+ ctxt->setContextProperty("delegateHeight", delegateHeight);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/attachedSignals.qml"));
+ QObject *object = canvas->rootObject();
+
+ qApp->processEvents();
+
+ model.removeItems(indexToRemove, removeCount);
+ qApp->processEvents();
+ QCOMPARE(object->property("removedDelegateCount"), QVariant(removeCount));
+
+ delete canvas;
+}
+
+void tst_QSGListView::onRemove_data()
+{
+ QTest::addColumn<int>("initialItemCount");
+ QTest::addColumn<int>("indexToRemove");
+ QTest::addColumn<int>("removeCount");
+
+ QTest::newRow("remove first") << 1 << 0 << 1;
+ QTest::newRow("two items, remove first") << 2 << 0 << 1;
+ QTest::newRow("two items, remove last") << 2 << 1 << 1;
+ QTest::newRow("two items, remove all") << 2 << 0 << 2;
+
+ QTest::newRow("four items, remove first") << 4 << 0 << 1;
+ QTest::newRow("four items, remove 0-2") << 4 << 0 << 2;
+ QTest::newRow("four items, remove 1-3") << 4 << 1 << 2;
+ QTest::newRow("four items, remove 2-4") << 4 << 2 << 2;
+ QTest::newRow("four items, remove last") << 4 << 3 << 1;
+ QTest::newRow("four items, remove all") << 4 << 0 << 4;
+
+ QTest::newRow("ten items, remove 1-8") << 10 << 0 << 8;
+ QTest::newRow("ten items, remove 2-7") << 10 << 2 << 5;
+ QTest::newRow("ten items, remove 4-10") << 10 << 4 << 6;
+}
+
+void tst_QSGListView::rightToLeft()
+{
+ QSGView *canvas = createView();
+ canvas->setFixedSize(640,320);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/rightToLeft.qml"));
+ qApp->processEvents();
+
+ QVERIFY(canvas->rootObject() != 0);
+ QSGListView *listview = findItem<QSGListView>(canvas->rootObject(), "view");
+ QTRY_VERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QTRY_VERIFY(contentItem != 0);
+
+ QSGVisualItemModel *model = canvas->rootObject()->findChild<QSGVisualItemModel*>("itemModel");
+ QTRY_VERIFY(model != 0);
+
+ QTRY_VERIFY(model->count() == 3);
+ QTRY_COMPARE(listview->currentIndex(), 0);
+
+ // initial position at first item, right edge aligned
+ QCOMPARE(listview->contentX(), -640.);
+
+ QSGItem *item = findItem<QSGItem>(contentItem, "item1");
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), -100.0);
+ QCOMPARE(item->height(), listview->height());
+
+ QSGText *text = findItem<QSGText>(contentItem, "text1");
+ QTRY_VERIFY(text);
+ QTRY_COMPARE(text->text(), QLatin1String("index: 0"));
+
+ listview->setCurrentIndex(2);
+
+ item = findItem<QSGItem>(contentItem, "item3");
+ QTRY_VERIFY(item);
+ QTRY_COMPARE(item->x(), -540.0);
+
+ text = findItem<QSGText>(contentItem, "text3");
+ QTRY_VERIFY(text);
+ QTRY_COMPARE(text->text(), QLatin1String("index: 2"));
+
+ QCOMPARE(listview->contentX(), -640.);
+
+ // Ensure resizing maintains position relative to right edge
+ qobject_cast<QSGItem*>(canvas->rootObject())->setWidth(600);
+ QTRY_COMPARE(listview->contentX(), -600.);
+
+ delete canvas;
+}
+
+void tst_QSGListView::test_mirroring()
+{
+ QSGView *canvasA = createView();
+ canvasA->setSource(QUrl::fromLocalFile(SRCDIR "/data/rightToLeft.qml"));
+ QSGListView *listviewA = findItem<QSGListView>(canvasA->rootObject(), "view");
+ QTRY_VERIFY(listviewA != 0);
+
+ QSGView *canvasB = createView();
+ canvasB->setSource(QUrl::fromLocalFile(SRCDIR "/data/rightToLeft.qml"));
+ QSGListView *listviewB = findItem<QSGListView>(canvasB->rootObject(), "view");
+ QTRY_VERIFY(listviewA != 0);
+ qApp->processEvents();
+
+ QList<QString> objectNames;
+ objectNames << "item1" << "item2"; // << "item3"
+
+ listviewA->setProperty("layoutDirection", Qt::LeftToRight);
+ listviewB->setProperty("layoutDirection", Qt::RightToLeft);
+ QCOMPARE(listviewA->layoutDirection(), listviewA->effectiveLayoutDirection());
+
+ // LTR != RTL
+ foreach(const QString objectName, objectNames)
+ QVERIFY(findItem<QSGItem>(listviewA, objectName)->x() != findItem<QSGItem>(listviewB, objectName)->x());
+
+ listviewA->setProperty("layoutDirection", Qt::LeftToRight);
+ listviewB->setProperty("layoutDirection", Qt::LeftToRight);
+
+ // LTR == LTR
+ foreach(const QString objectName, objectNames)
+ QCOMPARE(findItem<QSGItem>(listviewA, objectName)->x(), findItem<QSGItem>(listviewB, objectName)->x());
+
+ QVERIFY(listviewB->layoutDirection() == listviewB->effectiveLayoutDirection());
+ QSGItemPrivate::get(listviewB)->setLayoutMirror(true);
+ QVERIFY(listviewB->layoutDirection() != listviewB->effectiveLayoutDirection());
+
+ // LTR != LTR+mirror
+ foreach(const QString objectName, objectNames)
+ QVERIFY(findItem<QSGItem>(listviewA, objectName)->x() != findItem<QSGItem>(listviewB, objectName)->x());
+
+ listviewA->setProperty("layoutDirection", Qt::RightToLeft);
+
+ // RTL == LTR+mirror
+ foreach(const QString objectName, objectNames)
+ QCOMPARE(findItem<QSGItem>(listviewA, objectName)->x(), findItem<QSGItem>(listviewB, objectName)->x());
+
+ listviewB->setProperty("layoutDirection", Qt::RightToLeft);
+
+ // RTL != RTL+mirror
+ foreach(const QString objectName, objectNames)
+ QVERIFY(findItem<QSGItem>(listviewA, objectName)->x() != findItem<QSGItem>(listviewB, objectName)->x());
+
+ listviewA->setProperty("layoutDirection", Qt::LeftToRight);
+
+ // LTR == RTL+mirror
+ foreach(const QString objectName, objectNames)
+ QCOMPARE(findItem<QSGItem>(listviewA, objectName)->x(), findItem<QSGItem>(listviewB, objectName)->x());
+
+ delete canvasA;
+ delete canvasB;
+}
+
+void tst_QSGListView::qListModelInterface_items()
+{
+ items<TestModel>();
+}
+
+void tst_QSGListView::qAbstractItemModel_items()
+{
+ items<TestModel2>();
+}
+
+void tst_QSGListView::qListModelInterface_changed()
+{
+ changed<TestModel>();
+}
+
+void tst_QSGListView::qAbstractItemModel_changed()
+{
+ changed<TestModel2>();
+}
+
+void tst_QSGListView::qListModelInterface_inserted()
+{
+ inserted<TestModel>();
+}
+
+void tst_QSGListView::qAbstractItemModel_inserted()
+{
+ inserted<TestModel2>();
+}
+
+void tst_QSGListView::qListModelInterface_removed()
+{
+ removed<TestModel>(false);
+ removed<TestModel>(true);
+}
+
+void tst_QSGListView::qAbstractItemModel_removed()
+{
+ removed<TestModel2>(false);
+ removed<TestModel2>(true);
+}
+
+void tst_QSGListView::qListModelInterface_moved()
+{
+ moved<TestModel>();
+}
+
+void tst_QSGListView::qAbstractItemModel_moved()
+{
+ moved<TestModel2>();
+}
+
+void tst_QSGListView::qListModelInterface_clear()
+{
+ clear<TestModel>();
+}
+
+void tst_QSGListView::qAbstractItemModel_clear()
+{
+ clear<TestModel2>();
+}
+
+QSGView *tst_QSGListView::createView()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ return canvas;
+}
+
+/*
+ Find an item with the specified objectName. If index is supplied then the
+ item must also evaluate the {index} expression equal to index
+*/
+template<typename T>
+T *tst_QSGListView::findItem(QSGItem *parent, const QString &objectName, int index)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->childItems().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ if (index != -1) {
+ QDeclarativeExpression e(qmlContext(item), item, "index");
+ if (e.evaluate().toInt() == index)
+ return static_cast<T*>(item);
+ } else {
+ return static_cast<T*>(item);
+ }
+ }
+ item = findItem<T>(item, objectName, index);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
+
+template<typename T>
+QList<T*> tst_QSGListView::findItems(QSGItem *parent, const QString &objectName)
+{
+ QList<T*> items;
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->childItems().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item || !item->isVisible())
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName))
+ items.append(static_cast<T*>(item));
+ items += findItems<T>(item, objectName);
+ }
+
+ return items;
+}
+
+void tst_QSGListView::dumpTree(QSGItem *parent, int depth)
+{
+ static QString padding(" ");
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ qDebug() << padding.left(depth*2) << item;
+ dumpTree(item, depth+1);
+ }
+}
+
+
+QTEST_MAIN(tst_QSGListView)
+
+#include "tst_qsglistview.moc"
diff --git a/tests/auto/declarative/qsgloader/data/AnchoredLoader.qml b/tests/auto/declarative/qsgloader/data/AnchoredLoader.qml
new file mode 100644
index 0000000000..1a2a620d7f
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/AnchoredLoader.qml
@@ -0,0 +1,14 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 300
+ height: 200
+ color: "blue"
+ Loader {
+ objectName: "loader"
+ anchors.fill: parent
+ sourceComponent: Component {
+ Rectangle { color: "red"; objectName: "sourceElement" }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgloader/data/BlueRect.qml b/tests/auto/declarative/qsgloader/data/BlueRect.qml
new file mode 100644
index 0000000000..e96ac00f21
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/BlueRect.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+Rectangle {
+ objectName: "blue"
+ width: 100
+ height: 100
+ color: "blue"
+}
diff --git a/tests/auto/declarative/qsgloader/data/CreationContextLoader.qml b/tests/auto/declarative/qsgloader/data/CreationContextLoader.qml
new file mode 100644
index 0000000000..4dd73e797c
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/CreationContextLoader.qml
@@ -0,0 +1,15 @@
+import QtQuick 2.0
+
+Loader {
+ id: myLoader
+ property int testProperty: 1912
+ sourceComponent: loaderComponent
+ Component {
+ id: loaderComponent
+ Item {
+ Component.onCompleted: {
+ test = (myLoader.testProperty == 1912);
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgloader/data/GraphicsWidget250x250.qml b/tests/auto/declarative/qsgloader/data/GraphicsWidget250x250.qml
new file mode 100644
index 0000000000..dae8e3fbbb
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/GraphicsWidget250x250.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+QGraphicsWidget {
+ size: "250x250"
+}
diff --git a/tests/auto/declarative/qsgloader/data/GreenRect.qml b/tests/auto/declarative/qsgloader/data/GreenRect.qml
new file mode 100644
index 0000000000..99cefaf176
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/GreenRect.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 100; height: 100
+ color: "green"
+ Component.onCompleted: myLoader.source = "BlueRect.qml"
+}
diff --git a/tests/auto/declarative/qsgloader/data/NoResize.qml b/tests/auto/declarative/qsgloader/data/NoResize.qml
new file mode 100644
index 0000000000..9b3ea6410b
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/NoResize.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+Item {
+ width: 200; height: 80
+ Loader {
+ source: "Rect120x60.qml"
+ }
+}
diff --git a/tests/auto/declarative/qsgloader/data/NoResizeGraphicsWidget.qml b/tests/auto/declarative/qsgloader/data/NoResizeGraphicsWidget.qml
new file mode 100644
index 0000000000..c0f51d8c35
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/NoResizeGraphicsWidget.qml
@@ -0,0 +1,9 @@
+import QtQuick 2.0
+
+Item {
+ width: 200
+ height: 80
+ Loader {
+ source: "GraphicsWidget250x250.qml"
+ }
+}
diff --git a/tests/auto/declarative/qsgloader/data/QTBUG_16928.qml b/tests/auto/declarative/qsgloader/data/QTBUG_16928.qml
new file mode 100644
index 0000000000..903d7f0812
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/QTBUG_16928.qml
@@ -0,0 +1,23 @@
+import QtQuick 2.0
+
+Rectangle {
+ color: "green"
+ width: loader.implicitWidth+50
+ height: loader.implicitHeight+50
+
+ Loader {
+ id: loader
+ sourceComponent: Item {
+ anchors.centerIn: parent
+
+ implicitWidth: 200
+ implicitHeight: 200
+ Rectangle {
+ color: "red"
+ anchors.fill: parent
+ }
+ }
+ anchors.fill: parent
+ anchors.margins: 15
+ }
+}
diff --git a/tests/auto/declarative/qsgloader/data/QTBUG_17114.qml b/tests/auto/declarative/qsgloader/data/QTBUG_17114.qml
new file mode 100644
index 0000000000..7402037553
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/QTBUG_17114.qml
@@ -0,0 +1,18 @@
+import QtQuick 2.0
+
+Rectangle {
+ property real loaderWidth: loader.width
+ property real loaderHeight: loader.height
+ width: 200
+ height: 200
+
+ Loader {
+ id: loader
+ sourceComponent: Item {
+ property real iwidth: 32
+ property real iheight: 32
+ width: iwidth
+ height: iheight
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgloader/data/Rect120x60.qml b/tests/auto/declarative/qsgloader/data/Rect120x60.qml
new file mode 100644
index 0000000000..fc9e447e69
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/Rect120x60.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 120
+ height:60
+}
diff --git a/tests/auto/declarative/qsgloader/data/SetSourceComponent.qml b/tests/auto/declarative/qsgloader/data/SetSourceComponent.qml
new file mode 100644
index 0000000000..83cc358f7d
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/SetSourceComponent.qml
@@ -0,0 +1,9 @@
+import QtQuick 2.0
+
+Item {
+ function clear() {
+ loader.sourceComponent = undefined
+ }
+ Component { id: comp; Rectangle { width: 100; height: 50 } }
+ Loader { id: loader; sourceComponent: comp }
+}
diff --git a/tests/auto/declarative/qsgloader/data/SizeGraphicsWidgetToLoader.qml b/tests/auto/declarative/qsgloader/data/SizeGraphicsWidgetToLoader.qml
new file mode 100644
index 0000000000..2a63b4d34f
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/SizeGraphicsWidgetToLoader.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+Loader {
+ width: 200
+ height: 80
+ source: "GraphicsWidget250x250.qml"
+}
diff --git a/tests/auto/declarative/qsgloader/data/SizeLoaderToGraphicsWidget.qml b/tests/auto/declarative/qsgloader/data/SizeLoaderToGraphicsWidget.qml
new file mode 100644
index 0000000000..a9875d8e21
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/SizeLoaderToGraphicsWidget.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Loader {
+ source: "GraphicsWidget250x250.qml"
+}
diff --git a/tests/auto/declarative/qsgloader/data/SizeToItem.qml b/tests/auto/declarative/qsgloader/data/SizeToItem.qml
new file mode 100644
index 0000000000..866365754f
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/SizeToItem.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Loader {
+ source: "Rect120x60.qml"
+}
diff --git a/tests/auto/declarative/qsgloader/data/SizeToLoader.qml b/tests/auto/declarative/qsgloader/data/SizeToLoader.qml
new file mode 100644
index 0000000000..dad18c6939
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/SizeToLoader.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+Loader {
+ width: 200; height: 80
+ source: "Rect120x60.qml"
+}
diff --git a/tests/auto/declarative/qsgloader/data/VmeError.qml b/tests/auto/declarative/qsgloader/data/VmeError.qml
new file mode 100644
index 0000000000..0443aa9054
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/VmeError.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 100; height: 100; color: "red"
+ signal somethingHappened
+ onSomethingHappened: QtObject {}
+}
diff --git a/tests/auto/declarative/qsgloader/data/crash.qml b/tests/auto/declarative/qsgloader/data/crash.qml
new file mode 100644
index 0000000000..e6ddc33a10
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/crash.qml
@@ -0,0 +1,14 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 400
+ height: 400
+
+ function setLoaderSource() {
+ myLoader.source = "GreenRect.qml"
+ }
+
+ Loader {
+ id: myLoader
+ }
+}
diff --git a/tests/auto/declarative/qsgloader/data/creationContext.qml b/tests/auto/declarative/qsgloader/data/creationContext.qml
new file mode 100644
index 0000000000..17a596cc74
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/creationContext.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+Item {
+ property bool test: false
+
+ CreationContextLoader {
+ }
+}
diff --git a/tests/auto/declarative/qsgloader/data/differentorigin.qml b/tests/auto/declarative/qsgloader/data/differentorigin.qml
new file mode 100644
index 0000000000..56a3034fe0
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/differentorigin.qml
@@ -0,0 +1,3 @@
+import QtQuick 2.0
+
+Loader { source: "http://evil.place/evil.qml" }
diff --git a/tests/auto/declarative/qsgloader/data/implicitSize.qml b/tests/auto/declarative/qsgloader/data/implicitSize.qml
new file mode 100644
index 0000000000..5c8c8348ed
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/implicitSize.qml
@@ -0,0 +1,28 @@
+import QtQuick 2.0
+
+Rectangle {
+ property real implWidth: 0
+ property real implHeight: 0
+ color: "green"
+ width: loader.implicitWidth+50
+ height: loader.implicitHeight+50
+
+ Loader {
+ id: loader
+ sourceComponent: Item {
+ anchors.centerIn: parent
+
+ implicitWidth: 100
+ implicitHeight: 100
+ Rectangle {
+ color: "red"
+ anchors.fill: parent
+ }
+ }
+
+ anchors.fill: parent
+ anchors.margins: 50
+ onImplicitWidthChanged: implWidth = implicitWidth
+ onImplicitHeightChanged: implHeight = loader.implicitHeight
+ }
+}
diff --git a/tests/auto/declarative/qsgloader/data/nonItem.qml b/tests/auto/declarative/qsgloader/data/nonItem.qml
new file mode 100644
index 0000000000..8cfa0d8efb
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/nonItem.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Loader {
+ sourceComponent: QtObject {}
+}
diff --git a/tests/auto/declarative/qsgloader/data/qmldir b/tests/auto/declarative/qsgloader/data/qmldir
new file mode 100644
index 0000000000..bf42b507c0
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/qmldir
@@ -0,0 +1 @@
+# For tst_QDeclarativeLoader::networkRequestUrl; no types needed though.
diff --git a/tests/auto/declarative/qsgloader/data/sameorigin-load.qml b/tests/auto/declarative/qsgloader/data/sameorigin-load.qml
new file mode 100644
index 0000000000..3332500be6
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/sameorigin-load.qml
@@ -0,0 +1,3 @@
+import QtQuick 2.0
+
+Item { }
diff --git a/tests/auto/declarative/qsgloader/data/sameorigin.qml b/tests/auto/declarative/qsgloader/data/sameorigin.qml
new file mode 100644
index 0000000000..84846b6aba
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/sameorigin.qml
@@ -0,0 +1,3 @@
+import QtQuick 2.0
+
+Loader { source: "sameorigin-load.qml" }
diff --git a/tests/auto/declarative/qsgloader/data/vmeErrors.qml b/tests/auto/declarative/qsgloader/data/vmeErrors.qml
new file mode 100644
index 0000000000..8e6c89dc8e
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/data/vmeErrors.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+Loader {
+ source: "VmeError.qml"
+}
+
diff --git a/tests/auto/declarative/qsgloader/qsgloader.pro b/tests/auto/declarative/qsgloader/qsgloader.pro
new file mode 100644
index 0000000000..22752dff9a
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/qsgloader.pro
@@ -0,0 +1,20 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui network
+macx:CONFIG -= app_bundle
+
+INCLUDEPATH += ../shared/
+HEADERS += ../shared/testhttpserver.h
+SOURCES += tst_qsgloader.cpp \
+ ../shared/testhttpserver.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qsgloader/tst_qsgloader.cpp b/tests/auto/declarative/qsgloader/tst_qsgloader.cpp
new file mode 100644
index 0000000000..5f4adcbd95
--- /dev/null
+++ b/tests/auto/declarative/qsgloader/tst_qsgloader.cpp
@@ -0,0 +1,559 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+
+#include <QSignalSpy>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <private/qsgloader_p.h>
+#include "testhttpserver.h"
+#include "../../../shared/util.h"
+
+#define SERVER_PORT 14450
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+inline QUrl TEST_FILE(const QString &filename)
+{
+ return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename);
+}
+
+class tst_QSGLoader : public QObject
+
+{
+ Q_OBJECT
+public:
+ tst_QSGLoader();
+
+private slots:
+ void sourceOrComponent();
+ void sourceOrComponent_data();
+ void clear();
+ void urlToComponent();
+ void componentToUrl();
+ void anchoredLoader();
+ void sizeLoaderToItem();
+ void sizeItemToLoader();
+ void noResize();
+ void networkRequestUrl();
+ void failNetworkRequest();
+// void networkComponent();
+
+ void deleteComponentCrash();
+ void nonItem();
+ void vmeErrors();
+ void creationContext();
+ void QTBUG_16928();
+ void implicitSize();
+ void QTBUG_17114();
+
+private:
+ QDeclarativeEngine engine;
+};
+
+
+tst_QSGLoader::tst_QSGLoader()
+{
+}
+
+void tst_QSGLoader::sourceOrComponent()
+{
+ QFETCH(QString, sourceDefinition);
+ QFETCH(QUrl, sourceUrl);
+ QFETCH(QString, errorString);
+
+ bool error = !errorString.isEmpty();
+ if (error)
+ QTest::ignoreMessage(QtWarningMsg, errorString.toUtf8().constData());
+
+ QDeclarativeComponent component(&engine);
+ component.setData(QByteArray(
+ "import QtQuick 2.0\n"
+ "Loader {\n"
+ " property int onItemChangedCount: 0\n"
+ " property int onSourceChangedCount: 0\n"
+ " property int onStatusChangedCount: 0\n"
+ " property int onProgressChangedCount: 0\n"
+ " property int onLoadedCount: 0\n")
+ + sourceDefinition.toUtf8()
+ + QByteArray(
+ " onItemChanged: onItemChangedCount += 1\n"
+ " onSourceChanged: onSourceChangedCount += 1\n"
+ " onStatusChanged: onStatusChangedCount += 1\n"
+ " onProgressChanged: onProgressChangedCount += 1\n"
+ " onLoaded: onLoadedCount += 1\n"
+ "}")
+ , TEST_FILE(""));
+
+ QSGLoader *loader = qobject_cast<QSGLoader*>(component.create());
+ QVERIFY(loader != 0);
+ QCOMPARE(loader->item() == 0, error);
+ QCOMPARE(loader->source(), sourceUrl);
+ QCOMPARE(loader->progress(), 1.0);
+
+ QCOMPARE(loader->status(), error ? QSGLoader::Error : QSGLoader::Ready);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), error ? 0: 1);
+
+ if (!error) {
+ QDeclarativeComponent *c = qobject_cast<QDeclarativeComponent*>(loader->children().at(0));
+ QVERIFY(c);
+ QCOMPARE(loader->sourceComponent(), c);
+ }
+
+ QCOMPARE(loader->property("onSourceChangedCount").toInt(), 1);
+ QCOMPARE(loader->property("onStatusChangedCount").toInt(), 1);
+ QCOMPARE(loader->property("onProgressChangedCount").toInt(), 1);
+
+ QCOMPARE(loader->property("onItemChangedCount").toInt(), error ? 0 : 1);
+ QCOMPARE(loader->property("onLoadedCount").toInt(), error ? 0 : 1);
+
+ delete loader;
+}
+
+void tst_QSGLoader::sourceOrComponent_data()
+{
+ QTest::addColumn<QString>("sourceDefinition");
+ QTest::addColumn<QUrl>("sourceUrl");
+ QTest::addColumn<QString>("errorString");
+
+ QTest::newRow("source") << "source: 'Rect120x60.qml'\n" << QUrl::fromLocalFile(SRCDIR "/data/Rect120x60.qml") << "";
+ QTest::newRow("sourceComponent") << "Component { id: comp; Rectangle { width: 100; height: 50 } }\n sourceComponent: comp\n" << QUrl() << "";
+
+ QTest::newRow("invalid source") << "source: 'IDontExist.qml'\n" << QUrl::fromLocalFile(SRCDIR "/data/IDontExist.qml")
+ << QString(QUrl::fromLocalFile(SRCDIR "/data/IDontExist.qml").toString() + ": File not found");
+}
+
+void tst_QSGLoader::clear()
+{
+ {
+ QDeclarativeComponent component(&engine);
+ component.setData(QByteArray(
+ "import QtQuick 2.0\n"
+ " Loader { id: loader\n"
+ " source: 'Rect120x60.qml'\n"
+ " Timer { interval: 200; running: true; onTriggered: loader.source = '' }\n"
+ " }")
+ , TEST_FILE(""));
+ QSGLoader *loader = qobject_cast<QSGLoader*>(component.create());
+ QVERIFY(loader != 0);
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 1);
+
+ QTRY_VERIFY(loader->item() == 0);
+ QCOMPARE(loader->progress(), 0.0);
+ QCOMPARE(loader->status(), QSGLoader::Null);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 0);
+
+ delete loader;
+ }
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("/SetSourceComponent.qml"));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+
+ QSGLoader *loader = qobject_cast<QSGLoader*>(item->QSGItem::childItems().at(0));
+ QVERIFY(loader);
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 1);
+
+ loader->setSourceComponent(0);
+
+ QVERIFY(loader->item() == 0);
+ QCOMPARE(loader->progress(), 0.0);
+ QCOMPARE(loader->status(), QSGLoader::Null);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 0);
+
+ delete item;
+ }
+ {
+ QDeclarativeComponent component(&engine, TEST_FILE("/SetSourceComponent.qml"));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+
+ QSGLoader *loader = qobject_cast<QSGLoader*>(item->QSGItem::childItems().at(0));
+ QVERIFY(loader);
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 1);
+
+ QMetaObject::invokeMethod(item, "clear");
+
+ QVERIFY(loader->item() == 0);
+ QCOMPARE(loader->progress(), 0.0);
+ QCOMPARE(loader->status(), QSGLoader::Null);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 0);
+
+ delete item;
+ }
+}
+
+void tst_QSGLoader::urlToComponent()
+{
+ QDeclarativeComponent component(&engine);
+ component.setData(QByteArray("import QtQuick 2.0\n"
+ "Loader {\n"
+ " id: loader\n"
+ " Component { id: myComp; Rectangle { width: 10; height: 10 } }\n"
+ " source: \"Rect120x60.qml\"\n"
+ " Timer { interval: 100; running: true; onTriggered: loader.sourceComponent = myComp }\n"
+ "}" )
+ , TEST_FILE(""));
+ QSGLoader *loader = qobject_cast<QSGLoader*>(component.create());
+ QTest::qWait(200);
+ QTRY_VERIFY(loader != 0);
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 1);
+ QCOMPARE(loader->width(), 10.0);
+ QCOMPARE(loader->height(), 10.0);
+
+ delete loader;
+}
+
+void tst_QSGLoader::componentToUrl()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("/SetSourceComponent.qml"));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+
+ QSGLoader *loader = qobject_cast<QSGLoader*>(item->QSGItem::childItems().at(0));
+ QVERIFY(loader);
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 1);
+
+ loader->setSource(TEST_FILE("/Rect120x60.qml"));
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 1);
+ QCOMPARE(loader->width(), 120.0);
+ QCOMPARE(loader->height(), 60.0);
+
+ delete item;
+}
+
+void tst_QSGLoader::anchoredLoader()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("/AnchoredLoader.qml"));
+ QSGItem *rootItem = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(rootItem != 0);
+ QSGItem *loader = rootItem->findChild<QSGItem*>("loader");
+ QSGItem *sourceElement = rootItem->findChild<QSGItem*>("sourceElement");
+
+ QVERIFY(loader != 0);
+ QVERIFY(sourceElement != 0);
+
+ QCOMPARE(rootItem->width(), 300.0);
+ QCOMPARE(rootItem->height(), 200.0);
+
+ QCOMPARE(loader->width(), 300.0);
+ QCOMPARE(loader->height(), 200.0);
+
+ QCOMPARE(sourceElement->width(), 300.0);
+ QCOMPARE(sourceElement->height(), 200.0);
+}
+
+void tst_QSGLoader::sizeLoaderToItem()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("/SizeToItem.qml"));
+ QSGLoader *loader = qobject_cast<QSGLoader*>(component.create());
+ QVERIFY(loader != 0);
+ QCOMPARE(loader->width(), 120.0);
+ QCOMPARE(loader->height(), 60.0);
+
+ // Check resize
+ QSGItem *rect = qobject_cast<QSGItem*>(loader->item());
+ QVERIFY(rect);
+ rect->setWidth(150);
+ rect->setHeight(45);
+ QCOMPARE(loader->width(), 150.0);
+ QCOMPARE(loader->height(), 45.0);
+
+ // Check explicit width
+ loader->setWidth(200.0);
+ QCOMPARE(loader->width(), 200.0);
+ QCOMPARE(rect->width(), 200.0);
+ rect->setWidth(100.0); // when rect changes ...
+ QCOMPARE(rect->width(), 100.0); // ... it changes
+ QCOMPARE(loader->width(), 200.0); // ... but loader stays the same
+
+ // Check explicit height
+ loader->setHeight(200.0);
+ QCOMPARE(loader->height(), 200.0);
+ QCOMPARE(rect->height(), 200.0);
+ rect->setHeight(100.0); // when rect changes ...
+ QCOMPARE(rect->height(), 100.0); // ... it changes
+ QCOMPARE(loader->height(), 200.0); // ... but loader stays the same
+
+ // Switch mode
+ loader->setWidth(180);
+ loader->setHeight(30);
+ QCOMPARE(rect->width(), 180.0);
+ QCOMPARE(rect->height(), 30.0);
+
+ delete loader;
+}
+
+void tst_QSGLoader::sizeItemToLoader()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("/SizeToLoader.qml"));
+ QSGLoader *loader = qobject_cast<QSGLoader*>(component.create());
+ QVERIFY(loader != 0);
+ QCOMPARE(loader->width(), 200.0);
+ QCOMPARE(loader->height(), 80.0);
+
+ QSGItem *rect = qobject_cast<QSGItem*>(loader->item());
+ QVERIFY(rect);
+ QCOMPARE(rect->width(), 200.0);
+ QCOMPARE(rect->height(), 80.0);
+
+ // Check resize
+ loader->setWidth(180);
+ loader->setHeight(30);
+ QCOMPARE(rect->width(), 180.0);
+ QCOMPARE(rect->height(), 30.0);
+
+ // Switch mode
+ loader->resetWidth(); // reset explicit size
+ loader->resetHeight();
+ rect->setWidth(160);
+ rect->setHeight(45);
+ QCOMPARE(loader->width(), 160.0);
+ QCOMPARE(loader->height(), 45.0);
+
+ delete loader;
+}
+
+void tst_QSGLoader::noResize()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("/NoResize.qml"));
+ QSGItem* item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item != 0);
+ QCOMPARE(item->width(), 200.0);
+ QCOMPARE(item->height(), 80.0);
+
+ delete item;
+}
+
+void tst_QSGLoader::networkRequestUrl()
+{
+ TestHTTPServer server(SERVER_PORT);
+ QVERIFY(server.isValid());
+ server.serveDirectory(SRCDIR "/data");
+
+ QDeclarativeComponent component(&engine);
+ component.setData(QByteArray("import QtQuick 2.0\nLoader { property int signalCount : 0; source: \"http://127.0.0.1:14450/Rect120x60.qml\"; onLoaded: signalCount += 1 }"), QUrl::fromLocalFile(SRCDIR "/dummy.qml"));
+ if (component.isError())
+ qDebug() << component.errors();
+ QSGLoader *loader = qobject_cast<QSGLoader*>(component.create());
+ QVERIFY(loader != 0);
+
+ QTRY_VERIFY(loader->status() == QSGLoader::Ready);
+
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(loader->property("signalCount").toInt(), 1);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 1);
+
+ delete loader;
+}
+
+/* XXX Component waits until all dependencies are loaded. Is this actually possible?
+void tst_QSGLoader::networkComponent()
+{
+ TestHTTPServer server(SERVER_PORT);
+ QVERIFY(server.isValid());
+ server.serveDirectory("slowdata", TestHTTPServer::Delay);
+
+ QDeclarativeComponent component(&engine);
+ component.setData(QByteArray(
+ "import QtQuick 2.0\n"
+ "import \"http://127.0.0.1:14450/\" as NW\n"
+ "Item {\n"
+ " Component { id: comp; NW.SlowRect {} }\n"
+ " Loader { sourceComponent: comp } }")
+ , TEST_FILE(""));
+
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+
+ QSGLoader *loader = qobject_cast<QSGLoader*>(item->QSGItem::children().at(1));
+ QVERIFY(loader);
+ QTRY_VERIFY(loader->status() == QSGLoader::Ready);
+
+ QVERIFY(loader->item());
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(loader->status(), QSGLoader::Ready);
+ QCOMPARE(static_cast<QSGItem*>(loader)->children().count(), 1);
+
+ delete loader;
+}
+*/
+
+void tst_QSGLoader::failNetworkRequest()
+{
+ TestHTTPServer server(SERVER_PORT);
+ QVERIFY(server.isValid());
+ server.serveDirectory(SRCDIR "/data");
+
+ QTest::ignoreMessage(QtWarningMsg, "http://127.0.0.1:14450/IDontExist.qml: File not found");
+
+ QDeclarativeComponent component(&engine);
+ component.setData(QByteArray("import QtQuick 2.0\nLoader { property int did_load: 123; source: \"http://127.0.0.1:14450/IDontExist.qml\"; onLoaded: did_load=456 }"), QUrl::fromLocalFile("http://127.0.0.1:14450/dummy.qml"));
+ QSGLoader *loader = qobject_cast<QSGLoader*>(component.create());
+ QVERIFY(loader != 0);
+
+ QTRY_VERIFY(loader->status() == QSGLoader::Error);
+
+ QVERIFY(loader->item() == 0);
+ QCOMPARE(loader->progress(), 0.0);
+ QCOMPARE(loader->property("did_load").toInt(), 123);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 0);
+
+ delete loader;
+}
+
+// QTBUG-9241
+void tst_QSGLoader::deleteComponentCrash()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("crash.qml"));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+
+ item->metaObject()->invokeMethod(item, "setLoaderSource");
+
+ QSGLoader *loader = qobject_cast<QSGLoader*>(item->QSGItem::childItems().at(0));
+ QVERIFY(loader);
+ QVERIFY(loader->item());
+ QCOMPARE(loader->item()->objectName(), QLatin1String("blue"));
+ QCOMPARE(loader->progress(), 1.0);
+ QCOMPARE(loader->status(), QSGLoader::Ready);
+ QCOMPARE(static_cast<QSGItem*>(loader)->childItems().count(), 1);
+ QVERIFY(loader->source() == QUrl::fromLocalFile(SRCDIR "/data/BlueRect.qml"));
+
+ delete item;
+}
+
+void tst_QSGLoader::nonItem()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("nonItem.qml"));
+ QString err = QUrl::fromLocalFile(SRCDIR).toString() + "/data/nonItem.qml:3:1: QML Loader: Loader does not support loading non-visual elements.";
+
+ QTest::ignoreMessage(QtWarningMsg, err.toLatin1().constData());
+ QSGLoader *loader = qobject_cast<QSGLoader*>(component.create());
+ QVERIFY(loader);
+ QVERIFY(loader->item() == 0);
+
+ delete loader;
+}
+
+void tst_QSGLoader::vmeErrors()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("vmeErrors.qml"));
+ QString err = QUrl::fromLocalFile(SRCDIR).toString() + "/data/VmeError.qml:6: Cannot assign object type QObject with no default method";
+ QTest::ignoreMessage(QtWarningMsg, err.toLatin1().constData());
+ QSGLoader *loader = qobject_cast<QSGLoader*>(component.create());
+ QVERIFY(loader);
+ QVERIFY(loader->item() == 0);
+
+ delete loader;
+}
+
+// QTBUG-13481
+void tst_QSGLoader::creationContext()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("creationContext.qml"));
+
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ QCOMPARE(o->property("test").toBool(), true);
+
+ delete o;
+}
+
+void tst_QSGLoader::QTBUG_16928()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("QTBUG_16928.qml"));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+
+ QCOMPARE(item->width(), 250.);
+ QCOMPARE(item->height(), 250.);
+
+ delete item;
+}
+
+void tst_QSGLoader::implicitSize()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("implicitSize.qml"));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+
+ QCOMPARE(item->width(), 150.);
+ QCOMPARE(item->height(), 150.);
+
+ QCOMPARE(item->property("implHeight").toReal(), 100.);
+ QCOMPARE(item->property("implWidth").toReal(), 100.);
+
+ delete item;
+}
+
+void tst_QSGLoader::QTBUG_17114()
+{
+ QDeclarativeComponent component(&engine, TEST_FILE("QTBUG_17114.qml"));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+
+ QCOMPARE(item->property("loaderWidth").toReal(), 32.);
+ QCOMPARE(item->property("loaderHeight").toReal(), 32.);
+
+ delete item;
+}
+
+QTEST_MAIN(tst_QSGLoader)
+
+#include "tst_qsgloader.moc"
diff --git a/tests/auto/declarative/qsgmousearea/data/clickThrough.qml b/tests/auto/declarative/qsgmousearea/data/clickThrough.qml
new file mode 100644
index 0000000000..0d954f8511
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/clickThrough.qml
@@ -0,0 +1,23 @@
+import QtQuick 2.0
+
+Item{
+ width: 200
+ height: 200
+ property int doubleClicks: 0
+ property int clicks: 0
+ property int pressAndHolds: 0
+ property int presses: 0
+ MouseArea{
+ z: 0
+ anchors.fill: parent
+ onPressed: presses++
+ onClicked: clicks++
+ onPressAndHold: pressAndHolds++
+ onDoubleClicked: doubleClicks++
+ }
+ MouseArea{
+ z: 1
+ enabled: true
+ anchors.fill: parent
+ }
+}
diff --git a/tests/auto/declarative/qsgmousearea/data/clickThrough2.qml b/tests/auto/declarative/qsgmousearea/data/clickThrough2.qml
new file mode 100644
index 0000000000..bc73a1bf8a
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/clickThrough2.qml
@@ -0,0 +1,32 @@
+import QtQuick 2.0
+
+Item{
+ width: 300
+ height: 300
+ property int doubleClicks: 0
+ property int clicks: 0
+ property int pressAndHolds: 0
+ property int presses: 0
+ property bool letThrough: false
+ Rectangle{
+ z: 0
+ color: "lightsteelblue"
+ width: 150
+ height: 150
+ MouseArea{
+ anchors.fill: parent
+ onPressed: presses++
+ onClicked: clicks++
+ onPressAndHold: pressAndHolds++
+ onDoubleClicked: doubleClicks++
+ }
+ }
+ MouseArea{
+ z: 1
+ enabled: true
+ anchors.fill: parent
+ onClicked: mouse.accepted = !letThrough;
+ onDoubleClicked: mouse.accepted = !letThrough;
+ onPressAndHold: mouse.accepted = !letThrough;
+ }
+}
diff --git a/tests/auto/declarative/qsgmousearea/data/clickandhold.qml b/tests/auto/declarative/qsgmousearea/data/clickandhold.qml
new file mode 100644
index 0000000000..5e4e48f6db
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/clickandhold.qml
@@ -0,0 +1,13 @@
+import QtQuick 2.0
+
+Item {
+ id: root
+ property bool clicked: false
+ property bool held: false
+
+ MouseArea {
+ width: 200; height: 200
+ onClicked: { root.clicked = true }
+ onPressAndHold: { root.held = true }
+ }
+}
diff --git a/tests/auto/declarative/qsgmousearea/data/clicktwice.qml b/tests/auto/declarative/qsgmousearea/data/clicktwice.qml
new file mode 100644
index 0000000000..002d1b9047
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/clicktwice.qml
@@ -0,0 +1,16 @@
+import QtQuick 2.0
+
+Item {
+ id: root
+ property int clicked: 0
+ property int pressed: 0
+ property int released: 0
+
+ MouseArea {
+ width: 200; height: 200
+ onPressed: { root.pressed++ }
+ onClicked: { root.clicked++ }
+ onReleased: { root.released++ }
+ }
+}
+
diff --git a/tests/auto/declarative/qsgmousearea/data/doubleclick.qml b/tests/auto/declarative/qsgmousearea/data/doubleclick.qml
new file mode 100644
index 0000000000..1030d0c33e
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/doubleclick.qml
@@ -0,0 +1,16 @@
+import QtQuick 2.0
+
+Item {
+ id: root
+ property int clicked: 0
+ property int doubleClicked: 0
+ property int released: 0
+
+ MouseArea {
+ width: 200; height: 200
+ onClicked: { root.clicked++ }
+ onDoubleClicked: { root.doubleClicked++ }
+ onReleased: { root.released++ }
+ }
+}
+
diff --git a/tests/auto/declarative/qsgmousearea/data/dragging.qml b/tests/auto/declarative/qsgmousearea/data/dragging.qml
new file mode 100644
index 0000000000..d9b6ac4083
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/dragging.qml
@@ -0,0 +1,28 @@
+import QtQuick 2.0
+Rectangle {
+ id: whiteRect
+ width: 200
+ height: 200
+ color: "white"
+ Rectangle {
+ id: blackRect
+ objectName: "blackrect"
+ color: "black"
+ y: 50
+ x: 50
+ width: 100
+ height: 100
+ opacity: (whiteRect.width-blackRect.x+whiteRect.height-blackRect.y-199)/200
+ Text { text: blackRect.opacity}
+ MouseArea {
+ objectName: "mouseregion"
+ anchors.fill: parent
+ drag.target: blackRect
+ drag.axis: Drag.XandYAxis
+ drag.minimumX: 0
+ drag.maximumX: whiteRect.width-blackRect.width
+ drag.minimumY: 0
+ drag.maximumY: whiteRect.height-blackRect.height
+ }
+ }
+ }
diff --git a/tests/auto/declarative/qsgmousearea/data/dragproperties.qml b/tests/auto/declarative/qsgmousearea/data/dragproperties.qml
new file mode 100644
index 0000000000..421dfe26b7
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/dragproperties.qml
@@ -0,0 +1,28 @@
+import QtQuick 2.0
+Rectangle {
+ id: whiteRect
+ width: 200
+ height: 200
+ color: "white"
+ Rectangle {
+ id: blackRect
+ objectName: "blackrect"
+ color: "black"
+ y: 50
+ x: 50
+ width: 100
+ height: 100
+ opacity: (whiteRect.width-blackRect.x+whiteRect.height-blackRect.y-199)/200
+ Text { text: blackRect.opacity}
+ MouseArea {
+ objectName: "mouseregion"
+ anchors.fill: parent
+ drag.target: blackRect
+ drag.axis: Drag.XandYAxis
+ drag.minimumX: 0
+ drag.maximumX: whiteRect.width-blackRect.width
+ drag.minimumY: 0
+ drag.maximumY: whiteRect.height-blackRect.height
+ }
+ }
+ }
diff --git a/tests/auto/declarative/qsgmousearea/data/dragreset.qml b/tests/auto/declarative/qsgmousearea/data/dragreset.qml
new file mode 100644
index 0000000000..d7949f9139
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/dragreset.qml
@@ -0,0 +1,28 @@
+import QtQuick 2.0
+Rectangle {
+ id: whiteRect
+ width: 200
+ height: 200
+ color: "white"
+ Rectangle {
+ id: blackRect
+ objectName: "blackrect"
+ color: "black"
+ y: 50
+ x: 50
+ width: 100
+ height: 100
+ opacity: (whiteRect.width-blackRect.x+whiteRect.height-blackRect.y-199)/200
+ Text { text: blackRect.opacity}
+ MouseArea {
+ objectName: "mouseregion"
+ anchors.fill: parent
+ drag.target: haveTarget ? blackRect : undefined
+ drag.axis: Drag.XandYAxis
+ drag.minimumX: 0
+ drag.maximumX: whiteRect.width-blackRect.width
+ drag.minimumY: 0
+ drag.maximumY: whiteRect.height-blackRect.height
+ }
+ }
+ }
diff --git a/tests/auto/declarative/qsgmousearea/data/hoverPosition.qml b/tests/auto/declarative/qsgmousearea/data/hoverPosition.qml
new file mode 100644
index 0000000000..834f91ff29
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/hoverPosition.qml
@@ -0,0 +1,17 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 400; height: 400;
+
+ property real mouseX: mousetracker.mouseX
+ property real mouseY: mousetracker.mouseY
+
+ Rectangle {
+ width: 100; height: 100;
+ MouseArea {
+ id: mousetracker;
+ anchors.fill: parent;
+ hoverEnabled: true
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgmousearea/data/pressedOrdering.qml b/tests/auto/declarative/qsgmousearea/data/pressedOrdering.qml
new file mode 100644
index 0000000000..7aa3098100
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/pressedOrdering.qml
@@ -0,0 +1,28 @@
+import QtQuick 2.0
+
+Item {
+ id: root
+ property string value: "base"
+
+ MouseArea {
+ id: mouseArea
+ width: 200; height: 200
+ onClicked: toggleState.state = "toggled"
+ }
+
+ StateGroup {
+ states: State {
+ name: "pressed"
+ when: mouseArea.pressed
+ PropertyChanges { target: root; value: "pressed" }
+ }
+ }
+
+ StateGroup {
+ id: toggleState
+ states: State {
+ name: "toggled"
+ PropertyChanges { target: root; value: "toggled" }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgmousearea/data/preventstealing.qml b/tests/auto/declarative/qsgmousearea/data/preventstealing.qml
new file mode 100644
index 0000000000..fb0d6955c1
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/preventstealing.qml
@@ -0,0 +1,24 @@
+import QtQuick 2.0
+
+Flickable {
+ property bool stealing: true
+ width: 200
+ height: 200
+ contentWidth: 400
+ contentHeight: 400
+ Rectangle {
+ color: "black"
+ width: 400
+ height: 400
+ Rectangle {
+ x: 50; y: 50
+ width: 100; height: 100
+ color: "steelblue"
+ MouseArea {
+ objectName: "mousearea"
+ anchors.fill: parent
+ preventStealing: stealing
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgmousearea/data/rejectEvent.qml b/tests/auto/declarative/qsgmousearea/data/rejectEvent.qml
new file mode 100644
index 0000000000..816fc76fac
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/rejectEvent.qml
@@ -0,0 +1,28 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: root
+ color: "#ffffff"
+ width: 320; height: 240
+ property bool mr1_pressed: false
+ property bool mr1_released: false
+ property bool mr1_canceled: false
+ property bool mr2_pressed: false
+ property bool mr2_released: false
+ property bool mr2_canceled: false
+
+ MouseArea {
+ id: mouseRegion1
+ anchors.fill: parent
+ onPressed: { root.mr1_pressed = true }
+ onReleased: { root.mr1_released = true }
+ onCanceled: { root.mr1_canceled = true }
+ }
+ MouseArea {
+ id: mouseRegion2
+ width: 120; height: 120
+ onPressed: { root.mr2_pressed = true; mouse.accepted = false }
+ onReleased: { root.mr2_released = true }
+ onCanceled: { root.mr2_canceled = true }
+ }
+}
diff --git a/tests/auto/declarative/qsgmousearea/data/updateMousePosOnClick.qml b/tests/auto/declarative/qsgmousearea/data/updateMousePosOnClick.qml
new file mode 100644
index 0000000000..7377a2e86c
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/updateMousePosOnClick.qml
@@ -0,0 +1,20 @@
+import QtQuick 2.0
+
+Rectangle {
+ color: "#ffffff"
+ width: 320; height: 240
+ MouseArea {
+ id: mouseRegion
+ objectName: "mouseregion"
+ anchors.fill: parent
+ Rectangle {
+ id: ball
+ objectName: "ball"
+ width: 20; height: 20
+ radius: 10
+ color: "#0000ff"
+ x: { mouseRegion.mouseX }
+ y: mouseRegion.mouseY
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgmousearea/data/updateMousePosOnResize.qml b/tests/auto/declarative/qsgmousearea/data/updateMousePosOnResize.qml
new file mode 100644
index 0000000000..ad52ef3820
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/data/updateMousePosOnResize.qml
@@ -0,0 +1,38 @@
+import QtQuick 2.0
+
+Rectangle {
+ color: "#ffffff"
+ width: 320; height: 240
+ Rectangle {
+ id: brother
+ objectName: "brother"
+ color: "lightgreen"
+ x: 200; y: 100
+ width: 120; height: 120
+ }
+ MouseArea {
+ id: mouseRegion
+ objectName: "mouseregion"
+
+ property int x1
+ property int y1
+ property int x2
+ property int y2
+ property bool emitPositionChanged: false
+ property bool mouseMatchesPos: true
+
+ anchors.fill: brother
+ onPressed: {
+ if (mouse.x != mouseX || mouse.y != mouseY)
+ mouseMatchesPos = false
+ x1 = mouseX; y1 = mouseY
+ anchors.fill = parent
+ }
+ onPositionChanged: { emitPositionChanged = true }
+ onMousePositionChanged: {
+ if (mouse.x != mouseX || mouse.y != mouseY)
+ mouseMatchesPos = false
+ x2 = mouseX; y2 = mouseY
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgmousearea/qsgmousearea.pro b/tests/auto/declarative/qsgmousearea/qsgmousearea.pro
new file mode 100644
index 0000000000..f0179e8eb2
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/qsgmousearea.pro
@@ -0,0 +1,18 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui network
+macx:CONFIG -= app_bundle
+
+HEADERS += ../shared/testhttpserver.h
+SOURCES += tst_qsgmousearea.cpp ../shared/testhttpserver.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qsgmousearea/tst_qsgmousearea.cpp b/tests/auto/declarative/qsgmousearea/tst_qsgmousearea.cpp
new file mode 100644
index 0000000000..4e1d253c3d
--- /dev/null
+++ b/tests/auto/declarative/qsgmousearea/tst_qsgmousearea.cpp
@@ -0,0 +1,720 @@
+/****************************************************************************
+**
+** 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 <QtTest/QtTest>
+#include <QtTest/QSignalSpy>
+#include <private/qsgmousearea_p.h>
+#include <private/qsgrectangle_p.h>
+#include <private/qsgflickable_p.h>
+#include <QtDeclarative/qsgview.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtOpenGL/QGLShaderProgram>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_QSGMouseArea: public QObject
+{
+ Q_OBJECT
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void dragProperties();
+ void resetDrag();
+ void dragging();
+ void updateMouseAreaPosOnClick();
+ void updateMouseAreaPosOnResize();
+ void noOnClickedWithPressAndHold();
+ void onMousePressRejected();
+ void doubleClick();
+ void clickTwice();
+ void pressedOrdering();
+ void preventStealing();
+ void clickThrough();
+ void testQtQuick11Attributes();
+ void testQtQuick11Attributes_data();
+ void hoverPosition();
+
+private:
+ QSGView *createView();
+};
+
+void tst_QSGMouseArea::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("MouseArea needs OpenGL 2.0", SkipAll);
+}
+
+void tst_QSGMouseArea::cleanupTestCase()
+{
+
+}
+
+void tst_QSGMouseArea::dragProperties()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/dragproperties.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGMouseArea *mouseRegion = canvas->rootObject()->findChild<QSGMouseArea*>("mouseregion");
+ QSGDrag *drag = mouseRegion->drag();
+ QVERIFY(mouseRegion != 0);
+ QVERIFY(drag != 0);
+
+ // target
+ QSGItem *blackRect = canvas->rootObject()->findChild<QSGItem*>("blackrect");
+ QVERIFY(blackRect != 0);
+ QVERIFY(blackRect == drag->target());
+ QSGItem *rootItem = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(rootItem != 0);
+ QSignalSpy targetSpy(drag, SIGNAL(targetChanged()));
+ drag->setTarget(rootItem);
+ QCOMPARE(targetSpy.count(),1);
+ drag->setTarget(rootItem);
+ QCOMPARE(targetSpy.count(),1);
+
+ // axis
+ QCOMPARE(drag->axis(), QSGDrag::XandYAxis);
+ QSignalSpy axisSpy(drag, SIGNAL(axisChanged()));
+ drag->setAxis(QSGDrag::XAxis);
+ QCOMPARE(drag->axis(), QSGDrag::XAxis);
+ QCOMPARE(axisSpy.count(),1);
+ drag->setAxis(QSGDrag::XAxis);
+ QCOMPARE(axisSpy.count(),1);
+
+ // minimum and maximum properties
+ QSignalSpy xminSpy(drag, SIGNAL(minimumXChanged()));
+ QSignalSpy xmaxSpy(drag, SIGNAL(maximumXChanged()));
+ QSignalSpy yminSpy(drag, SIGNAL(minimumYChanged()));
+ QSignalSpy ymaxSpy(drag, SIGNAL(maximumYChanged()));
+
+ QCOMPARE(drag->xmin(), 0.0);
+ QCOMPARE(drag->xmax(), rootItem->width()-blackRect->width());
+ QCOMPARE(drag->ymin(), 0.0);
+ QCOMPARE(drag->ymax(), rootItem->height()-blackRect->height());
+
+ drag->setXmin(10);
+ drag->setXmax(10);
+ drag->setYmin(10);
+ drag->setYmax(10);
+
+ QCOMPARE(drag->xmin(), 10.0);
+ QCOMPARE(drag->xmax(), 10.0);
+ QCOMPARE(drag->ymin(), 10.0);
+ QCOMPARE(drag->ymax(), 10.0);
+
+ QCOMPARE(xminSpy.count(),1);
+ QCOMPARE(xmaxSpy.count(),1);
+ QCOMPARE(yminSpy.count(),1);
+ QCOMPARE(ymaxSpy.count(),1);
+
+ drag->setXmin(10);
+ drag->setXmax(10);
+ drag->setYmin(10);
+ drag->setYmax(10);
+
+ QCOMPARE(xminSpy.count(),1);
+ QCOMPARE(xmaxSpy.count(),1);
+ QCOMPARE(yminSpy.count(),1);
+ QCOMPARE(ymaxSpy.count(),1);
+
+ // filterChildren
+ QSignalSpy filterChildrenSpy(drag, SIGNAL(filterChildrenChanged()));
+
+ drag->setFilterChildren(true);
+
+ QVERIFY(drag->filterChildren());
+ QCOMPARE(filterChildrenSpy.count(), 1);
+
+ drag->setFilterChildren(true);
+ QCOMPARE(filterChildrenSpy.count(), 1);
+
+ delete canvas;
+}
+
+void tst_QSGMouseArea::resetDrag()
+{
+ QSGView *canvas = createView();
+
+ canvas->rootContext()->setContextProperty("haveTarget", QVariant(true));
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/dragreset.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGMouseArea *mouseRegion = canvas->rootObject()->findChild<QSGMouseArea*>("mouseregion");
+ QSGDrag *drag = mouseRegion->drag();
+ QVERIFY(mouseRegion != 0);
+ QVERIFY(drag != 0);
+
+ // target
+ QSGItem *blackRect = canvas->rootObject()->findChild<QSGItem*>("blackrect");
+ QVERIFY(blackRect != 0);
+ QVERIFY(blackRect == drag->target());
+ QSGItem *rootItem = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(rootItem != 0);
+ QSignalSpy targetSpy(drag, SIGNAL(targetChanged()));
+ QVERIFY(drag->target() != 0);
+ canvas->rootContext()->setContextProperty("haveTarget", QVariant(false));
+ QCOMPARE(targetSpy.count(),1);
+ QVERIFY(drag->target() == 0);
+
+ delete canvas;
+}
+
+
+void tst_QSGMouseArea::dragging()
+{
+ QSGView *canvas = createView();
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/dragging.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGMouseArea *mouseRegion = canvas->rootObject()->findChild<QSGMouseArea*>("mouseregion");
+ QSGDrag *drag = mouseRegion->drag();
+ QVERIFY(mouseRegion != 0);
+ QVERIFY(drag != 0);
+
+ // target
+ QSGItem *blackRect = canvas->rootObject()->findChild<QSGItem*>("blackrect");
+ QVERIFY(blackRect != 0);
+ QVERIFY(blackRect == drag->target());
+
+ QVERIFY(!drag->active());
+
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ QVERIFY(!drag->active());
+ QCOMPARE(blackRect->x(), 50.0);
+ QCOMPARE(blackRect->y(), 50.0);
+
+ // First move event triggers drag, second is acted upon.
+ // This is due to possibility of higher stacked area taking precedence.
+ QMouseEvent moveEvent(QEvent::MouseMove, QPoint(106, 106), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &moveEvent);
+ moveEvent = QMouseEvent(QEvent::MouseMove, QPoint(110, 110), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &moveEvent);
+
+ QVERIFY(drag->active());
+ QCOMPARE(blackRect->x(), 60.0);
+ QCOMPARE(blackRect->y(), 60.0);
+
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(110, 110), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QVERIFY(!drag->active());
+ QCOMPARE(blackRect->x(), 60.0);
+ QCOMPARE(blackRect->y(), 60.0);
+
+ delete canvas;
+}
+
+QSGView *tst_QSGMouseArea::createView()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ return canvas;
+}
+
+void tst_QSGMouseArea::updateMouseAreaPosOnClick()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/updateMousePosOnClick.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGMouseArea *mouseRegion = canvas->rootObject()->findChild<QSGMouseArea*>("mouseregion");
+ QVERIFY(mouseRegion != 0);
+
+ QSGRectangle *rect = canvas->rootObject()->findChild<QSGRectangle*>("ball");
+ QVERIFY(rect != 0);
+
+ QCOMPARE(mouseRegion->mouseX(), rect->x());
+ QCOMPARE(mouseRegion->mouseY(), rect->y());
+
+ QMouseEvent event(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &event);
+
+ QCOMPARE(mouseRegion->mouseX(), 100.0);
+ QCOMPARE(mouseRegion->mouseY(), 100.0);
+
+ QCOMPARE(mouseRegion->mouseX(), rect->x());
+ QCOMPARE(mouseRegion->mouseY(), rect->y());
+
+ delete canvas;
+}
+
+void tst_QSGMouseArea::updateMouseAreaPosOnResize()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/updateMousePosOnResize.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGMouseArea *mouseRegion = canvas->rootObject()->findChild<QSGMouseArea*>("mouseregion");
+ QVERIFY(mouseRegion != 0);
+
+ QSGRectangle *rect = canvas->rootObject()->findChild<QSGRectangle*>("brother");
+ QVERIFY(rect != 0);
+
+ QCOMPARE(mouseRegion->mouseX(), 0.0);
+ QCOMPARE(mouseRegion->mouseY(), 0.0);
+
+ QMouseEvent event(QEvent::MouseButtonPress, rect->pos().toPoint(), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &event);
+
+ QVERIFY(!mouseRegion->property("emitPositionChanged").toBool());
+ QVERIFY(mouseRegion->property("mouseMatchesPos").toBool());
+
+ QCOMPARE(mouseRegion->property("x1").toInt(), 0);
+ QCOMPARE(mouseRegion->property("y1").toInt(), 0);
+
+ // XXX: is it on purpose that mouseX is real and mouse.x is int?
+ QCOMPARE(mouseRegion->property("x2").toInt(), (int) rect->x());
+ QCOMPARE(mouseRegion->property("y2").toInt(), (int) rect->y());
+
+ QCOMPARE(mouseRegion->mouseX(), rect->x());
+ QCOMPARE(mouseRegion->mouseY(), rect->y());
+
+ delete canvas;
+}
+
+void tst_QSGMouseArea::noOnClickedWithPressAndHold()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/clickandhold.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ QVERIFY(!canvas->rootObject()->property("clicked").toBool());
+ QVERIFY(!canvas->rootObject()->property("held").toBool());
+
+ QTest::qWait(1000);
+
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QVERIFY(!canvas->rootObject()->property("clicked").toBool());
+ QVERIFY(canvas->rootObject()->property("held").toBool());
+
+ delete canvas;
+}
+
+void tst_QSGMouseArea::onMousePressRejected()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/rejectEvent.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+ QVERIFY(canvas->rootObject()->property("enabled").toBool());
+
+ QVERIFY(!canvas->rootObject()->property("mr1_pressed").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr1_released").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr1_canceled").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr2_pressed").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr2_released").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr2_canceled").toBool());
+
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ QVERIFY(canvas->rootObject()->property("mr1_pressed").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr1_released").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr1_canceled").toBool());
+ QVERIFY(canvas->rootObject()->property("mr2_pressed").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr2_released").toBool());
+ QVERIFY(canvas->rootObject()->property("mr2_canceled").toBool());
+
+ QTest::qWait(200);
+
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QVERIFY(canvas->rootObject()->property("mr1_released").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr1_canceled").toBool());
+ QVERIFY(!canvas->rootObject()->property("mr2_released").toBool());
+
+ delete canvas;
+}
+
+void tst_QSGMouseArea::doubleClick()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/doubleclick.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("released").toInt(), 1);
+
+ pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("clicked").toInt(), 1);
+ QCOMPARE(canvas->rootObject()->property("doubleClicked").toInt(), 1);
+ QCOMPARE(canvas->rootObject()->property("released").toInt(), 2);
+
+ delete canvas;
+}
+
+// QTBUG-14832
+void tst_QSGMouseArea::clickTwice()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/clicktwice.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("pressed").toInt(), 1);
+ QCOMPARE(canvas->rootObject()->property("released").toInt(), 1);
+ QCOMPARE(canvas->rootObject()->property("clicked").toInt(), 1);
+
+ pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ QApplication::sendEvent(canvas, &pressEvent);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("pressed").toInt(), 2);
+ QCOMPARE(canvas->rootObject()->property("released").toInt(), 2);
+ QCOMPARE(canvas->rootObject()->property("clicked").toInt(), 2);
+
+ delete canvas;
+}
+
+void tst_QSGMouseArea::pressedOrdering()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pressedOrdering.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QCOMPARE(canvas->rootObject()->property("value").toString(), QLatin1String("base"));
+
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ QCOMPARE(canvas->rootObject()->property("value").toString(), QLatin1String("pressed"));
+
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("value").toString(), QLatin1String("toggled"));
+
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ QCOMPARE(canvas->rootObject()->property("value").toString(), QLatin1String("pressed"));
+
+ delete canvas;
+}
+
+void tst_QSGMouseArea::preventStealing()
+{
+ QSGView *canvas = createView();
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/preventstealing.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGFlickable *flickable = qobject_cast<QSGFlickable*>(canvas->rootObject());
+ QVERIFY(flickable != 0);
+
+ QSGMouseArea *mouseArea = canvas->rootObject()->findChild<QSGMouseArea*>("mousearea");
+ QVERIFY(mouseArea != 0);
+
+ QSignalSpy mousePositionSpy(mouseArea, SIGNAL(positionChanged(QSGMouseEvent*)));
+
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(80, 80));
+
+ // Without preventStealing, mouse movement over MouseArea would
+ // cause the Flickable to steal mouse and trigger content movement.
+
+ QMouseEvent moveEvent(QEvent::MouseMove, QPoint(70, 70), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &moveEvent);
+
+ moveEvent = QMouseEvent(QEvent::MouseMove, QPoint(60, 60), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &moveEvent);
+
+ moveEvent = QMouseEvent(QEvent::MouseMove, QPoint(50, 50), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &moveEvent);
+
+ // We should have received all three move events
+ QCOMPARE(mousePositionSpy.count(), 3);
+ QVERIFY(mouseArea->pressed());
+
+ // Flickable content should not have moved.
+ QCOMPARE(flickable->contentX(), 0.);
+ QCOMPARE(flickable->contentY(), 0.);
+
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(50, 50));
+
+ // Now allow stealing and confirm Flickable does its thing.
+ canvas->rootObject()->setProperty("stealing", false);
+
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(80, 80));
+
+ // Without preventStealing, mouse movement over MouseArea would
+ // cause the Flickable to steal mouse and trigger content movement.
+ moveEvent = QMouseEvent(QEvent::MouseMove, QPoint(70, 70), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &moveEvent);
+
+ moveEvent = QMouseEvent(QEvent::MouseMove, QPoint(60, 60), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &moveEvent);
+
+ moveEvent = QMouseEvent(QEvent::MouseMove, QPoint(50, 50), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &moveEvent);
+
+ // We should only have received the first move event
+ QCOMPARE(mousePositionSpy.count(), 4);
+ // Our press should be taken away
+ QVERIFY(!mouseArea->pressed());
+
+ // Flickable content should have moved.
+ QCOMPARE(flickable->contentX(), 10.);
+ QCOMPARE(flickable->contentY(), 10.);
+
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(50, 50));
+
+ delete canvas;
+}
+
+void tst_QSGMouseArea::clickThrough()
+{
+ //With no handlers defined click, doubleClick and PressAndHold should propagate to those with handlers
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/clickThrough.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QMouseEvent pressEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ QMouseEvent releaseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 1);
+
+ QApplication::sendEvent(canvas, &pressEvent);
+ QTest::qWait(1000);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 1);
+ QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 1);
+
+ QApplication::sendEvent(canvas, &pressEvent);
+ QApplication::sendEvent(canvas, &releaseEvent);
+ pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+
+ QApplication::sendEvent(canvas, &pressEvent);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 2);
+ QCOMPARE(canvas->rootObject()->property("doubleClicks").toInt(), 1);
+ QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 1);
+
+ delete canvas;
+
+ //With handlers defined click, doubleClick and PressAndHold should propagate only when explicitly ignored
+ canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/clickThrough2.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ pressEvent = QMouseEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ releaseEvent = QMouseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 0);
+
+ QApplication::sendEvent(canvas, &pressEvent);
+ QTest::qWait(1000);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 0);
+
+ QApplication::sendEvent(canvas, &pressEvent);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("doubleClicks").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 0);
+
+ canvas->rootObject()->setProperty("letThrough", QVariant(true));
+
+ pressEvent = QMouseEvent(QEvent::MouseButtonPress, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &pressEvent);
+
+ releaseEvent = QMouseEvent(QEvent::MouseButtonRelease, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 1);
+
+ QApplication::sendEvent(canvas, &pressEvent);
+ QTest::qWait(1000);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 1);
+ QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 1);
+
+ QApplication::sendEvent(canvas, &pressEvent);
+ QApplication::sendEvent(canvas, &releaseEvent);
+ pressEvent = QMouseEvent(QEvent::MouseButtonDblClick, QPoint(100, 100), Qt::LeftButton, Qt::LeftButton, 0);
+
+ QApplication::sendEvent(canvas, &pressEvent);
+ QApplication::sendEvent(canvas, &releaseEvent);
+
+ QCOMPARE(canvas->rootObject()->property("presses").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("clicks").toInt(), 2);
+ QCOMPARE(canvas->rootObject()->property("doubleClicks").toInt(), 1);
+ QCOMPARE(canvas->rootObject()->property("pressAndHolds").toInt(), 1);
+
+ delete canvas;
+}
+
+void tst_QSGMouseArea::testQtQuick11Attributes()
+{
+ QFETCH(QString, code);
+ QFETCH(QString, warning);
+ QFETCH(QString, error);
+
+ QDeclarativeEngine engine;
+ QObject *obj;
+
+ QDeclarativeComponent valid(&engine);
+ valid.setData("import QtQuick 1.1; MouseArea { " + code.toUtf8() + " }", QUrl(""));
+ obj = valid.create();
+ QVERIFY(obj);
+ QVERIFY(valid.errorString().isEmpty());
+ delete obj;
+
+ QDeclarativeComponent invalid(&engine);
+ invalid.setData("import QtQuick 1.0; MouseArea { " + code.toUtf8() + " }", QUrl(""));
+ QTest::ignoreMessage(QtWarningMsg, warning.toUtf8());
+ obj = invalid.create();
+ QCOMPARE(invalid.errorString(), error);
+ delete obj;
+}
+
+void tst_QSGMouseArea::testQtQuick11Attributes_data()
+{
+ QTest::addColumn<QString>("code");
+ QTest::addColumn<QString>("warning");
+ QTest::addColumn<QString>("error");
+
+ QTest::newRow("preventStealing") << "preventStealing: true"
+ << "QDeclarativeComponent: Component is not ready"
+ << ":1 \"MouseArea.preventStealing\" is not available in QtQuick 1.0.\n";
+}
+
+void tst_QSGMouseArea::hoverPosition()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/hoverPosition.qml"));
+
+ QSGItem *root = canvas->rootObject();
+ QVERIFY(root != 0);
+
+ QCOMPARE(root->property("mouseX").toReal(), qreal(0));
+ QCOMPARE(root->property("mouseY").toReal(), qreal(0));
+
+ QMouseEvent moveEvent(QEvent::MouseMove, QPoint(10, 32), Qt::NoButton, Qt::NoButton, 0);
+ QApplication::sendEvent(canvas, &moveEvent);
+
+ QCOMPARE(root->property("mouseX").toReal(), qreal(10));
+ QCOMPARE(root->property("mouseY").toReal(), qreal(32));
+
+ delete canvas;
+}
+
+QTEST_MAIN(tst_QSGMouseArea)
+
+#include "tst_qsgmousearea.moc"
diff --git a/tests/auto/declarative/qsgpathview/data/closedPath.qml b/tests/auto/declarative/qsgpathview/data/closedPath.qml
new file mode 100644
index 0000000000..3ca34056c8
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/closedPath.qml
@@ -0,0 +1,24 @@
+import QtQuick 2.0
+
+Path {
+ startY: 120
+ startX: 160
+ PathQuad {
+ y: 120
+ x: 80
+ controlY: 330
+ controlX: 100
+ }
+ PathLine {
+ y: 160
+ x: 20
+ }
+ PathCubic {
+ y: 120
+ x: 160
+ control1Y: 0
+ control1X: 100
+ control2Y: 000
+ control2X: 200
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/datamodel.qml b/tests/auto/declarative/qsgpathview/data/datamodel.qml
new file mode 100644
index 0000000000..44f2aecc0a
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/datamodel.qml
@@ -0,0 +1,38 @@
+import QtQuick 2.0
+
+PathView {
+ id: pathview
+ property int viewCount: count
+ objectName: "pathview"
+ width: 240; height: 320
+ pathItemCount: testObject.pathItemCount
+
+ function checkProperties() {
+ testObject.error = false;
+ if (testObject.useModel && pathview.model != testData) {
+ console.log("model property incorrect");
+ testObject.error = true;
+ }
+ }
+
+ model: testObject.useModel ? testData : 0
+
+ delegate: Component {
+ id: myDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ property bool onPath: PathView.onPath
+ width: 20; height: 20; color: name
+ Text {
+ objectName: "myText"
+ text: name
+ }
+ }
+ }
+
+ path: Path {
+ startX: 120; startY: 20;
+ PathLine { x: 120; y: 300 }
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/displaypath.qml b/tests/auto/declarative/qsgpathview/data/displaypath.qml
new file mode 100644
index 0000000000..af0f381fc4
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/displaypath.qml
@@ -0,0 +1,59 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: delegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ height: 20
+ width: 60
+ color: "white"
+ border.color: "black"
+ Text {
+ text: index
+ }
+ Text {
+ x: 20
+ id: displayText
+ objectName: "displayText"
+ text: display
+ }
+ }
+ }
+ ]
+ PathView {
+ id: view
+ objectName: "view"
+ width: 240
+ height: 320
+ model: testModel
+ delegate: delegate
+ path: Path {
+ startY: 120
+ startX: 160
+ PathQuad {
+ y: 120
+ x: 80
+ controlY: 330
+ controlX: 100
+ }
+ PathLine {
+ y: 160
+ x: 20
+ }
+ PathCubic {
+ y: 120
+ x: 160
+ control1Y: 0
+ control1X: 100
+ control2Y: 000
+ control2X: 200
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/dragpath.qml b/tests/auto/declarative/qsgpathview/data/dragpath.qml
new file mode 100644
index 0000000000..f9c6615b04
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/dragpath.qml
@@ -0,0 +1,19 @@
+import QtQuick 2.0
+
+PathView {
+ width: 400
+ height: 200
+ model: 100
+ pathItemCount: 20
+ path: Path {
+ startX: 0; startY: 100
+ PathLine { x: 400; y: 100 }
+ }
+ delegate: Rectangle { objectName: "wrapper"; height: 100; width: 2; color: PathView.isCurrentItem?"red" : "black" }
+ dragMargin: 100
+ preferredHighlightBegin: 0.5
+ preferredHighlightEnd: 0.5
+ Text {
+ text: "current index: " + parent.currentIndex
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/emptymodel.qml b/tests/auto/declarative/qsgpathview/data/emptymodel.qml
new file mode 100644
index 0000000000..eb4d3006f4
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/emptymodel.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+PathView {
+ model: emptyModel
+}
diff --git a/tests/auto/declarative/qsgpathview/data/openPath.qml b/tests/auto/declarative/qsgpathview/data/openPath.qml
new file mode 100644
index 0000000000..1bd8375d9e
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/openPath.qml
@@ -0,0 +1,10 @@
+import QtQuick 2.0
+
+Path {
+ startY: 120
+ startX: 160
+ PathLine {
+ y: 160
+ x: 20
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/pathUpdate.qml b/tests/auto/declarative/qsgpathview/data/pathUpdate.qml
new file mode 100644
index 0000000000..e729291025
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/pathUpdate.qml
@@ -0,0 +1,18 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 400
+ height: 400
+
+ PathView {
+ id: view
+ objectName: "pathView"
+ anchors.fill: parent
+ model: 10
+ delegate: Rectangle { objectName: "wrapper"; color: "green"; width: 100; height: 100 }
+ path: Path {
+ startX: view.width/2; startY: 0
+ PathLine { x: view.width/2; y: view.height }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/pathUpdateOnStartChanged.qml b/tests/auto/declarative/qsgpathview/data/pathUpdateOnStartChanged.qml
new file mode 100644
index 0000000000..89084b2a37
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/pathUpdateOnStartChanged.qml
@@ -0,0 +1,38 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 800
+ height: 480
+ color: "black"
+ resources: [
+ ListModel {
+ id: appModel
+ ListElement { color: "green" }
+ },
+ Component {
+ id: appDelegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ color: "green"
+ width: 100
+ height: 100
+ }
+ }
+ ]
+ PathView {
+ id: pathView
+ objectName: "pathView"
+ model: appModel
+ anchors.fill: parent
+
+ transformOrigin: "Top"
+ delegate: appDelegate
+ path: Path {
+ objectName: "path"
+ startX: pathView.width / 2 // startX: 400 <- this works as expected
+ startY: 300
+ PathLine { x: 400; y: 120 }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/pathtest.qml b/tests/auto/declarative/qsgpathview/data/pathtest.qml
new file mode 100644
index 0000000000..736d58d2a9
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/pathtest.qml
@@ -0,0 +1,14 @@
+import QtQuick 2.0
+
+Path {
+ startX: 120; startY: 100
+
+ PathAttribute { name: "scale"; value: 1.0 }
+ PathQuad { x: 120; y: 25; controlX: 260; controlY: 75 }
+ PathPercent { value: 0.3 }
+ PathLine { x: 120; y: 100 }
+ PathCubic {
+ x: 180; y: 0; control1X: -10; control1Y: 90
+ control2X: 210; control2Y: 90
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/pathview0.qml b/tests/auto/declarative/qsgpathview/data/pathview0.qml
new file mode 100644
index 0000000000..72b71a3c80
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/pathview0.qml
@@ -0,0 +1,84 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: root
+ property int count: view.count
+ property int currentA: -1
+ property int currentB: -1
+ property real delegateWidth: 60
+ property real delegateHeight: 20
+ property real delegateScale: 1.0
+ width: 240
+ height: 320
+ color: "#ffffff"
+ resources: [
+ Component {
+ id: delegate
+ Rectangle {
+ id: wrapper
+ objectName: "wrapper"
+ height: root.delegateHeight
+ width: root.delegateWidth
+ scale: root.delegateScale
+ color: PathView.isCurrentItem ? "lightsteelblue" : "white"
+ border.color: "black"
+ Text {
+ text: index
+ }
+ Text {
+ x: 20
+ id: textName
+ objectName: "textName"
+ text: name
+ }
+ Text {
+ x: 40
+ id: textNumber
+ objectName: "textNumber"
+ text: number
+ }
+ PathView.onCurrentItemChanged: {
+ if (PathView.isCurrentItem) {
+ root.currentA = index;
+ root.currentB = wrapper.PathView.view.currentIndex;
+ }
+ }
+ }
+ }
+ ]
+ PathView {
+ id: view
+ objectName: "view"
+ width: 240
+ height: 320
+ model: testModel
+ delegate: delegate
+ highlight: Rectangle {
+ width: 60
+ height: 20
+ color: "yellow"
+ }
+ path: Path {
+ startY: 120
+ startX: 160
+ PathQuad {
+ y: 120
+ x: 80
+ controlY: 330
+ controlX: 100
+ }
+ PathLine {
+ y: 160
+ x: 20
+ }
+ PathCubic {
+ y: 120
+ x: 160
+ control1Y: 0
+ control1X: 100
+ control2Y: 000
+ control2X: 200
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/pathview1.qml b/tests/auto/declarative/qsgpathview/data/pathview1.qml
new file mode 100644
index 0000000000..53d375e596
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/pathview1.qml
@@ -0,0 +1,4 @@
+import QtQuick 2.0
+
+PathView {
+}
diff --git a/tests/auto/declarative/qsgpathview/data/pathview2.qml b/tests/auto/declarative/qsgpathview/data/pathview2.qml
new file mode 100644
index 0000000000..1d279c42a0
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/pathview2.qml
@@ -0,0 +1,57 @@
+import QtQuick 2.0
+
+PathView {
+ id: photoPathView
+ y: 100; width: 800; height: 330; pathItemCount: 10; z: 1
+
+ path: Path {
+ startX: -50; startY: 40;
+
+ PathAttribute { name: "scale"; value: 0.5 }
+ PathAttribute { name: "angle"; value: -45 }
+
+ PathCubic {
+ x: 400; y: 220
+ control1X: 140; control1Y: 40
+ control2X: 210; control2Y: 220
+ }
+
+ PathAttribute { name: "scale"; value: 1.2 }
+ PathAttribute { name: "angle"; value: 0 }
+
+ PathCubic {
+ x: 850; y: 40
+ control2X: 660; control2Y: 40
+ control1X: 590; control1Y: 220
+ }
+
+ PathAttribute { name: "scale"; value: 0.5 }
+ PathAttribute { name: "angle"; value: 45 }
+ }
+
+ model: ListModel {
+ id: rssModel
+ ListElement { lColor: "red" }
+ ListElement { lColor: "green" }
+ ListElement { lColor: "yellow" }
+ ListElement { lColor: "blue" }
+ ListElement { lColor: "purple" }
+ ListElement { lColor: "gray" }
+ ListElement { lColor: "brown" }
+ ListElement { lColor: "thistle" }
+ }
+
+ delegate: Component {
+ id: photoDelegate
+ Rectangle {
+ id: wrapper
+ width: 85; height: 85; color: lColor
+ scale: wrapper.PathView.scale
+
+ transform: Rotation {
+ id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2
+ axis.y: 1; axis.z: 0; angle: wrapper.PathView.angle
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/pathview3.qml b/tests/auto/declarative/qsgpathview/data/pathview3.qml
new file mode 100644
index 0000000000..ded5a3911c
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/pathview3.qml
@@ -0,0 +1,59 @@
+import QtQuick 2.0
+
+PathView {
+ id: photoPathView
+ y: 100; width: 800; height: 330; pathItemCount: 4; offset: 1
+ dragMargin: 24
+ preferredHighlightBegin: 0.50
+ preferredHighlightEnd: 0.50
+
+ path: Path {
+ startX: -50; startY: 40;
+
+ PathAttribute { name: "scale"; value: 0.5 }
+ PathAttribute { name: "angle"; value: -45 }
+
+ PathCubic {
+ x: 400; y: 220
+ control1X: 140; control1Y: 40
+ control2X: 210; control2Y: 220
+ }
+
+ PathAttribute { name: "scale"; value: 1.2 }
+ PathAttribute { name: "angle"; value: 0 }
+
+ PathCubic {
+ x: 850; y: 40
+ control2X: 660; control2Y: 40
+ control1X: 590; control1Y: 220
+ }
+
+ PathAttribute { name: "scale"; value: 0.5 }
+ PathAttribute { name: "angle"; value: 45 }
+ }
+
+ model: ListModel {
+ id: rssModel
+ ListElement { lColor: "red" }
+ ListElement { lColor: "green" }
+ ListElement { lColor: "yellow" }
+ ListElement { lColor: "blue" }
+ ListElement { lColor: "purple" }
+ ListElement { lColor: "gray" }
+ ListElement { lColor: "brown" }
+ ListElement { lColor: "thistle" }
+ }
+
+ delegate: Component {
+ id: photoDelegate
+ Rectangle {
+ id: wrapper
+ width: 85; height: 85; color: lColor
+
+ transform: Rotation {
+ id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2
+ axis.y: 1; axis.z: 0
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/pathview_package.qml b/tests/auto/declarative/qsgpathview/data/pathview_package.qml
new file mode 100644
index 0000000000..2af57e6bb1
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/pathview_package.qml
@@ -0,0 +1,88 @@
+import QtQuick 2.0
+
+Item {
+ width: 800; height: 600
+ Component {
+ id: photoDelegate
+ Package {
+ Item { id: pathItem; objectName: "pathItem"; Package.name: 'path'; width: 85; height: 85; scale: pathItem.PathView.scale }
+ Item { id: linearItem; Package.name: 'linear'; width: 85; height: 85 }
+ Rectangle {
+ id: wrapper
+ width: 85; height: 85; color: lColor
+
+ transform: Rotation {
+ id: itemRotation; origin.x: wrapper.width/2; origin.y: wrapper.height/2
+ axis.y: 1; axis.z: 0
+ }
+ state: 'path'
+ states: [
+ State {
+ name: 'path'
+ ParentChange { target: wrapper; parent: pathItem; x: 0; y: 0 }
+ PropertyChanges { target: wrapper; opacity: pathItem.PathView.onPath ? 1.0 : 0 }
+ }
+ ]
+ }
+ }
+ }
+ ListModel {
+ id: rssModel
+ ListElement { lColor: "red" }
+ ListElement { lColor: "green" }
+ ListElement { lColor: "yellow" }
+ ListElement { lColor: "blue" }
+ ListElement { lColor: "purple" }
+ ListElement { lColor: "gray" }
+ ListElement { lColor: "brown" }
+ ListElement { lColor: "thistle" }
+ }
+ VisualDataModel { id: visualModel; model: rssModel; delegate: photoDelegate }
+
+ PathView {
+ id: photoPathView
+ objectName: "photoPathView"
+ width: 800; height: 330; pathItemCount: 4; offset: 1
+ dragMargin: 24
+ preferredHighlightBegin: 0.50
+ preferredHighlightEnd: 0.50
+
+ path: Path {
+ startX: -50; startY: 40;
+
+ PathAttribute { name: "scale"; value: 0.5 }
+ PathAttribute { name: "angle"; value: -45 }
+
+ PathCubic {
+ x: 400; y: 220
+ control1X: 140; control1Y: 40
+ control2X: 210; control2Y: 220
+ }
+
+ PathAttribute { name: "scale"; value: 1.2 }
+ PathAttribute { name: "angle"; value: 0 }
+
+ PathCubic {
+ x: 850; y: 40
+ control2X: 660; control2Y: 40
+ control1X: 590; control1Y: 220
+ }
+
+ PathAttribute { name: "scale"; value: 0.5 }
+ PathAttribute { name: "angle"; value: 45 }
+ }
+
+ model: visualModel.parts.path
+ }
+
+ PathView {
+ y: 400; width: 800; height: 330; pathItemCount: 8
+
+ path: Path {
+ startX: 0; startY: 40;
+ PathLine { x: 800; y: 40 }
+ }
+
+ model: visualModel.parts.linear
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/propertychanges.qml b/tests/auto/declarative/qsgpathview/data/propertychanges.qml
new file mode 100644
index 0000000000..09b309f86f
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/propertychanges.qml
@@ -0,0 +1,116 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 350; height: 220; color: "white"
+ Component {
+ id: myDelegate
+ Item {
+ id: wrapper
+ width: 180; height: 40;
+ opacity: PathView.opacity
+ Column {
+ x: 5; y: 5
+ Text { text: '<b>Name:</b> ' + name }
+ Text { text: '<b>Number:</b> ' + number }
+ }
+ }
+ }
+
+ PathView {
+ preferredHighlightBegin: 0.1
+ preferredHighlightEnd: 0.1
+ dragMargin: 5.0
+ id: pathView
+ objectName: "pathView"
+ anchors.fill: parent
+ model: listModel
+ delegate: myDelegate
+ focus: true
+ path: Path {
+ id: myPath
+ objectName: "path"
+ startX: 220; startY: 200
+ PathAttribute { name: "opacity"; value: 1.0; objectName: "pathAttribute"; }
+ PathQuad { x: 220; y: 25; controlX: 260; controlY: 75 }
+ PathAttribute { name: "opacity"; value: 0.3 }
+ PathQuad { x: 220; y: 200; controlX: -20; controlY: 75 }
+ }
+ Timer {
+ interval: 2000; running: true; repeat: true
+ onTriggered: {
+ if (pathView.path == alternatePath)
+ pathView.path = myPath;
+ else
+ pathView.path = alternatePath;
+ }
+ }
+ }
+
+ data:[
+ ListModel {
+ id: listModel
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ ListElement {
+ name: "Bill Smith"
+ number: "555 3264"
+ }
+ ListElement {
+ name: "John Brown"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Sam Wise"
+ number: "555 0473"
+ }
+ },
+ ListModel {
+ objectName: "alternateModel"
+ ListElement {
+ name: "Jack"
+ number: "555 8426"
+ }
+ ListElement {
+ name: "Mary"
+ number: "555 3264"
+ }
+ },
+ Path {
+ id: alternatePath
+ objectName: "alternatePath"
+ startX: 100; startY: 40
+ PathAttribute { name: "opacity"; value: 0.0 }
+ PathLine { x: 100; y: 160 }
+ PathAttribute { name: "opacity"; value: 0.2 }
+ PathLine { x: 300; y: 160 }
+ PathAttribute { name: "opacity"; value: 0.0 }
+ PathLine { x: 300; y: 40 }
+ PathAttribute { name: "opacity"; value: 0.2 }
+ PathLine { x: 100; y: 40 }
+ }
+ ]
+}
+
+
diff --git a/tests/auto/declarative/qsgpathview/data/treemodel.qml b/tests/auto/declarative/qsgpathview/data/treemodel.qml
new file mode 100644
index 0000000000..fcf6922d00
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/treemodel.qml
@@ -0,0 +1,19 @@
+import QtQuick 2.0
+
+PathView {
+ width: 320
+ height: 240
+ function setRoot(index) {
+ vdm.rootIndex = vdm.modelIndex(index);
+ }
+ model: VisualDataModel {
+ id: vdm
+ model: myModel
+ delegate: Text { objectName: "wrapper"; text: display }
+ }
+
+ path: Path {
+ startX: 0; startY: 120
+ PathLine { x: 320; y: 120 }
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/undefinedpath.qml b/tests/auto/declarative/qsgpathview/data/undefinedpath.qml
new file mode 100644
index 0000000000..674e7cca8d
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/undefinedpath.qml
@@ -0,0 +1,17 @@
+import QtQuick 2.0
+
+PathView {
+ id: pathView
+ width: 240; height: 200
+ path: Path {
+ startX: pathView.undef/2.0; startY: 0
+ PathLine { x: pathView.undef/2.0; y: 0 }
+ }
+
+ delegate: Text { text: value }
+ model: ListModel {
+ ListElement { value: "one" }
+ ListElement { value: "two" }
+ ListElement { value: "three" }
+ }
+}
diff --git a/tests/auto/declarative/qsgpathview/data/vdm.qml b/tests/auto/declarative/qsgpathview/data/vdm.qml
new file mode 100644
index 0000000000..839393d9bd
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/data/vdm.qml
@@ -0,0 +1,28 @@
+import QtQuick 2.0
+
+PathView {
+ id: pathView
+ width: 240; height: 320
+
+ pathItemCount: 4
+ preferredHighlightBegin : 0.5
+ preferredHighlightEnd : 0.5
+
+ path: Path {
+ startX: 120; startY: 20;
+ PathLine { x: 120; y: 300 }
+ }
+
+ ListModel {
+ id: mo
+ ListElement { value: "one" }
+ ListElement { value: "two" }
+ ListElement { value: "three" }
+ }
+
+ model: VisualDataModel {
+ delegate: Text { text: model.value }
+ model : mo
+ }
+}
+
diff --git a/tests/auto/declarative/qsgpathview/qsgpathview.pro b/tests/auto/declarative/qsgpathview/qsgpathview.pro
new file mode 100644
index 0000000000..70279757a5
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/qsgpathview.pro
@@ -0,0 +1,18 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsgpathview.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
+QT += script-private
diff --git a/tests/auto/declarative/qsgpathview/tst_qsgpathview.cpp b/tests/auto/declarative/qsgpathview/tst_qsgpathview.cpp
new file mode 100644
index 0000000000..2c24748f45
--- /dev/null
+++ b/tests/auto/declarative/qsgpathview/tst_qsgpathview.cpp
@@ -0,0 +1,1077 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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 <QtTest/QtTest>
+#include <QtDeclarative/qsgview.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtDeclarative/private/qsgpathview_p.h>
+#include <QtDeclarative/private/qdeclarativepath_p.h>
+#include <QtDeclarative/private/qsgtext_p.h>
+#include <QtDeclarative/private/qsgrectangle_p.h>
+#include <QtDeclarative/private/qdeclarativelistmodel_p.h>
+#include <QtDeclarative/private/qdeclarativevaluetype_p.h>
+#include <QAbstractListModel>
+#include <QStringListModel>
+#include <QStandardItemModel>
+#include <QFile>
+#include <QtOpenGL/QGLShaderProgram>
+
+#include "../../../shared/util.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+static void initStandardTreeModel(QStandardItemModel *model)
+{
+ QStandardItem *item;
+ item = new QStandardItem(QLatin1String("Row 1 Item"));
+ model->insertRow(0, item);
+
+ item = new QStandardItem(QLatin1String("Row 2 Item"));
+ item->setCheckable(true);
+ model->insertRow(1, item);
+
+ QStandardItem *childItem = new QStandardItem(QLatin1String("Row 2 Child Item"));
+ item->setChild(0, childItem);
+
+ item = new QStandardItem(QLatin1String("Row 3 Item"));
+ item->setIcon(QIcon());
+ model->insertRow(2, item);
+}
+
+
+class tst_QSGPathView : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QSGPathView();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void initValues();
+ void items();
+ void dataModel();
+ void pathview2();
+ void pathview3();
+ void path();
+ void pathMoved();
+ void setCurrentIndex();
+ void resetModel();
+ void propertyChanges();
+ void pathChanges();
+ void componentChanges();
+ void modelChanges();
+ void pathUpdateOnStartChanged();
+ void package();
+ void emptyModel();
+ void closed();
+ void pathUpdate();
+ void visualDataModel();
+ void undefinedPath();
+ void mouseDrag();
+ void treeModel();
+ void changePreferredHighlight();
+
+private:
+ QSGView *createView();
+ template<typename T>
+ T *findItem(QSGItem *parent, const QString &objectName, int index=-1);
+ template<typename T>
+ QList<T*> findItems(QSGItem *parent, const QString &objectName);
+};
+
+void tst_QSGPathView::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("PathView needs OpenGL 2.0", SkipAll);
+}
+
+void tst_QSGPathView::cleanupTestCase()
+{
+
+}
+
+class TestObject : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(bool error READ error WRITE setError)
+ Q_PROPERTY(bool useModel READ useModel NOTIFY useModelChanged)
+ Q_PROPERTY(int pathItemCount READ pathItemCount NOTIFY pathItemCountChanged)
+
+public:
+ TestObject() : QObject(), mError(true), mUseModel(true), mPathItemCount(-1) {}
+
+ bool error() const { return mError; }
+ void setError(bool err) { mError = err; }
+
+ bool useModel() const { return mUseModel; }
+ void setUseModel(bool use) { mUseModel = use; emit useModelChanged(); }
+
+ int pathItemCount() const { return mPathItemCount; }
+ void setPathItemCount(int count) { mPathItemCount = count; emit pathItemCountChanged(); }
+
+signals:
+ void useModelChanged();
+ void pathItemCountChanged();
+
+private:
+ bool mError;
+ bool mUseModel;
+ int mPathItemCount;
+};
+
+class TestModel : public QAbstractListModel
+{
+public:
+ enum Roles { Name = Qt::UserRole+1, Number = Qt::UserRole+2 };
+
+ TestModel(QObject *parent=0) : QAbstractListModel(parent) {
+ QHash<int, QByteArray> roles;
+ roles[Name] = "name";
+ roles[Number] = "number";
+ setRoleNames(roles);
+ }
+
+ int rowCount(const QModelIndex &parent=QModelIndex()) const { Q_UNUSED(parent); return list.count(); }
+ QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const {
+ QVariant rv;
+ if (role == Name)
+ rv = list.at(index.row()).first;
+ else if (role == Number)
+ rv = list.at(index.row()).second;
+
+ return rv;
+ }
+
+ int count() const { return rowCount(); }
+ QString name(int index) const { return list.at(index).first; }
+ QString number(int index) const { return list.at(index).second; }
+
+ void addItem(const QString &name, const QString &number) {
+ beginInsertRows(QModelIndex(), list.count(), list.count());
+ list.append(QPair<QString,QString>(name, number));
+ endInsertRows();
+ }
+
+ void insertItem(int index, const QString &name, const QString &number) {
+ beginInsertRows(QModelIndex(), index, index);
+ list.insert(index, QPair<QString,QString>(name, number));
+ endInsertRows();
+ }
+
+ void removeItem(int index) {
+ beginRemoveRows(QModelIndex(), index, index);
+ list.removeAt(index);
+ endRemoveRows();
+ }
+
+ void moveItem(int from, int to) {
+ beginMoveRows(QModelIndex(), from, from, QModelIndex(), to);
+ list.move(from, to);
+ endMoveRows();
+ }
+
+ void modifyItem(int idx, const QString &name, const QString &number) {
+ list[idx] = QPair<QString,QString>(name, number);
+ emit dataChanged(index(idx,0), index(idx,0));
+ }
+
+private:
+ QList<QPair<QString,QString> > list;
+};
+
+
+tst_QSGPathView::tst_QSGPathView()
+{
+}
+
+void tst_QSGPathView::initValues()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/pathview1.qml"));
+ QSGPathView *obj = qobject_cast<QSGPathView*>(c.create());
+
+ QVERIFY(obj != 0);
+ QVERIFY(obj->path() == 0);
+ QVERIFY(obj->delegate() == 0);
+ QCOMPARE(obj->model(), QVariant());
+ QCOMPARE(obj->currentIndex(), 0);
+ QCOMPARE(obj->offset(), 0.);
+ QCOMPARE(obj->preferredHighlightBegin(), 0.);
+ QCOMPARE(obj->dragMargin(), 0.);
+ QCOMPARE(obj->count(), 0);
+ QCOMPARE(obj->pathItemCount(), -1);
+}
+
+void tst_QSGPathView::items()
+{
+ QSGView *canvas = createView();
+
+ TestModel model;
+ model.addItem("Fred", "12345");
+ model.addItem("John", "2345");
+ model.addItem("Bob", "54321");
+ model.addItem("Bill", "4321");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathview0.qml"));
+ qApp->processEvents();
+
+ QSGPathView *pathview = findItem<QSGPathView>(canvas->rootObject(), "view");
+ QVERIFY(pathview != 0);
+
+ QCOMPARE(pathview->count(), model.count());
+ QCOMPARE(canvas->rootObject()->property("count").toInt(), model.count());
+ QCOMPARE(pathview->childItems().count(), model.count()+1); // assumes all are visible, including highlight
+
+ for (int i = 0; i < model.count(); ++i) {
+ QSGText *name = findItem<QSGText>(pathview, "textName", i);
+ QVERIFY(name != 0);
+ QCOMPARE(name->text(), model.name(i));
+ QSGText *number = findItem<QSGText>(pathview, "textNumber", i);
+ QVERIFY(number != 0);
+ QCOMPARE(number->text(), model.number(i));
+ }
+
+ QDeclarativePath *path = qobject_cast<QDeclarativePath*>(pathview->path());
+ QVERIFY(path);
+
+ QVERIFY(pathview->highlightItem());
+ QPointF start = path->pointAt(0.0);
+ QPointF offset;
+ offset.setX(pathview->highlightItem()->width()/2);
+ offset.setY(pathview->highlightItem()->height()/2);
+ QCOMPARE(pathview->highlightItem()->pos() + offset, start);
+
+ delete canvas;
+}
+
+void tst_QSGPathView::pathview2()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/pathview2.qml"));
+ QSGPathView *obj = qobject_cast<QSGPathView*>(c.create());
+
+ QVERIFY(obj != 0);
+ QVERIFY(obj->path() != 0);
+ QVERIFY(obj->delegate() != 0);
+ QVERIFY(obj->model() != QVariant());
+ QCOMPARE(obj->currentIndex(), 0);
+ QCOMPARE(obj->offset(), 0.);
+ QCOMPARE(obj->preferredHighlightBegin(), 0.);
+ QCOMPARE(obj->dragMargin(), 0.);
+ QCOMPARE(obj->count(), 8);
+ QCOMPARE(obj->pathItemCount(), 10);
+}
+
+void tst_QSGPathView::pathview3()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/pathview3.qml"));
+ QSGPathView *obj = qobject_cast<QSGPathView*>(c.create());
+
+ QVERIFY(obj != 0);
+ QVERIFY(obj->path() != 0);
+ QVERIFY(obj->delegate() != 0);
+ QVERIFY(obj->model() != QVariant());
+ QCOMPARE(obj->currentIndex(), 0);
+ QCOMPARE(obj->offset(), 1.0);
+ QCOMPARE(obj->preferredHighlightBegin(), 0.5);
+ QCOMPARE(obj->dragMargin(), 24.);
+ QCOMPARE(obj->count(), 8);
+ QCOMPARE(obj->pathItemCount(), 4);
+}
+
+void tst_QSGPathView::path()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/pathtest.qml"));
+ QDeclarativePath *obj = qobject_cast<QDeclarativePath*>(c.create());
+
+ QVERIFY(obj != 0);
+ QCOMPARE(obj->startX(), 120.);
+ QCOMPARE(obj->startY(), 100.);
+ QVERIFY(obj->path() != QPainterPath());
+
+ QDeclarativeListReference list(obj, "pathElements");
+ QCOMPARE(list.count(), 5);
+
+ QDeclarativePathAttribute* attr = qobject_cast<QDeclarativePathAttribute*>(list.at(0));
+ QVERIFY(attr != 0);
+ QCOMPARE(attr->name(), QString("scale"));
+ QCOMPARE(attr->value(), 1.0);
+
+ QDeclarativePathQuad* quad = qobject_cast<QDeclarativePathQuad*>(list.at(1));
+ QVERIFY(quad != 0);
+ QCOMPARE(quad->x(), 120.);
+ QCOMPARE(quad->y(), 25.);
+ QCOMPARE(quad->controlX(), 260.);
+ QCOMPARE(quad->controlY(), 75.);
+
+ QDeclarativePathPercent* perc = qobject_cast<QDeclarativePathPercent*>(list.at(2));
+ QVERIFY(perc != 0);
+ QCOMPARE(perc->value(), 0.3);
+
+ QDeclarativePathLine* line = qobject_cast<QDeclarativePathLine*>(list.at(3));
+ QVERIFY(line != 0);
+ QCOMPARE(line->x(), 120.);
+ QCOMPARE(line->y(), 100.);
+
+ QDeclarativePathCubic* cubic = qobject_cast<QDeclarativePathCubic*>(list.at(4));
+ QVERIFY(cubic != 0);
+ QCOMPARE(cubic->x(), 180.);
+ QCOMPARE(cubic->y(), 0.);
+ QCOMPARE(cubic->control1X(), -10.);
+ QCOMPARE(cubic->control1Y(), 90.);
+ QCOMPARE(cubic->control2X(), 210.);
+ QCOMPARE(cubic->control2Y(), 90.);
+}
+
+void tst_QSGPathView::dataModel()
+{
+ QSGView *canvas = createView();
+ canvas->show();
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ TestModel model;
+ model.addItem("red", "1");
+ model.addItem("green", "2");
+ model.addItem("blue", "3");
+ model.addItem("purple", "4");
+ model.addItem("gray", "5");
+ model.addItem("brown", "6");
+ model.addItem("yellow", "7");
+ model.addItem("thistle", "8");
+ model.addItem("cyan", "9");
+ model.addItem("peachpuff", "10");
+ model.addItem("powderblue", "11");
+ model.addItem("gold", "12");
+ model.addItem("sandybrown", "13");
+
+ ctxt->setContextProperty("testData", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/datamodel.qml"));
+ qApp->processEvents();
+
+ QSGPathView *pathview = qobject_cast<QSGPathView*>(canvas->rootObject());
+ QVERIFY(pathview != 0);
+
+ QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
+ QVERIFY(testObject->error() == false);
+
+ QSGItem *item = findItem<QSGItem>(pathview, "wrapper", 0);
+ QVERIFY(item);
+ QCOMPARE(item->x(), 110.0);
+ QCOMPARE(item->y(), 10.0);
+
+ model.insertItem(4, "orange", "10");
+ QTest::qWait(100);
+
+ QCOMPARE(canvas->rootObject()->property("viewCount").toInt(), model.count());
+ QTRY_COMPARE(findItems<QSGItem>(pathview, "wrapper").count(), 14);
+
+ QVERIFY(pathview->currentIndex() == 0);
+
+ QSGText *text = findItem<QSGText>(pathview, "myText", 4);
+ QVERIFY(text);
+ QCOMPARE(text->text(), model.name(4));
+
+ model.removeItem(2);
+ QCOMPARE(canvas->rootObject()->property("viewCount").toInt(), model.count());
+ text = findItem<QSGText>(pathview, "myText", 2);
+ QVERIFY(text);
+ QCOMPARE(text->text(), model.name(2));
+
+ testObject->setPathItemCount(5);
+ QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
+ QVERIFY(testObject->error() == false);
+
+ QTRY_COMPARE(findItems<QSGItem>(pathview, "wrapper").count(), 5);
+
+ QSGRectangle *testItem = findItem<QSGRectangle>(pathview, "wrapper", 4);
+ QVERIFY(testItem != 0);
+ testItem = findItem<QSGRectangle>(pathview, "wrapper", 5);
+ QVERIFY(testItem == 0);
+
+ pathview->setCurrentIndex(1);
+
+ model.insertItem(2, "pink", "2");
+ QTest::qWait(100);
+
+ QTRY_COMPARE(findItems<QSGItem>(pathview, "wrapper").count(), 5);
+ QVERIFY(pathview->currentIndex() == 1);
+
+ text = findItem<QSGText>(pathview, "myText", 2);
+ QVERIFY(text);
+ QCOMPARE(text->text(), model.name(2));
+
+ model.removeItem(3);
+ QTRY_COMPARE(findItems<QSGItem>(pathview, "wrapper").count(), 5);
+ text = findItem<QSGText>(pathview, "myText", 3);
+ QVERIFY(text);
+ QCOMPARE(text->text(), model.name(3));
+
+ model.moveItem(3, 5);
+ QTRY_COMPARE(findItems<QSGItem>(pathview, "wrapper").count(), 5);
+ QList<QSGItem*> items = findItems<QSGItem>(pathview, "wrapper");
+ foreach (QSGItem *item, items) {
+ QVERIFY(item->property("onPath").toBool());
+ }
+
+ // QTBUG-14199
+ pathview->setOffset(7);
+ pathview->setOffset(0);
+ QCOMPARE(findItems<QSGItem>(pathview, "wrapper").count(), 5);
+
+ pathview->setCurrentIndex(model.count()-1);
+ model.removeItem(model.count()-1);
+ QCOMPARE(pathview->currentIndex(), model.count()-1);
+
+ delete canvas;
+ delete testObject;
+}
+
+void tst_QSGPathView::pathMoved()
+{
+ QSGView *canvas = createView();
+ canvas->show();
+
+ TestModel model;
+ model.addItem("Ben", "12345");
+ model.addItem("Bohn", "2345");
+ model.addItem("Bob", "54321");
+ model.addItem("Bill", "4321");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathview0.qml"));
+ qApp->processEvents();
+
+ QSGPathView *pathview = findItem<QSGPathView>(canvas->rootObject(), "view");
+ QVERIFY(pathview != 0);
+
+ QSGRectangle *firstItem = findItem<QSGRectangle>(pathview, "wrapper", 0);
+ QVERIFY(firstItem);
+ QDeclarativePath *path = qobject_cast<QDeclarativePath*>(pathview->path());
+ QVERIFY(path);
+ QPointF start = path->pointAt(0.0);
+ QPointF offset;//Center of item is at point, but pos is from corner
+ offset.setX(firstItem->width()/2);
+ offset.setY(firstItem->height()/2);
+ QCOMPARE(firstItem->pos() + offset, start);
+ pathview->setOffset(1.0);
+
+ for(int i=0; i<model.count(); i++){
+ QSGRectangle *curItem = findItem<QSGRectangle>(pathview, "wrapper", i);
+ QPointF itemPos(path->pointAt(0.25 + i*0.25));
+ QCOMPARE(curItem->pos() + offset, QPointF(qRound(itemPos.x()), qRound(itemPos.y())));
+ }
+
+ pathview->setOffset(0.0);
+ QCOMPARE(firstItem->pos() + offset, start);
+
+ // Change delegate size
+ pathview->setOffset(0.1);
+ pathview->setOffset(0.0);
+ canvas->rootObject()->setProperty("delegateWidth", 30);
+ QCOMPARE(firstItem->width(), 30.0);
+ offset.setX(firstItem->width()/2);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
+ // Change delegate scale
+ pathview->setOffset(0.1);
+ pathview->setOffset(0.0);
+ canvas->rootObject()->setProperty("delegateScale", 1.2);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
+ delete canvas;
+}
+
+void tst_QSGPathView::setCurrentIndex()
+{
+ QSGView *canvas = createView();
+ canvas->show();
+
+ TestModel model;
+ model.addItem("Ben", "12345");
+ model.addItem("Bohn", "2345");
+ model.addItem("Bob", "54321");
+ model.addItem("Bill", "4321");
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathview0.qml"));
+ qApp->processEvents();
+
+ QSGPathView *pathview = findItem<QSGPathView>(canvas->rootObject(), "view");
+ QVERIFY(pathview != 0);
+
+ QSGRectangle *firstItem = findItem<QSGRectangle>(pathview, "wrapper", 0);
+ QVERIFY(firstItem);
+ QDeclarativePath *path = qobject_cast<QDeclarativePath*>(pathview->path());
+ QVERIFY(path);
+ QPointF start = path->pointAt(0.0);
+ QPointF offset;//Center of item is at point, but pos is from corner
+ offset.setX(firstItem->width()/2);
+ offset.setY(firstItem->height()/2);
+ QCOMPARE(firstItem->pos() + offset, start);
+ QCOMPARE(canvas->rootObject()->property("currentA").toInt(), 0);
+ QCOMPARE(canvas->rootObject()->property("currentB").toInt(), 0);
+
+ pathview->setCurrentIndex(2);
+
+ firstItem = findItem<QSGRectangle>(pathview, "wrapper", 2);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+ QCOMPARE(canvas->rootObject()->property("currentA").toInt(), 2);
+ QCOMPARE(canvas->rootObject()->property("currentB").toInt(), 2);
+
+ pathview->decrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 1);
+ firstItem = findItem<QSGRectangle>(pathview, "wrapper", 1);
+ QVERIFY(firstItem);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
+ pathview->decrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 0);
+ firstItem = findItem<QSGRectangle>(pathview, "wrapper", 0);
+ QVERIFY(firstItem);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
+ pathview->decrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 3);
+ firstItem = findItem<QSGRectangle>(pathview, "wrapper", 3);
+ QVERIFY(firstItem);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
+ pathview->incrementCurrentIndex();
+ QTRY_COMPARE(pathview->currentIndex(), 0);
+ firstItem = findItem<QSGRectangle>(pathview, "wrapper", 0);
+ QVERIFY(firstItem);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
+ delete canvas;
+}
+
+void tst_QSGPathView::resetModel()
+{
+ QSGView *canvas = createView();
+
+ QStringList strings;
+ strings << "one" << "two" << "three";
+ QStringListModel model(strings);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/displaypath.qml"));
+ qApp->processEvents();
+
+ QSGPathView *pathview = findItem<QSGPathView>(canvas->rootObject(), "view");
+ QVERIFY(pathview != 0);
+
+ QCOMPARE(pathview->count(), model.rowCount());
+
+ for (int i = 0; i < model.rowCount(); ++i) {
+ QSGText *display = findItem<QSGText>(pathview, "displayText", i);
+ QVERIFY(display != 0);
+ QCOMPARE(display->text(), strings.at(i));
+ }
+
+ strings.clear();
+ strings << "four" << "five" << "six" << "seven";
+ model.setStringList(strings);
+
+ QCOMPARE(pathview->count(), model.rowCount());
+
+ for (int i = 0; i < model.rowCount(); ++i) {
+ QSGText *display = findItem<QSGText>(pathview, "displayText", i);
+ QVERIFY(display != 0);
+ QCOMPARE(display->text(), strings.at(i));
+ }
+
+ delete canvas;
+}
+
+void tst_QSGPathView::propertyChanges()
+{
+ QSGView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QSGPathView *pathView = canvas->rootObject()->findChild<QSGPathView*>("pathView");
+ QVERIFY(pathView);
+
+ QSignalSpy snapPositionSpy(pathView, SIGNAL(preferredHighlightBeginChanged()));
+ QSignalSpy dragMarginSpy(pathView, SIGNAL(dragMarginChanged()));
+
+ QCOMPARE(pathView->preferredHighlightBegin(), 0.1);
+ QCOMPARE(pathView->dragMargin(), 5.0);
+
+ pathView->setPreferredHighlightBegin(0.4);
+ pathView->setPreferredHighlightEnd(0.4);
+ pathView->setDragMargin(20.0);
+
+ QCOMPARE(pathView->preferredHighlightBegin(), 0.4);
+ QCOMPARE(pathView->preferredHighlightEnd(), 0.4);
+ QCOMPARE(pathView->dragMargin(), 20.0);
+
+ QCOMPARE(snapPositionSpy.count(), 1);
+ QCOMPARE(dragMarginSpy.count(), 1);
+
+ pathView->setPreferredHighlightBegin(0.4);
+ pathView->setPreferredHighlightEnd(0.4);
+ pathView->setDragMargin(20.0);
+
+ QCOMPARE(snapPositionSpy.count(), 1);
+ QCOMPARE(dragMarginSpy.count(), 1);
+ delete canvas;
+}
+
+void tst_QSGPathView::pathChanges()
+{
+ QSGView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QSGPathView *pathView = canvas->rootObject()->findChild<QSGPathView*>("pathView");
+ QVERIFY(pathView);
+
+ QDeclarativePath *path = canvas->rootObject()->findChild<QDeclarativePath*>("path");
+ QVERIFY(path);
+
+ QSignalSpy startXSpy(path, SIGNAL(startXChanged()));
+ QSignalSpy startYSpy(path, SIGNAL(startYChanged()));
+
+ QCOMPARE(path->startX(), 220.0);
+ QCOMPARE(path->startY(), 200.0);
+
+ path->setStartX(240.0);
+ path->setStartY(220.0);
+
+ QCOMPARE(path->startX(), 240.0);
+ QCOMPARE(path->startY(), 220.0);
+
+ QCOMPARE(startXSpy.count(),1);
+ QCOMPARE(startYSpy.count(),1);
+
+ path->setStartX(240);
+ path->setStartY(220);
+
+ QCOMPARE(startXSpy.count(),1);
+ QCOMPARE(startYSpy.count(),1);
+
+ QDeclarativePath *alternatePath = canvas->rootObject()->findChild<QDeclarativePath*>("alternatePath");
+ QVERIFY(alternatePath);
+
+ QSignalSpy pathSpy(pathView, SIGNAL(pathChanged()));
+
+ QCOMPARE(pathView->path(), path);
+
+ pathView->setPath(alternatePath);
+ QCOMPARE(pathView->path(), alternatePath);
+ QCOMPARE(pathSpy.count(),1);
+
+ pathView->setPath(alternatePath);
+ QCOMPARE(pathSpy.count(),1);
+
+ QDeclarativePathAttribute *pathAttribute = canvas->rootObject()->findChild<QDeclarativePathAttribute*>("pathAttribute");
+ QVERIFY(pathAttribute);
+
+ QSignalSpy nameSpy(pathAttribute, SIGNAL(nameChanged()));
+ QCOMPARE(pathAttribute->name(), QString("opacity"));
+
+ pathAttribute->setName("scale");
+ QCOMPARE(pathAttribute->name(), QString("scale"));
+ QCOMPARE(nameSpy.count(),1);
+
+ pathAttribute->setName("scale");
+ QCOMPARE(nameSpy.count(),1);
+ delete canvas;
+}
+
+void tst_QSGPathView::componentChanges()
+{
+ QSGView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QSGPathView *pathView = canvas->rootObject()->findChild<QSGPathView*>("pathView");
+ QVERIFY(pathView);
+
+ QDeclarativeComponent delegateComponent(canvas->engine());
+ delegateComponent.setData("import QtQuick 2.0; Text { text: '<b>Name:</b> ' + name }", QUrl::fromLocalFile(""));
+
+ QSignalSpy delegateSpy(pathView, SIGNAL(delegateChanged()));
+
+ pathView->setDelegate(&delegateComponent);
+ QCOMPARE(pathView->delegate(), &delegateComponent);
+ QCOMPARE(delegateSpy.count(),1);
+
+ pathView->setDelegate(&delegateComponent);
+ QCOMPARE(delegateSpy.count(),1);
+ delete canvas;
+}
+
+void tst_QSGPathView::modelChanges()
+{
+ QSGView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/propertychanges.qml"));
+
+ QSGPathView *pathView = canvas->rootObject()->findChild<QSGPathView*>("pathView");
+ QVERIFY(pathView);
+
+ QDeclarativeListModel *alternateModel = canvas->rootObject()->findChild<QDeclarativeListModel*>("alternateModel");
+ QVERIFY(alternateModel);
+ QVariant modelVariant = QVariant::fromValue(alternateModel);
+ QSignalSpy modelSpy(pathView, SIGNAL(modelChanged()));
+
+ pathView->setModel(modelVariant);
+ QCOMPARE(pathView->model(), modelVariant);
+ QCOMPARE(modelSpy.count(),1);
+
+ pathView->setModel(modelVariant);
+ QCOMPARE(modelSpy.count(),1);
+
+ pathView->setModel(QVariant());
+ QCOMPARE(modelSpy.count(),2);
+
+ delete canvas;
+}
+
+void tst_QSGPathView::pathUpdateOnStartChanged()
+{
+ QSGView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathUpdateOnStartChanged.qml"));
+
+ QSGPathView *pathView = canvas->rootObject()->findChild<QSGPathView*>("pathView");
+ QVERIFY(pathView);
+
+ QDeclarativePath *path = canvas->rootObject()->findChild<QDeclarativePath*>("path");
+ QVERIFY(path);
+ QCOMPARE(path->startX(), 400.0);
+ QCOMPARE(path->startY(), 300.0);
+
+ QSGItem *item = findItem<QSGItem>(pathView, "wrapper", 0);
+ QVERIFY(item);
+ QCOMPARE(item->x(), path->startX() - item->width() / 2.0);
+ QCOMPARE(item->y(), path->startY() - item->height() / 2.0);
+
+ delete canvas;
+}
+
+void tst_QSGPathView::package()
+{
+ QSGView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathview_package.qml"));
+
+ QSGPathView *pathView = canvas->rootObject()->findChild<QSGPathView*>("photoPathView");
+ QVERIFY(pathView);
+
+ QSGItem *item = findItem<QSGItem>(pathView, "pathItem");
+ QVERIFY(item);
+ QVERIFY(item->scale() != 1.0);
+
+ delete canvas;
+}
+
+//QTBUG-13017
+void tst_QSGPathView::emptyModel()
+{
+ QSGView *canvas = createView();
+
+ QStringListModel model;
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("emptyModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/emptymodel.qml"));
+ qApp->processEvents();
+
+ QSGPathView *pathview = qobject_cast<QSGPathView*>(canvas->rootObject());
+ QVERIFY(pathview != 0);
+
+ QCOMPARE(pathview->offset(), qreal(0.0));
+
+ delete canvas;
+}
+
+void tst_QSGPathView::closed()
+{
+ QDeclarativeEngine engine;
+
+ {
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/openPath.qml"));
+ QDeclarativePath *obj = qobject_cast<QDeclarativePath*>(c.create());
+ QVERIFY(obj);
+ QCOMPARE(obj->isClosed(), false);
+ delete obj;
+ }
+
+ {
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/closedPath.qml"));
+ QDeclarativePath *obj = qobject_cast<QDeclarativePath*>(c.create());
+ QVERIFY(obj);
+ QCOMPARE(obj->isClosed(), true);
+ delete obj;
+ }
+}
+
+// QTBUG-14239
+void tst_QSGPathView::pathUpdate()
+{
+ QSGView *canvas = createView();
+ QVERIFY(canvas);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pathUpdate.qml"));
+
+ QSGPathView *pathView = canvas->rootObject()->findChild<QSGPathView*>("pathView");
+ QVERIFY(pathView);
+
+ QSGItem *item = findItem<QSGItem>(pathView, "wrapper", 0);
+ QVERIFY(item);
+ QCOMPARE(item->x(), 150.0);
+
+ delete canvas;
+}
+
+void tst_QSGPathView::visualDataModel()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/vdm.qml"));
+
+ QSGPathView *obj = qobject_cast<QSGPathView*>(c.create());
+ QVERIFY(obj != 0);
+
+ QCOMPARE(obj->count(), 3);
+
+ delete obj;
+}
+
+void tst_QSGPathView::undefinedPath()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/undefinedpath.qml"));
+
+ QSGPathView *obj = qobject_cast<QSGPathView*>(c.create());
+ QVERIFY(obj != 0);
+
+ QCOMPARE(obj->count(), 3);
+
+ delete obj;
+}
+
+void tst_QSGPathView::mouseDrag()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/dragpath.qml"));
+ canvas->show();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas));
+
+ QSGPathView *pathview = qobject_cast<QSGPathView*>(canvas->rootObject());
+ QVERIFY(pathview != 0);
+
+ int current = pathview->currentIndex();
+
+ QTest::mousePress(canvas, Qt::LeftButton, 0, QPoint(10,100));
+
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(30,100), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(canvas, &mv);
+ }
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(90,100), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(canvas, &mv);
+ }
+
+ QVERIFY(pathview->currentIndex() != current);
+
+ QTest::mouseRelease(canvas, Qt::LeftButton, 0, QPoint(40,100));
+
+ delete canvas;
+}
+
+void tst_QSGPathView::treeModel()
+{
+ QSGView *canvas = createView();
+ canvas->show();
+
+ QStandardItemModel model;
+ initStandardTreeModel(&model);
+ canvas->engine()->rootContext()->setContextProperty("myModel", &model);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/treemodel.qml"));
+
+ QSGPathView *pathview = qobject_cast<QSGPathView*>(canvas->rootObject());
+ QVERIFY(pathview != 0);
+ QCOMPARE(pathview->count(), 3);
+
+ QSGText *item = findItem<QSGText>(pathview, "wrapper", 0);
+ QVERIFY(item);
+ QCOMPARE(item->text(), QLatin1String("Row 1 Item"));
+
+ QVERIFY(QMetaObject::invokeMethod(pathview, "setRoot", Q_ARG(QVariant, 1)));
+ QCOMPARE(pathview->count(), 1);
+
+ QTRY_VERIFY(item = findItem<QSGText>(pathview, "wrapper", 0));
+ QTRY_COMPARE(item->text(), QLatin1String("Row 2 Child Item"));
+
+ delete canvas;
+}
+
+void tst_QSGPathView::changePreferredHighlight()
+{
+ QSGView *canvas = createView();
+ canvas->setFixedSize(400,200);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/dragpath.qml"));
+ canvas->show();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas));
+
+ QSGPathView *pathview = qobject_cast<QSGPathView*>(canvas->rootObject());
+ QVERIFY(pathview != 0);
+
+ int current = pathview->currentIndex();
+ QCOMPARE(current, 0);
+
+ QSGRectangle *firstItem = findItem<QSGRectangle>(pathview, "wrapper", 0);
+ QVERIFY(firstItem);
+ QDeclarativePath *path = qobject_cast<QDeclarativePath*>(pathview->path());
+ QVERIFY(path);
+ QPointF start = path->pointAt(0.5);
+ start.setX(qRound(start.x()));
+ start.setY(qRound(start.y()));
+ QPointF offset;//Center of item is at point, but pos is from corner
+ offset.setX(firstItem->width()/2);
+ offset.setY(firstItem->height()/2);
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+
+ pathview->setPreferredHighlightBegin(0.8);
+ pathview->setPreferredHighlightEnd(0.8);
+ start = path->pointAt(0.8);
+ start.setX(qRound(start.x()));
+ start.setY(qRound(start.y()));
+ QTRY_COMPARE(firstItem->pos() + offset, start);
+ QCOMPARE(pathview->currentIndex(), 0);
+
+ delete canvas;
+}
+
+QSGView *tst_QSGPathView::createView()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ return canvas;
+}
+
+/*
+ Find an item with the specified objectName. If index is supplied then the
+ item must also evaluate the {index} expression equal to index
+ */
+template<typename T>
+T *tst_QSGPathView::findItem(QSGItem *parent, const QString &objectName, int index)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->childItems().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ if (index != -1) {
+ QDeclarativeExpression e(qmlContext(item), item, "index");
+ if (e.evaluate().toInt() == index)
+ return static_cast<T*>(item);
+ } else {
+ return static_cast<T*>(item);
+ }
+ }
+ item = findItem<T>(item, objectName, index);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
+
+template<typename T>
+QList<T*> tst_QSGPathView::findItems(QSGItem *parent, const QString &objectName)
+{
+ QList<T*> items;
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->QSGItem::children().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName))
+ items.append(static_cast<T*>(item));
+ items += findItems<T>(item, objectName);
+ }
+
+ return items;
+}
+
+QTEST_MAIN(tst_QSGPathView)
+
+#include "tst_qsgpathview.moc"
diff --git a/tests/auto/declarative/qsgpincharea/data/pinchproperties.qml b/tests/auto/declarative/qsgpincharea/data/pinchproperties.qml
new file mode 100644
index 0000000000..a1cd11302f
--- /dev/null
+++ b/tests/auto/declarative/qsgpincharea/data/pinchproperties.qml
@@ -0,0 +1,46 @@
+import QtQuick 2.0
+Rectangle {
+ id: whiteRect
+ property variant center
+ property real scale
+ width: 240; height: 320
+ color: "white"
+ Rectangle {
+ id: blackRect
+ objectName: "blackrect"
+ color: "black"
+ y: 50
+ x: 50
+ width: 100
+ height: 100
+ opacity: (whiteRect.width-blackRect.x+whiteRect.height-blackRect.y-199)/200
+ Text { text: blackRect.opacity}
+ PinchArea {
+ id: pincharea
+ objectName: "pincharea"
+ anchors.fill: parent
+ pinch.target: blackRect
+ pinch.dragAxis: Drag.XandYAxis
+ pinch.minimumX: 0
+ pinch.maximumX: whiteRect.width-blackRect.width
+ pinch.minimumY: 0
+ pinch.maximumY: whiteRect.height-blackRect.height
+ pinch.minimumScale: 1.0
+ pinch.maximumScale: 2.0
+ pinch.minimumRotation: 0.0
+ pinch.maximumRotation: 90.0
+ onPinchStarted: {
+ whiteRect.center = pinch.center
+ whiteRect.scale = pinch.scale
+ }
+ onPinchUpdated: {
+ whiteRect.center = pinch.center
+ whiteRect.scale = pinch.scale
+ }
+ onPinchFinished: {
+ whiteRect.center = pinch.center
+ whiteRect.scale = pinch.scale
+ }
+ }
+ }
+ }
diff --git a/tests/auto/declarative/qsgpincharea/qsgpincharea.pro b/tests/auto/declarative/qsgpincharea/qsgpincharea.pro
new file mode 100644
index 0000000000..cf1ff0cac2
--- /dev/null
+++ b/tests/auto/declarative/qsgpincharea/qsgpincharea.pro
@@ -0,0 +1,17 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsgpincharea.cpp
+
+symbian: {
+ importFiles.sources = data
+ importFiles.path = .
+ DEPLOYMENT = importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qsgpincharea/tst_qsgpincharea.cpp b/tests/auto/declarative/qsgpincharea/tst_qsgpincharea.cpp
new file mode 100644
index 0000000000..b6dd1c7831
--- /dev/null
+++ b/tests/auto/declarative/qsgpincharea/tst_qsgpincharea.cpp
@@ -0,0 +1,324 @@
+/****************************************************************************
+**
+** 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 <QtTest/QtTest>
+#include <QtTest/QSignalSpy>
+#include <private/qsgpincharea_p.h>
+#include <private/qsgrectangle_p.h>
+#include <QtDeclarative/qsgview.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtOpenGL/QGLShaderProgram>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_QSGPinchArea: public QObject
+{
+ Q_OBJECT
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void pinchProperties();
+ void scale();
+ void pan();
+
+private:
+ QSGView *createView();
+};
+void tst_QSGPinchArea::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("PinchArea needs OpenGL 2.0", SkipAll);
+}
+
+void tst_QSGPinchArea::cleanupTestCase()
+{
+
+}
+void tst_QSGPinchArea::pinchProperties()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pinchproperties.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGPinchArea *pinchArea = canvas->rootObject()->findChild<QSGPinchArea*>("pincharea");
+ QSGPinch *pinch = pinchArea->pinch();
+ QVERIFY(pinchArea != 0);
+ QVERIFY(pinch != 0);
+
+ // target
+ QSGItem *blackRect = canvas->rootObject()->findChild<QSGItem*>("blackrect");
+ QVERIFY(blackRect != 0);
+ QVERIFY(blackRect == pinch->target());
+ QSGItem *rootItem = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(rootItem != 0);
+ QSignalSpy targetSpy(pinch, SIGNAL(targetChanged()));
+ pinch->setTarget(rootItem);
+ QCOMPARE(targetSpy.count(),1);
+ pinch->setTarget(rootItem);
+ QCOMPARE(targetSpy.count(),1);
+
+ // axis
+ QCOMPARE(pinch->axis(), QSGPinch::XandYAxis);
+ QSignalSpy axisSpy(pinch, SIGNAL(dragAxisChanged()));
+ pinch->setAxis(QSGPinch::XAxis);
+ QCOMPARE(pinch->axis(), QSGPinch::XAxis);
+ QCOMPARE(axisSpy.count(),1);
+ pinch->setAxis(QSGPinch::XAxis);
+ QCOMPARE(axisSpy.count(),1);
+
+ // minimum and maximum drag properties
+ QSignalSpy xminSpy(pinch, SIGNAL(minimumXChanged()));
+ QSignalSpy xmaxSpy(pinch, SIGNAL(maximumXChanged()));
+ QSignalSpy yminSpy(pinch, SIGNAL(minimumYChanged()));
+ QSignalSpy ymaxSpy(pinch, SIGNAL(maximumYChanged()));
+
+ QCOMPARE(pinch->xmin(), 0.0);
+ QCOMPARE(pinch->xmax(), rootItem->width()-blackRect->width());
+ QCOMPARE(pinch->ymin(), 0.0);
+ QCOMPARE(pinch->ymax(), rootItem->height()-blackRect->height());
+
+ pinch->setXmin(10);
+ pinch->setXmax(10);
+ pinch->setYmin(10);
+ pinch->setYmax(10);
+
+ QCOMPARE(pinch->xmin(), 10.0);
+ QCOMPARE(pinch->xmax(), 10.0);
+ QCOMPARE(pinch->ymin(), 10.0);
+ QCOMPARE(pinch->ymax(), 10.0);
+
+ QCOMPARE(xminSpy.count(),1);
+ QCOMPARE(xmaxSpy.count(),1);
+ QCOMPARE(yminSpy.count(),1);
+ QCOMPARE(ymaxSpy.count(),1);
+
+ pinch->setXmin(10);
+ pinch->setXmax(10);
+ pinch->setYmin(10);
+ pinch->setYmax(10);
+
+ QCOMPARE(xminSpy.count(),1);
+ QCOMPARE(xmaxSpy.count(),1);
+ QCOMPARE(yminSpy.count(),1);
+ QCOMPARE(ymaxSpy.count(),1);
+
+ // minimum and maximum scale properties
+ QSignalSpy scaleMinSpy(pinch, SIGNAL(minimumScaleChanged()));
+ QSignalSpy scaleMaxSpy(pinch, SIGNAL(maximumScaleChanged()));
+
+ QCOMPARE(pinch->minimumScale(), 1.0);
+ QCOMPARE(pinch->maximumScale(), 2.0);
+
+ pinch->setMinimumScale(0.5);
+ pinch->setMaximumScale(1.5);
+
+ QCOMPARE(pinch->minimumScale(), 0.5);
+ QCOMPARE(pinch->maximumScale(), 1.5);
+
+ QCOMPARE(scaleMinSpy.count(),1);
+ QCOMPARE(scaleMaxSpy.count(),1);
+
+ pinch->setMinimumScale(0.5);
+ pinch->setMaximumScale(1.5);
+
+ QCOMPARE(scaleMinSpy.count(),1);
+ QCOMPARE(scaleMaxSpy.count(),1);
+
+ // minimum and maximum rotation properties
+ QSignalSpy rotMinSpy(pinch, SIGNAL(minimumRotationChanged()));
+ QSignalSpy rotMaxSpy(pinch, SIGNAL(maximumRotationChanged()));
+
+ QCOMPARE(pinch->minimumRotation(), 0.0);
+ QCOMPARE(pinch->maximumRotation(), 90.0);
+
+ pinch->setMinimumRotation(-90.0);
+ pinch->setMaximumRotation(45.0);
+
+ QCOMPARE(pinch->minimumRotation(), -90.0);
+ QCOMPARE(pinch->maximumRotation(), 45.0);
+
+ QCOMPARE(rotMinSpy.count(),1);
+ QCOMPARE(rotMaxSpy.count(),1);
+
+ pinch->setMinimumRotation(-90.0);
+ pinch->setMaximumRotation(45.0);
+
+ QCOMPARE(rotMinSpy.count(),1);
+ QCOMPARE(rotMaxSpy.count(),1);
+
+ delete canvas;
+}
+
+QTouchEvent::TouchPoint makeTouchPoint(int id, QPoint p, QSGView *v, QSGItem *i)
+{
+ QTouchEvent::TouchPoint touchPoint(id);
+ touchPoint.setPos(i->mapFromScene(p));
+ touchPoint.setScreenPos(v->mapToGlobal(p));
+ touchPoint.setScenePos(p);
+ return touchPoint;
+}
+
+void tst_QSGPinchArea::scale()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pinchproperties.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QTest::qWaitForWindowShown(canvas);
+ QVERIFY(canvas->rootObject() != 0);
+ qApp->processEvents();
+
+ QSGPinchArea *pinchArea = canvas->rootObject()->findChild<QSGPinchArea*>("pincharea");
+ QSGPinch *pinch = pinchArea->pinch();
+ QVERIFY(pinchArea != 0);
+ QVERIFY(pinch != 0);
+
+ QSGItem *root = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(root != 0);
+
+ // target
+ QSGItem *blackRect = canvas->rootObject()->findChild<QSGItem*>("blackrect");
+ QVERIFY(blackRect != 0);
+
+ QPoint p1(80, 80);
+ QPoint p2(100, 100);
+
+ QTest::touchEvent(canvas).press(0, p1);
+ QTest::touchEvent(canvas).stationary(0).press(1, p2);
+ p1 -= QPoint(10,10);
+ p2 += QPoint(10,10);
+ QTest::touchEvent(canvas).move(0, p1).move(1, p2);
+
+ QCOMPARE(root->property("scale").toReal(), 1.0);
+
+ p1 -= QPoint(10,10);
+ p2 += QPoint(10,10);
+ QTest::touchEvent(canvas).move(0, p1).move(1, p2);
+
+ QCOMPARE(root->property("scale").toReal(), 1.5);
+ QCOMPARE(root->property("center").toPointF(), QPointF(40, 40)); // blackrect is at 50,50
+ QCOMPARE(blackRect->scale(), 1.5);
+
+ // scale beyond bound
+ p1 -= QPoint(50,50);
+ p2 += QPoint(50,50);
+ QTest::touchEvent(canvas).move(0, p1).move(1, p2);
+
+ QCOMPARE(blackRect->scale(), 2.0);
+
+ QTest::touchEvent(canvas).release(0, p1).release(1, p2);
+
+ delete canvas;
+}
+
+void tst_QSGPinchArea::pan()
+{
+ QSGView *canvas = createView();
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/pinchproperties.qml"));
+ canvas->show();
+ canvas->setFocus();
+ QTest::qWaitForWindowShown(canvas);
+ QVERIFY(canvas->rootObject() != 0);
+ qApp->processEvents();
+
+ QSGPinchArea *pinchArea = canvas->rootObject()->findChild<QSGPinchArea*>("pincharea");
+ QSGPinch *pinch = pinchArea->pinch();
+ QVERIFY(pinchArea != 0);
+ QVERIFY(pinch != 0);
+
+ QSGItem *root = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(root != 0);
+
+ // target
+ QSGItem *blackRect = canvas->rootObject()->findChild<QSGItem*>("blackrect");
+ QVERIFY(blackRect != 0);
+
+ QPoint p1(80, 80);
+ QPoint p2(100, 100);
+
+ QTest::touchEvent(canvas).press(0, p1);
+ QTest::touchEvent(canvas).stationary(0).press(1, p2);
+ p1 += QPoint(10,10);
+ p2 += QPoint(10,10);
+ QTest::touchEvent(canvas).move(0, p1).move(1, p2);
+
+ QCOMPARE(root->property("scale").toReal(), 1.0);
+
+ p1 += QPoint(10,10);
+ p2 += QPoint(10,10);
+ QTest::touchEvent(canvas).move(0, p1).move(1, p2);
+
+ QCOMPARE(root->property("center").toPointF(), QPointF(60, 60)); // blackrect is at 50,50
+
+ QCOMPARE(blackRect->x(), 60.0);
+ QCOMPARE(blackRect->y(), 60.0);
+
+ // pan x beyond bound
+ p1 += QPoint(100,100);
+ p2 += QPoint(100,100);
+ QTest::touchEvent(canvas).move(0, p1).move(1, p2);
+
+ QCOMPARE(blackRect->x(), 140.0);
+ QCOMPARE(blackRect->y(), 160.0);
+
+ QTest::touchEvent(canvas).release(0, p1).release(1, p2);
+
+ delete canvas;
+}
+
+QSGView *tst_QSGPinchArea::createView()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setAttribute(Qt::WA_AcceptTouchEvents);
+ canvas->setFixedSize(240,320);
+
+ return canvas;
+}
+
+QTEST_MAIN(tst_QSGPinchArea)
+
+#include "tst_qsgpincharea.moc"
diff --git a/tests/auto/declarative/qsgpositioners/data/flow-testimplicitsize.qml b/tests/auto/declarative/qsgpositioners/data/flow-testimplicitsize.qml
new file mode 100644
index 0000000000..c32b78676c
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/flow-testimplicitsize.qml
@@ -0,0 +1,19 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 300; height: 200;
+
+ property int flowLayout: 1
+
+ Flow {
+ objectName: "flow"
+ layoutDirection: (flowLayout == 2) ? Qt.RightToLeft : Qt.LeftToRight
+ flow: (flowLayout == 1) ? Flow.TopToBottom : Flow.LeftToRight;
+
+ spacing: 20
+ anchors.horizontalCenter: parent.horizontalCenter
+ Rectangle { color: "red"; width: 100; height: 50 }
+ Rectangle { color: "blue"; width: 100; height: 50 }
+ }
+}
+
diff --git a/tests/auto/declarative/qsgpositioners/data/flowtest-toptobottom.qml b/tests/auto/declarative/qsgpositioners/data/flowtest-toptobottom.qml
new file mode 100644
index 0000000000..a7d3ee13c7
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/flowtest-toptobottom.qml
@@ -0,0 +1,44 @@
+import QtQuick 2.0
+
+Item {
+ height: 90
+ width: 480
+ property bool testRightToLeft: false
+
+ Flow {
+ objectName: "flow"
+ height: parent.height
+ layoutDirection: testRightToLeft ? Qt.RightToLeft : Qt.LeftToRight
+ flow: Flow.TopToBottom
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "green"
+ width: 20
+ height: 50
+ }
+ Rectangle {
+ objectName: "three"
+ color: "blue"
+ width: 50
+ height: 20
+ }
+ Rectangle {
+ objectName: "four"
+ color: "cyan"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "five"
+ color: "magenta"
+ width: 10
+ height: 10
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/flowtest.qml b/tests/auto/declarative/qsgpositioners/data/flowtest.qml
new file mode 100644
index 0000000000..40b042dd79
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/flowtest.qml
@@ -0,0 +1,43 @@
+import QtQuick 2.0
+
+Item {
+ width: 90
+ height: 480
+ property bool testRightToLeft: false
+
+ Flow {
+ objectName: "flow"
+ width: parent.width
+ layoutDirection: testRightToLeft ? Qt.RightToLeft : Qt.LeftToRight
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "green"
+ width: 20
+ height: 50
+ }
+ Rectangle {
+ objectName: "three"
+ color: "blue"
+ width: 50
+ height: 20
+ }
+ Rectangle {
+ objectName: "four"
+ color: "cyan"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "five"
+ color: "magenta"
+ width: 10
+ height: 10
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/grid-animated.qml b/tests/auto/declarative/qsgpositioners/data/grid-animated.qml
new file mode 100644
index 0000000000..56e8f26953
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/grid-animated.qml
@@ -0,0 +1,64 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ property bool testRightToLeft: true
+
+ Grid {
+ objectName: "grid"
+ columns: 3
+ layoutDirection: testRightToLeft ? Qt.RightToLeft : Qt.LeftToRight
+ add: Transition {
+ NumberAnimation {
+ properties: "x,y";
+ }
+ }
+ move: Transition {
+ NumberAnimation {
+ properties: "x,y";
+ }
+ }
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ x: -100
+ y: -100
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ x: -100
+ y: -100
+ opacity: 0
+ color: "green"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "three"
+ color: "blue"
+ x: -100
+ y: -100
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "four"
+ color: "cyan"
+ x: -100
+ y: -100
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "five"
+ color: "magenta"
+ x: -100
+ y: -100
+ width: 50
+ height: 50
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/grid-spacing.qml b/tests/auto/declarative/qsgpositioners/data/grid-spacing.qml
new file mode 100644
index 0000000000..535a39037f
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/grid-spacing.qml
@@ -0,0 +1,41 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ Grid {
+ objectName: "grid"
+ columns: 3
+ spacing: 4
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "green"
+ width: 20
+ height: 50
+ }
+ Rectangle {
+ objectName: "three"
+ color: "blue"
+ width: 50
+ height: 20
+ }
+ Rectangle {
+ objectName: "four"
+ color: "cyan"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "five"
+ color: "magenta"
+ width: 10
+ height: 10
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/grid-toptobottom.qml b/tests/auto/declarative/qsgpositioners/data/grid-toptobottom.qml
new file mode 100644
index 0000000000..45559aab5d
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/grid-toptobottom.qml
@@ -0,0 +1,41 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ Grid {
+ objectName: "grid"
+ rows: 3
+ flow: Grid.TopToBottom
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "green"
+ width: 20
+ height: 50
+ }
+ Rectangle {
+ objectName: "three"
+ color: "blue"
+ width: 50
+ height: 20
+ }
+ Rectangle {
+ objectName: "four"
+ color: "cyan"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "five"
+ color: "magenta"
+ width: 10
+ height: 10
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/gridtest.qml b/tests/auto/declarative/qsgpositioners/data/gridtest.qml
new file mode 100644
index 0000000000..50bec1377b
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/gridtest.qml
@@ -0,0 +1,42 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ property bool testRightToLeft: false
+ Grid {
+ layoutDirection: testRightToLeft ? Qt.RightToLeft : Qt.LeftToRight
+ objectName: "grid"
+ columns: 3
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "green"
+ width: 20
+ height: 50
+ }
+ Rectangle {
+ objectName: "three"
+ color: "blue"
+ width: 30
+ height: 20
+ }
+ Rectangle {
+ objectName: "four"
+ color: "cyan"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "five"
+ color: "magenta"
+ width: 10
+ height: 10
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/gridzerocolumns.qml b/tests/auto/declarative/qsgpositioners/data/gridzerocolumns.qml
new file mode 100644
index 0000000000..a252f279c3
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/gridzerocolumns.qml
@@ -0,0 +1,40 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ Grid {
+ objectName: "grid"
+ columns: 0
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "green"
+ width: 20
+ height: 50
+ }
+ Rectangle {
+ objectName: "three"
+ color: "blue"
+ width: 50
+ height: 20
+ }
+ Rectangle {
+ objectName: "four"
+ color: "cyan"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "five"
+ color: "magenta"
+ width: 10
+ height: 10
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/horizontal-animated.qml b/tests/auto/declarative/qsgpositioners/data/horizontal-animated.qml
new file mode 100644
index 0000000000..d19cc46c8b
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/horizontal-animated.qml
@@ -0,0 +1,44 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ property bool testRightToLeft: false
+
+ Row {
+ objectName: "row"
+ layoutDirection: testRightToLeft ? Qt.RightToLeft : Qt.LeftToRight
+ add: Transition {
+ NumberAnimation {
+ properties: "x";
+ }
+ }
+ move: Transition {
+ NumberAnimation {
+ properties: "x";
+ }
+ }
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ x: -100;
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "blue"
+ x: -100;
+ opacity: 0
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "three"
+ x: -100;
+ color: "green"
+ width: 50
+ height: 50
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/horizontal-spacing.qml b/tests/auto/declarative/qsgpositioners/data/horizontal-spacing.qml
new file mode 100644
index 0000000000..c6ff75ac6b
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/horizontal-spacing.qml
@@ -0,0 +1,31 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ property bool testRightToLeft: false
+
+ Row {
+ objectName: "row"
+ spacing: 10
+ layoutDirection: testRightToLeft ? Qt.RightToLeft : Qt.LeftToRight
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "red"
+ width: 20
+ height: 10
+ }
+ Rectangle {
+ objectName: "three"
+ color: "red"
+ width: 40
+ height: 20
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/horizontal.qml b/tests/auto/declarative/qsgpositioners/data/horizontal.qml
new file mode 100644
index 0000000000..235ee78c9b
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/horizontal.qml
@@ -0,0 +1,29 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ property bool testRightToLeft: false
+ Row {
+ objectName: "row"
+ layoutDirection: testRightToLeft ? Qt.RightToLeft : Qt.LeftToRight
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "red"
+ width: 20
+ height: 10
+ }
+ Rectangle {
+ objectName: "three"
+ color: "red"
+ width: 40
+ height: 20
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/propertychangestest.qml b/tests/auto/declarative/qsgpositioners/data/propertychangestest.qml
new file mode 100644
index 0000000000..c9fd62b012
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/propertychangestest.qml
@@ -0,0 +1,39 @@
+import QtQuick 2.0
+
+Grid {
+ id: myGrid
+
+ width: 270
+ height: 270
+ x: 3
+ y: 3
+ columns: 4
+ spacing: 3
+
+ add: columnTransition
+ move: columnTransition
+
+ Repeater {
+ model: 20
+ Rectangle { color: "black"; width: 50; height: 50 }
+ }
+
+ data: [
+ Transition {
+ id: rowTransition
+ objectName: "rowTransition"
+ NumberAnimation {
+ properties: "x,y";
+ easing.type: "OutInCubic"
+ }
+ },
+ Transition {
+ id: columnTransition
+ objectName: "columnTransition"
+ NumberAnimation {
+ properties: "x,y";
+ easing.type: "OutInCubic"
+ }
+ }
+ ]
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/repeatertest.qml b/tests/auto/declarative/qsgpositioners/data/repeatertest.qml
new file mode 100644
index 0000000000..d90e1cf160
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/repeatertest.qml
@@ -0,0 +1,38 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ Row {
+ Repeater{ model: 3;
+ delegate: Component {
+ Rectangle {
+ color: "red"
+ width: 50
+ height: 50
+ z: {if(index == 0){2;}else if(index == 1){1;} else{3;}}
+ objectName: {if(index == 0){"one";}else if(index == 1){"two";} else{"three";}}
+ }
+ }
+ }
+ }
+
+ //This crashed once (QTBUG-16959) because the repeater ended up on the end of the list
+ //If this grid just instantiates without crashing, then it has not regressed.
+ Grid {
+ id: grid
+ rows: 2
+ flow: Grid.TopToBottom
+
+ Repeater {
+ model: 13
+ Rectangle {
+ color: "goldenrod"
+ width: 100
+ height: 100
+ radius: 10
+ border.width: 1
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/vertical-animated.qml b/tests/auto/declarative/qsgpositioners/data/vertical-animated.qml
new file mode 100644
index 0000000000..69f1b7eb25
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/vertical-animated.qml
@@ -0,0 +1,41 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ Column {
+ objectName: "column"
+ add: Transition {
+ NumberAnimation {
+ properties: "y";
+ }
+ }
+ move: Transition {
+ NumberAnimation {
+ properties: "y";
+ }
+ }
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ y: -100
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "blue"
+ y: -100
+ opacity: 0
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "three"
+ color: "red"
+ y: -100
+ width: 50
+ height: 50
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/vertical-spacing.qml b/tests/auto/declarative/qsgpositioners/data/vertical-spacing.qml
new file mode 100644
index 0000000000..7087961651
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/vertical-spacing.qml
@@ -0,0 +1,28 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ Column {
+ objectName: "column"
+ spacing: 10
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "red"
+ width: 20
+ height: 10
+ }
+ Rectangle {
+ objectName: "three"
+ color: "red"
+ width: 40
+ height: 20
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/data/vertical.qml b/tests/auto/declarative/qsgpositioners/data/vertical.qml
new file mode 100644
index 0000000000..0c3a81f008
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/data/vertical.qml
@@ -0,0 +1,27 @@
+import QtQuick 2.0
+
+Item {
+ width: 640
+ height: 480
+ Column {
+ objectName: "column"
+ Rectangle {
+ objectName: "one"
+ color: "red"
+ width: 50
+ height: 50
+ }
+ Rectangle {
+ objectName: "two"
+ color: "red"
+ width: 20
+ height: 10
+ }
+ Rectangle {
+ objectName: "three"
+ color: "red"
+ width: 40
+ height: 20
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgpositioners/qsgpositioners.pro b/tests/auto/declarative/qsgpositioners/qsgpositioners.pro
new file mode 100644
index 0000000000..9602c721c2
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/qsgpositioners.pro
@@ -0,0 +1,18 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+SOURCES += tst_qsgpositioners.cpp
+macx:CONFIG -= app_bundle
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
+QT += script-private
+QT += opengl-private
diff --git a/tests/auto/declarative/qsgpositioners/tst_qsgpositioners.cpp b/tests/auto/declarative/qsgpositioners/tst_qsgpositioners.cpp
new file mode 100644
index 0000000000..4e29b65d16
--- /dev/null
+++ b/tests/auto/declarative/qsgpositioners/tst_qsgpositioners.cpp
@@ -0,0 +1,1268 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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 <QtTest/QtTest>
+#include <private/qlistmodelinterface_p.h>
+#include <qsgview.h>
+#include <qdeclarativeengine.h>
+#include <private/qsgrectangle_p.h>
+#include <private/qsgpositioners_p.h>
+#include <private/qdeclarativetransition_p.h>
+#include <private/qsgitem_p.h>
+#include <qdeclarativeexpression.h>
+#include <QtGui/qgraphicswidget.h>
+#include "../../../shared/util.h"
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_qsgpositioners : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qsgpositioners();
+
+private slots:
+ void test_horizontal();
+ void test_horizontal_rtl();
+ void test_horizontal_spacing();
+ void test_horizontal_spacing_rightToLeft();
+ void test_horizontal_animated();
+ void test_horizontal_animated_rightToLeft();
+ void test_vertical();
+ void test_vertical_spacing();
+ void test_vertical_animated();
+ void test_grid();
+ void test_grid_topToBottom();
+ void test_grid_rightToLeft();
+ void test_grid_spacing();
+ void test_grid_animated();
+ void test_grid_animated_rightToLeft();
+ void test_grid_zero_columns();
+ void test_propertychanges();
+ void test_repeater();
+ void test_flow();
+ void test_flow_rightToLeft();
+ void test_flow_topToBottom();
+ void test_flow_resize();
+ void test_flow_resize_rightToLeft();
+ void test_flow_implicit_resize();
+ void test_conflictinganchors();
+ void test_mirroring();
+private:
+ QSGView *createView(const QString &filename);
+};
+
+tst_qsgpositioners::tst_qsgpositioners()
+{
+}
+
+void tst_qsgpositioners::test_horizontal()
+{
+ QSGView *canvas = createView(SRCDIR "/data/horizontal.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", false);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 50.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 70.0);
+ QCOMPARE(three->y(), 0.0);
+
+ QSGItem *row = canvas->rootObject()->findChild<QSGItem*>("row");
+ QCOMPARE(row->width(), 110.0);
+ QCOMPARE(row->height(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_horizontal_rtl()
+{
+ QSGView *canvas = createView(SRCDIR "/data/horizontal.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", true);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+
+ QCOMPARE(one->x(), 60.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 40.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 0.0);
+ QCOMPARE(three->y(), 0.0);
+
+ QSGItem *row = canvas->rootObject()->findChild<QSGItem*>("row");
+ QCOMPARE(row->width(), 110.0);
+ QCOMPARE(row->height(), 50.0);
+
+ // Change the width of the row and check that items stay to the right
+ row->setWidth(200);
+ QCOMPARE(one->x(), 150.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 130.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 90.0);
+ QCOMPARE(three->y(), 0.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_horizontal_spacing()
+{
+ QSGView *canvas = createView(SRCDIR "/data/horizontal-spacing.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", false);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 60.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 90.0);
+ QCOMPARE(three->y(), 0.0);
+
+ QSGItem *row = canvas->rootObject()->findChild<QSGItem*>("row");
+ QCOMPARE(row->width(), 130.0);
+ QCOMPARE(row->height(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_horizontal_spacing_rightToLeft()
+{
+ QSGView *canvas = createView(SRCDIR "/data/horizontal-spacing.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", true);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+
+ QCOMPARE(one->x(), 80.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 50.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 00.0);
+ QCOMPARE(three->y(), 0.0);
+
+ QSGItem *row = canvas->rootObject()->findChild<QSGItem*>("row");
+ QCOMPARE(row->width(), 130.0);
+ QCOMPARE(row->height(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_horizontal_animated()
+{
+ QSGView *canvas = createView(SRCDIR "/data/horizontal-animated.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", false);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+
+ //Note that they animate in
+ QCOMPARE(one->x(), -100.0);
+ QCOMPARE(two->x(), -100.0);
+ QCOMPARE(three->x(), -100.0);
+
+ QSGItem *row = canvas->rootObject()->findChild<QSGItem*>("row");
+ QVERIFY(row);
+ QCOMPARE(row->width(), 100.0);
+ QCOMPARE(row->height(), 50.0);
+
+ //QTRY_COMPARE used instead of waiting for the expected time of animation completion
+ //Note that this means the duration of the animation is NOT tested
+
+ QTRY_COMPARE(one->x(), 0.0);
+ QTRY_COMPARE(one->y(), 0.0);
+ QTRY_COMPARE(two->opacity(), 0.0);
+ QTRY_COMPARE(two->x(), -100.0);//Not 'in' yet
+ QTRY_COMPARE(two->y(), 0.0);
+ QTRY_COMPARE(three->x(), 50.0);
+ QTRY_COMPARE(three->y(), 0.0);
+
+ //Add 'two'
+ two->setOpacity(1.0);
+ QCOMPARE(two->opacity(), 1.0);
+
+ // New size should be immediate
+ QCOMPARE(row->width(), 150.0);
+ QCOMPARE(row->height(), 50.0);
+
+ QTest::qWait(0);//Let the animation start
+ QCOMPARE(two->x(), -100.0);
+ QCOMPARE(three->x(), 50.0);
+
+ QTRY_COMPARE(two->x(), 50.0);
+ QTRY_COMPARE(three->x(), 100.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_horizontal_animated_rightToLeft()
+{
+ QSGView *canvas = createView(SRCDIR "/data/horizontal-animated.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", true);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+
+ //Note that they animate in
+ QCOMPARE(one->x(), -100.0);
+ QCOMPARE(two->x(), -100.0);
+ QCOMPARE(three->x(), -100.0);
+
+ QSGItem *row = canvas->rootObject()->findChild<QSGItem*>("row");
+ QVERIFY(row);
+ QCOMPARE(row->width(), 100.0);
+ QCOMPARE(row->height(), 50.0);
+
+ //QTRY_COMPARE used instead of waiting for the expected time of animation completion
+ //Note that this means the duration of the animation is NOT tested
+
+ QTRY_COMPARE(one->x(), 50.0);
+ QTRY_COMPARE(one->y(), 0.0);
+ QTRY_COMPARE(two->opacity(), 0.0);
+ QTRY_COMPARE(two->x(), -100.0);//Not 'in' yet
+ QTRY_COMPARE(two->y(), 0.0);
+ QTRY_COMPARE(three->x(), 0.0);
+ QTRY_COMPARE(three->y(), 0.0);
+
+ //Add 'two'
+ two->setOpacity(1.0);
+ QCOMPARE(two->opacity(), 1.0);
+
+ // New size should be immediate
+ QCOMPARE(row->width(), 150.0);
+ QCOMPARE(row->height(), 50.0);
+
+ QTest::qWait(0);//Let the animation start
+ QCOMPARE(one->x(), 50.0);
+ QCOMPARE(two->x(), -100.0);
+
+ QTRY_COMPARE(one->x(), 100.0);
+ QTRY_COMPARE(two->x(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_vertical()
+{
+ QSGView *canvas = createView(SRCDIR "/data/vertical.qml");
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 0.0);
+ QCOMPARE(two->y(), 50.0);
+ QCOMPARE(three->x(), 0.0);
+ QCOMPARE(three->y(), 60.0);
+
+ QSGItem *column = canvas->rootObject()->findChild<QSGItem*>("column");
+ QVERIFY(column);
+ QCOMPARE(column->height(), 80.0);
+ QCOMPARE(column->width(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_vertical_spacing()
+{
+ QSGView *canvas = createView(SRCDIR "/data/vertical-spacing.qml");
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 0.0);
+ QCOMPARE(two->y(), 60.0);
+ QCOMPARE(three->x(), 0.0);
+ QCOMPARE(three->y(), 80.0);
+
+ QSGItem *column = canvas->rootObject()->findChild<QSGItem*>("column");
+ QCOMPARE(column->height(), 100.0);
+ QCOMPARE(column->width(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_vertical_animated()
+{
+ QSGView *canvas = createView(SRCDIR "/data/vertical-animated.qml");
+
+ //Note that they animate in
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QCOMPARE(one->y(), -100.0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QCOMPARE(two->y(), -100.0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QCOMPARE(three->y(), -100.0);
+
+ QSGItem *column = canvas->rootObject()->findChild<QSGItem*>("column");
+ QVERIFY(column);
+ QCOMPARE(column->height(), 100.0);
+ QCOMPARE(column->width(), 50.0);
+
+ //QTRY_COMPARE used instead of waiting for the expected time of animation completion
+ //Note that this means the duration of the animation is NOT tested
+
+ QTRY_COMPARE(one->y(), 0.0);
+ QTRY_COMPARE(one->x(), 0.0);
+ QTRY_COMPARE(two->opacity(), 0.0);
+ QTRY_COMPARE(two->y(), -100.0);//Not 'in' yet
+ QTRY_COMPARE(two->x(), 0.0);
+ QTRY_COMPARE(three->y(), 50.0);
+ QTRY_COMPARE(three->x(), 0.0);
+
+ //Add 'two'
+ two->setOpacity(1.0);
+ QTRY_COMPARE(two->opacity(), 1.0);
+ QCOMPARE(column->height(), 150.0);
+ QCOMPARE(column->width(), 50.0);
+ QTest::qWait(0);//Let the animation start
+ QCOMPARE(two->y(), -100.0);
+ QCOMPARE(three->y(), 50.0);
+
+ QTRY_COMPARE(two->y(), 50.0);
+ QTRY_COMPARE(three->y(), 100.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_grid()
+{
+ QSGView *canvas = createView(SRCDIR "/data/gridtest.qml");
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 50.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 70.0);
+ QCOMPARE(three->y(), 0.0);
+ QCOMPARE(four->x(), 0.0);
+ QCOMPARE(four->y(), 50.0);
+ QCOMPARE(five->x(), 50.0);
+ QCOMPARE(five->y(), 50.0);
+
+ QSGGrid *grid = canvas->rootObject()->findChild<QSGGrid*>("grid");
+ QCOMPARE(grid->flow(), QSGGrid::LeftToRight);
+ QCOMPARE(grid->width(), 100.0);
+ QCOMPARE(grid->height(), 100.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_grid_topToBottom()
+{
+ QSGView *canvas = createView(SRCDIR "/data/grid-toptobottom.qml");
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 0.0);
+ QCOMPARE(two->y(), 50.0);
+ QCOMPARE(three->x(), 0.0);
+ QCOMPARE(three->y(), 100.0);
+ QCOMPARE(four->x(), 50.0);
+ QCOMPARE(four->y(), 0.0);
+ QCOMPARE(five->x(), 50.0);
+ QCOMPARE(five->y(), 50.0);
+
+ QSGGrid *grid = canvas->rootObject()->findChild<QSGGrid*>("grid");
+ QCOMPARE(grid->flow(), QSGGrid::TopToBottom);
+ QCOMPARE(grid->width(), 100.0);
+ QCOMPARE(grid->height(), 120.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_grid_rightToLeft()
+{
+ QSGView *canvas = createView(SRCDIR "/data/gridtest.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", true);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+
+ QCOMPARE(one->x(), 50.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 30.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 0.0);
+ QCOMPARE(three->y(), 0.0);
+ QCOMPARE(four->x(), 50.0);
+ QCOMPARE(four->y(), 50.0);
+ QCOMPARE(five->x(), 40.0);
+ QCOMPARE(five->y(), 50.0);
+
+ QSGGrid *grid = canvas->rootObject()->findChild<QSGGrid*>("grid");
+ QCOMPARE(grid->layoutDirection(), Qt::RightToLeft);
+ QCOMPARE(grid->width(), 100.0);
+ QCOMPARE(grid->height(), 100.0);
+
+ // Change the width of the grid and check that items stay to the right
+ grid->setWidth(200);
+ QCOMPARE(one->x(), 150.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 130.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 100.0);
+ QCOMPARE(three->y(), 0.0);
+ QCOMPARE(four->x(), 150.0);
+ QCOMPARE(four->y(), 50.0);
+ QCOMPARE(five->x(), 140.0);
+ QCOMPARE(five->y(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_grid_spacing()
+{
+ QSGView *canvas = createView(SRCDIR "/data/grid-spacing.qml");
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 54.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 78.0);
+ QCOMPARE(three->y(), 0.0);
+ QCOMPARE(four->x(), 0.0);
+ QCOMPARE(four->y(), 54.0);
+ QCOMPARE(five->x(), 54.0);
+ QCOMPARE(five->y(), 54.0);
+
+ QSGItem *grid = canvas->rootObject()->findChild<QSGItem*>("grid");
+ QCOMPARE(grid->width(), 128.0);
+ QCOMPARE(grid->height(), 104.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_grid_animated()
+{
+ QSGView *canvas = createView(SRCDIR "/data/grid-animated.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", false);
+
+ //Note that all animate in
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QCOMPARE(one->x(), -100.0);
+ QCOMPARE(one->y(), -100.0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QCOMPARE(two->x(), -100.0);
+ QCOMPARE(two->y(), -100.0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QCOMPARE(three->x(), -100.0);
+ QCOMPARE(three->y(), -100.0);
+
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QCOMPARE(four->x(), -100.0);
+ QCOMPARE(four->y(), -100.0);
+
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+ QCOMPARE(five->x(), -100.0);
+ QCOMPARE(five->y(), -100.0);
+
+ QSGItem *grid = canvas->rootObject()->findChild<QSGItem*>("grid");
+ QVERIFY(grid);
+ QCOMPARE(grid->width(), 150.0);
+ QCOMPARE(grid->height(), 100.0);
+
+ //QTRY_COMPARE used instead of waiting for the expected time of animation completion
+ //Note that this means the duration of the animation is NOT tested
+
+ QTRY_COMPARE(one->y(), 0.0);
+ QTRY_COMPARE(one->x(), 0.0);
+ QTRY_COMPARE(two->opacity(), 0.0);
+ QTRY_COMPARE(two->y(), -100.0);
+ QTRY_COMPARE(two->x(), -100.0);
+ QTRY_COMPARE(three->y(), 0.0);
+ QTRY_COMPARE(three->x(), 50.0);
+ QTRY_COMPARE(four->y(), 0.0);
+ QTRY_COMPARE(four->x(), 100.0);
+ QTRY_COMPARE(five->y(), 50.0);
+ QTRY_COMPARE(five->x(), 0.0);
+
+ //Add 'two'
+ two->setOpacity(1.0);
+ QCOMPARE(two->opacity(), 1.0);
+ QCOMPARE(grid->width(), 150.0);
+ QCOMPARE(grid->height(), 100.0);
+ QTest::qWait(0);//Let the animation start
+ QCOMPARE(two->x(), -100.0);
+ QCOMPARE(two->y(), -100.0);
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(three->x(), 50.0);
+ QCOMPARE(three->y(), 0.0);
+ QCOMPARE(four->x(), 100.0);
+ QCOMPARE(four->y(), 0.0);
+ QCOMPARE(five->x(), 0.0);
+ QCOMPARE(five->y(), 50.0);
+ //Let the animation complete
+ QTRY_COMPARE(two->x(), 50.0);
+ QTRY_COMPARE(two->y(), 0.0);
+ QTRY_COMPARE(one->x(), 0.0);
+ QTRY_COMPARE(one->y(), 0.0);
+ QTRY_COMPARE(three->x(), 100.0);
+ QTRY_COMPARE(three->y(), 0.0);
+ QTRY_COMPARE(four->x(), 0.0);
+ QTRY_COMPARE(four->y(), 50.0);
+ QTRY_COMPARE(five->x(), 50.0);
+ QTRY_COMPARE(five->y(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_grid_animated_rightToLeft()
+{
+ QSGView *canvas = createView(SRCDIR "/data/grid-animated.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", true);
+
+ //Note that all animate in
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QCOMPARE(one->x(), -100.0);
+ QCOMPARE(one->y(), -100.0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QCOMPARE(two->x(), -100.0);
+ QCOMPARE(two->y(), -100.0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QCOMPARE(three->x(), -100.0);
+ QCOMPARE(three->y(), -100.0);
+
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QCOMPARE(four->x(), -100.0);
+ QCOMPARE(four->y(), -100.0);
+
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+ QCOMPARE(five->x(), -100.0);
+ QCOMPARE(five->y(), -100.0);
+
+ QSGItem *grid = canvas->rootObject()->findChild<QSGItem*>("grid");
+ QVERIFY(grid);
+ QCOMPARE(grid->width(), 150.0);
+ QCOMPARE(grid->height(), 100.0);
+
+ //QTRY_COMPARE used instead of waiting for the expected time of animation completion
+ //Note that this means the duration of the animation is NOT tested
+
+ QTRY_COMPARE(one->y(), 0.0);
+ QTRY_COMPARE(one->x(), 100.0);
+ QTRY_COMPARE(two->opacity(), 0.0);
+ QTRY_COMPARE(two->y(), -100.0);
+ QTRY_COMPARE(two->x(), -100.0);
+ QTRY_COMPARE(three->y(), 0.0);
+ QTRY_COMPARE(three->x(), 50.0);
+ QTRY_COMPARE(four->y(), 0.0);
+ QTRY_COMPARE(four->x(), 0.0);
+ QTRY_COMPARE(five->y(), 50.0);
+ QTRY_COMPARE(five->x(), 100.0);
+
+ //Add 'two'
+ two->setOpacity(1.0);
+ QCOMPARE(two->opacity(), 1.0);
+ QCOMPARE(grid->width(), 150.0);
+ QCOMPARE(grid->height(), 100.0);
+ QTest::qWait(0);//Let the animation start
+ QCOMPARE(two->x(), -100.0);
+ QCOMPARE(two->y(), -100.0);
+ QCOMPARE(one->x(), 100.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(three->x(), 50.0);
+ QCOMPARE(three->y(), 0.0);
+ QCOMPARE(four->x(), 0.0);
+ QCOMPARE(four->y(), 0.0);
+ QCOMPARE(five->x(), 100.0);
+ QCOMPARE(five->y(), 50.0);
+ //Let the animation complete
+ QTRY_COMPARE(two->x(), 50.0);
+ QTRY_COMPARE(two->y(), 0.0);
+ QTRY_COMPARE(one->x(), 100.0);
+ QTRY_COMPARE(one->y(), 0.0);
+ QTRY_COMPARE(three->x(), 0.0);
+ QTRY_COMPARE(three->y(), 0.0);
+ QTRY_COMPARE(four->x(), 100.0);
+ QTRY_COMPARE(four->y(), 50.0);
+ QTRY_COMPARE(five->x(), 50.0);
+ QTRY_COMPARE(five->y(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_grid_zero_columns()
+{
+ QSGView *canvas = createView(SRCDIR "/data/gridzerocolumns.qml");
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 50.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 70.0);
+ QCOMPARE(three->y(), 0.0);
+ QCOMPARE(four->x(), 120.0);
+ QCOMPARE(four->y(), 0.0);
+ QCOMPARE(five->x(), 0.0);
+ QCOMPARE(five->y(), 50.0);
+
+ QSGItem *grid = canvas->rootObject()->findChild<QSGItem*>("grid");
+ QCOMPARE(grid->width(), 170.0);
+ QCOMPARE(grid->height(), 60.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_propertychanges()
+{
+ QSGView *canvas = createView(SRCDIR "/data/propertychangestest.qml");
+
+ QSGGrid *grid = qobject_cast<QSGGrid*>(canvas->rootObject());
+ QVERIFY(grid != 0);
+ QDeclarativeTransition *rowTransition = canvas->rootObject()->findChild<QDeclarativeTransition*>("rowTransition");
+ QDeclarativeTransition *columnTransition = canvas->rootObject()->findChild<QDeclarativeTransition*>("columnTransition");
+
+ QSignalSpy addSpy(grid, SIGNAL(addChanged()));
+ QSignalSpy moveSpy(grid, SIGNAL(moveChanged()));
+ QSignalSpy columnsSpy(grid, SIGNAL(columnsChanged()));
+ QSignalSpy rowsSpy(grid, SIGNAL(rowsChanged()));
+
+ QVERIFY(grid);
+ QVERIFY(rowTransition);
+ QVERIFY(columnTransition);
+ QCOMPARE(grid->add(), columnTransition);
+ QCOMPARE(grid->move(), columnTransition);
+ QCOMPARE(grid->columns(), 4);
+ QCOMPARE(grid->rows(), -1);
+
+ grid->setAdd(rowTransition);
+ grid->setMove(rowTransition);
+ QCOMPARE(grid->add(), rowTransition);
+ QCOMPARE(grid->move(), rowTransition);
+ QCOMPARE(addSpy.count(),1);
+ QCOMPARE(moveSpy.count(),1);
+
+ grid->setAdd(rowTransition);
+ grid->setMove(rowTransition);
+ QCOMPARE(addSpy.count(),1);
+ QCOMPARE(moveSpy.count(),1);
+
+ grid->setAdd(0);
+ grid->setMove(0);
+ QCOMPARE(addSpy.count(),2);
+ QCOMPARE(moveSpy.count(),2);
+
+ grid->setColumns(-1);
+ grid->setRows(3);
+ QCOMPARE(grid->columns(), -1);
+ QCOMPARE(grid->rows(), 3);
+ QCOMPARE(columnsSpy.count(),1);
+ QCOMPARE(rowsSpy.count(),1);
+
+ grid->setColumns(-1);
+ grid->setRows(3);
+ QCOMPARE(columnsSpy.count(),1);
+ QCOMPARE(rowsSpy.count(),1);
+
+ grid->setColumns(2);
+ grid->setRows(2);
+ QCOMPARE(columnsSpy.count(),2);
+ QCOMPARE(rowsSpy.count(),2);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_repeater()
+{
+ QSGView *canvas = createView(SRCDIR "/data/repeatertest.qml");
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 50.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 100.0);
+ QCOMPARE(three->y(), 0.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_flow()
+{
+ QSGView *canvas = createView(SRCDIR "/data/flowtest.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", false);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 50.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 0.0);
+ QCOMPARE(three->y(), 50.0);
+ QCOMPARE(four->x(), 0.0);
+ QCOMPARE(four->y(), 70.0);
+ QCOMPARE(five->x(), 50.0);
+ QCOMPARE(five->y(), 70.0);
+
+ QSGItem *flow = canvas->rootObject()->findChild<QSGItem*>("flow");
+ QVERIFY(flow);
+ QCOMPARE(flow->width(), 90.0);
+ QCOMPARE(flow->height(), 120.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_flow_rightToLeft()
+{
+ QSGView *canvas = createView(SRCDIR "/data/flowtest.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", true);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+
+ QCOMPARE(one->x(), 40.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 20.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 40.0);
+ QCOMPARE(three->y(), 50.0);
+ QCOMPARE(four->x(), 40.0);
+ QCOMPARE(four->y(), 70.0);
+ QCOMPARE(five->x(), 30.0);
+ QCOMPARE(five->y(), 70.0);
+
+ QSGItem *flow = canvas->rootObject()->findChild<QSGItem*>("flow");
+ QVERIFY(flow);
+ QCOMPARE(flow->width(), 90.0);
+ QCOMPARE(flow->height(), 120.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_flow_topToBottom()
+{
+ QSGView *canvas = createView(SRCDIR "/data/flowtest-toptobottom.qml");
+
+ canvas->rootObject()->setProperty("testRightToLeft", false);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 50.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 50.0);
+ QCOMPARE(three->y(), 50.0);
+ QCOMPARE(four->x(), 100.0);
+ QCOMPARE(four->y(), 00.0);
+ QCOMPARE(five->x(), 100.0);
+ QCOMPARE(five->y(), 50.0);
+
+ QSGItem *flow = canvas->rootObject()->findChild<QSGItem*>("flow");
+ QVERIFY(flow);
+ QCOMPARE(flow->height(), 90.0);
+ QCOMPARE(flow->width(), 150.0);
+
+ canvas->rootObject()->setProperty("testRightToLeft", true);
+
+ QVERIFY(flow);
+ QCOMPARE(flow->height(), 90.0);
+ QCOMPARE(flow->width(), 150.0);
+
+ QCOMPARE(one->x(), 100.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 80.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 50.0);
+ QCOMPARE(three->y(), 50.0);
+ QCOMPARE(four->x(), 0.0);
+ QCOMPARE(four->y(), 0.0);
+ QCOMPARE(five->x(), 40.0);
+ QCOMPARE(five->y(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_flow_resize()
+{
+ QSGView *canvas = createView(SRCDIR "/data/flowtest.qml");
+
+ QSGItem *root = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(root);
+ root->setWidth(125);
+ root->setProperty("testRightToLeft", false);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+
+ QCOMPARE(one->x(), 0.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 50.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 70.0);
+ QCOMPARE(three->y(), 0.0);
+ QCOMPARE(four->x(), 0.0);
+ QCOMPARE(four->y(), 50.0);
+ QCOMPARE(five->x(), 50.0);
+ QCOMPARE(five->y(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_flow_resize_rightToLeft()
+{
+ QSGView *canvas = createView(SRCDIR "/data/flowtest.qml");
+
+ QSGItem *root = qobject_cast<QSGItem*>(canvas->rootObject());
+ QVERIFY(root);
+ root->setWidth(125);
+ root->setProperty("testRightToLeft", true);
+
+ QSGRectangle *one = canvas->rootObject()->findChild<QSGRectangle*>("one");
+ QVERIFY(one != 0);
+ QSGRectangle *two = canvas->rootObject()->findChild<QSGRectangle*>("two");
+ QVERIFY(two != 0);
+ QSGRectangle *three = canvas->rootObject()->findChild<QSGRectangle*>("three");
+ QVERIFY(three != 0);
+ QSGRectangle *four = canvas->rootObject()->findChild<QSGRectangle*>("four");
+ QVERIFY(four != 0);
+ QSGRectangle *five = canvas->rootObject()->findChild<QSGRectangle*>("five");
+ QVERIFY(five != 0);
+
+ QCOMPARE(one->x(), 75.0);
+ QCOMPARE(one->y(), 0.0);
+ QCOMPARE(two->x(), 55.0);
+ QCOMPARE(two->y(), 0.0);
+ QCOMPARE(three->x(), 5.0);
+ QCOMPARE(three->y(), 0.0);
+ QCOMPARE(four->x(), 75.0);
+ QCOMPARE(four->y(), 50.0);
+ QCOMPARE(five->x(), 65.0);
+ QCOMPARE(five->y(), 50.0);
+
+ delete canvas;
+}
+
+void tst_qsgpositioners::test_flow_implicit_resize()
+{
+ QSGView *canvas = createView(SRCDIR "/data/flow-testimplicitsize.qml");
+ QVERIFY(canvas->rootObject() != 0);
+
+ QSGFlow *flow = canvas->rootObject()->findChild<QSGFlow*>("flow");
+ QVERIFY(flow != 0);
+
+ QCOMPARE(flow->width(), 100.0);
+ QCOMPARE(flow->height(), 120.0);
+
+ canvas->rootObject()->setProperty("flowLayout", 0);
+ QCOMPARE(flow->flow(), QSGFlow::LeftToRight);
+ QCOMPARE(flow->width(), 220.0);
+ QCOMPARE(flow->height(), 50.0);
+
+ canvas->rootObject()->setProperty("flowLayout", 1);
+ QCOMPARE(flow->flow(), QSGFlow::TopToBottom);
+ QCOMPARE(flow->width(), 100.0);
+ QCOMPARE(flow->height(), 120.0);
+
+ canvas->rootObject()->setProperty("flowLayout", 2);
+ QCOMPARE(flow->layoutDirection(), Qt::RightToLeft);
+ QCOMPARE(flow->width(), 220.0);
+ QCOMPARE(flow->height(), 50.0);
+
+ delete canvas;
+}
+
+QString warningMessage;
+
+void interceptWarnings(QtMsgType type, const char *msg)
+{
+ Q_UNUSED( type );
+ warningMessage = msg;
+}
+
+void tst_qsgpositioners::test_conflictinganchors()
+{
+ QtMsgHandler oldMsgHandler = qInstallMsgHandler(interceptWarnings);
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine);
+
+ component.setData("import QtQuick 2.0\nColumn { Item {} }", QUrl::fromLocalFile(""));
+ QSGItem *item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+ delete item;
+
+ component.setData("import QtQuick 2.0\nRow { Item {} }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+ delete item;
+
+ component.setData("import QtQuick 2.0\nGrid { Item {} }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+ delete item;
+
+ component.setData("import QtQuick 2.0\nFlow { Item {} }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+ delete item;
+
+ component.setData("import QtQuick 2.0\nColumn { Item { anchors.top: parent.top } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column"));
+ warningMessage.clear();
+ delete item;
+
+ component.setData("import QtQuick 2.0\nColumn { Item { anchors.centerIn: parent } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Column: Cannot specify top, bottom, verticalCenter, fill or centerIn anchors for items inside Column"));
+ warningMessage.clear();
+ delete item;
+
+ component.setData("import QtQuick 2.0\nColumn { Item { anchors.left: parent.left } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+ warningMessage.clear();
+ delete item;
+
+ component.setData("import QtQuick 2.0\nRow { Item { anchors.left: parent.left } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row"));
+ warningMessage.clear();
+ delete item;
+
+ component.setData("import QtQuick 2.0\nRow { Item { anchors.fill: parent } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Row: Cannot specify left, right, horizontalCenter, fill or centerIn anchors for items inside Row"));
+ warningMessage.clear();
+ delete item;
+
+ component.setData("import QtQuick 2.0\nRow { Item { anchors.top: parent.top } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QVERIFY(warningMessage.isEmpty());
+ warningMessage.clear();
+ delete item;
+
+ component.setData("import QtQuick 2.0\nGrid { Item { anchors.horizontalCenter: parent.horizontalCenter } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Grid: Cannot specify anchors for items inside Grid"));
+ warningMessage.clear();
+ delete item;
+
+ component.setData("import QtQuick 2.0\nGrid { Item { anchors.centerIn: parent } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Grid: Cannot specify anchors for items inside Grid"));
+ warningMessage.clear();
+ delete item;
+
+ component.setData("import QtQuick 2.0\nFlow { Item { anchors.verticalCenter: parent.verticalCenter } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Flow: Cannot specify anchors for items inside Flow"));
+ delete item;
+
+ component.setData("import QtQuick 2.0\nFlow { Item { anchors.fill: parent } }", QUrl::fromLocalFile(""));
+ item = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(item);
+ QCOMPARE(warningMessage, QString("file::2:1: QML Flow: Cannot specify anchors for items inside Flow"));
+ qInstallMsgHandler(oldMsgHandler);
+ delete item;
+}
+
+void tst_qsgpositioners::test_mirroring()
+{
+ QList<QString> qmlFiles;
+ qmlFiles << "horizontal.qml" << "gridtest.qml" << "flowtest.qml";
+ QList<QString> objectNames;
+ objectNames << "one" << "two" << "three" << "four" << "five";
+
+ foreach(const QString qmlFile, qmlFiles) {
+ QSGView *canvasA = createView(QString(SRCDIR) + "/data/" + qmlFile);
+ QSGItem *rootA = qobject_cast<QSGItem*>(canvasA->rootObject());
+
+ QSGView *canvasB = createView(QString(SRCDIR) + "/data/" + qmlFile);
+ QSGItem *rootB = qobject_cast<QSGItem*>(canvasB->rootObject());
+
+ rootA->setProperty("testRightToLeft", true); // layoutDirection: Qt.RightToLeft
+
+ // LTR != RTL
+ foreach(const QString objectName, objectNames) {
+ // horizontal.qml only has three items
+ if (qmlFile == QString("horizontal.qml") && objectName == QString("four"))
+ break;
+ QSGItem *itemA = rootA->findChild<QSGItem*>(objectName);
+ QSGItem *itemB = rootB->findChild<QSGItem*>(objectName);
+ QVERIFY(itemA->x() != itemB->x());
+ }
+
+ QSGItemPrivate* rootPrivateB = QSGItemPrivate::get(rootB);
+
+ rootPrivateB->effectiveLayoutMirror = true; // LayoutMirroring.enabled: true
+ rootPrivateB->isMirrorImplicit = false;
+ rootPrivateB->inheritMirrorFromItem = true; // LayoutMirroring.childrenInherit: true
+ rootPrivateB->resolveLayoutMirror();
+
+ // RTL == mirror
+ foreach(const QString objectName, objectNames) {
+ // horizontal.qml only has three items
+ if (qmlFile == QString("horizontal.qml") && objectName == QString("four"))
+ break;
+ QSGItem *itemA = rootA->findChild<QSGItem*>(objectName);
+ QSGItem *itemB = rootB->findChild<QSGItem*>(objectName);
+ QCOMPARE(itemA->x(), itemB->x());
+ }
+
+ rootA->setProperty("testRightToLeft", false); // layoutDirection: Qt.LeftToRight
+ rootB->setProperty("testRightToLeft", true); // layoutDirection: Qt.RightToLeft
+
+ // LTR == RTL + mirror
+ foreach(const QString objectName, objectNames) {
+ // horizontal.qml only has three items
+ if (qmlFile == QString("horizontal.qml") && objectName == QString("four"))
+ break;
+ QSGItem *itemA = rootA->findChild<QSGItem*>(objectName);
+ QSGItem *itemB = rootB->findChild<QSGItem*>(objectName);
+ QCOMPARE(itemA->x(), itemB->x());
+ }
+ delete canvasA;
+ delete canvasB;
+ }
+}
+
+QSGView *tst_qsgpositioners::createView(const QString &filename)
+{
+ QSGView *canvas = new QSGView(0);
+
+ canvas->setSource(QUrl::fromLocalFile(filename));
+
+ return canvas;
+}
+
+
+QTEST_MAIN(tst_qsgpositioners)
+
+#include "tst_qsgpositioners.moc"
diff --git a/tests/auto/declarative/qsgrepeater/data/intmodel.qml b/tests/auto/declarative/qsgrepeater/data/intmodel.qml
new file mode 100644
index 0000000000..30a650dd52
--- /dev/null
+++ b/tests/auto/declarative/qsgrepeater/data/intmodel.qml
@@ -0,0 +1,29 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: container
+ objectName: "container"
+ width: 240
+ height: 320
+ color: "white"
+
+ function checkProperties() {
+ testObject.error = false;
+ if (repeater.delegate != comp) {
+ console.log("delegate property incorrect");
+ testObject.error = true;
+ }
+ }
+
+ Component {
+ id: comp
+ Item{}
+ }
+
+ Repeater {
+ id: repeater
+ objectName: "repeater"
+ model: testData
+ delegate: comp
+ }
+}
diff --git a/tests/auto/declarative/qsgrepeater/data/itemlist.qml b/tests/auto/declarative/qsgrepeater/data/itemlist.qml
new file mode 100644
index 0000000000..174bfd4d18
--- /dev/null
+++ b/tests/auto/declarative/qsgrepeater/data/itemlist.qml
@@ -0,0 +1,68 @@
+// This example demonstrates placing items in a view using
+// a VisualItemModel
+
+import QtQuick 2.0
+
+Rectangle {
+ id: root
+ color: "lightgray"
+ width: 240
+ height: 320
+ property variant itemModel: itemModel1
+
+ function checkProperties() {
+ testObject.error = false;
+ if (testObject.useModel && view.model != root.itemModel) {
+ console.log("model property incorrect");
+ testObject.error = true;
+ }
+ }
+
+ function switchModel() {
+ root.itemModel = itemModel2
+ }
+
+ VisualItemModel {
+ id: itemModel1
+ objectName: "itemModel1"
+ Rectangle {
+ objectName: "item1"
+ height: 50; width: 100; color: "#FFFEF0"
+ Text { objectName: "text1"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ objectName: "item2"
+ height: 50; width: 100; color: "#F0FFF7"
+ Text { objectName: "text2"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ objectName: "item3"
+ height: 50; width: 100; color: "#F4F0FF"
+ Text { objectName: "text3"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ }
+
+ VisualItemModel {
+ id: itemModel2
+ objectName: "itemModel2"
+ Rectangle {
+ objectName: "item4"
+ height: 50; width: 100; color: "#FFFEF0"
+ Text { objectName: "text4"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ Rectangle {
+ objectName: "item5"
+ height: 50; width: 100; color: "#F0FFF7"
+ Text { objectName: "text5"; text: "index: " + parent.VisualItemModel.index; font.bold: true; anchors.centerIn: parent }
+ }
+ }
+
+ Column {
+ objectName: "container"
+ Repeater {
+ id: view
+ objectName: "repeater"
+ model: testObject.useModel ? root.itemModel : 0
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgrepeater/data/modelChanged.qml b/tests/auto/declarative/qsgrepeater/data/modelChanged.qml
new file mode 100644
index 0000000000..23af127e79
--- /dev/null
+++ b/tests/auto/declarative/qsgrepeater/data/modelChanged.qml
@@ -0,0 +1,26 @@
+import QtQuick 2.0
+
+Column {
+ Repeater {
+ id: repeater
+ objectName: "repeater"
+
+ property int itemsCount
+ property variant itemsFound: []
+
+ delegate: Rectangle {
+ color: "red"
+ width: (index+1)*50
+ height: 50
+ }
+
+ onModelChanged: {
+ repeater.itemsCount = repeater.count
+ var items = []
+ for (var i=0; i<repeater.count; i++)
+ items.push(repeater.itemAt(i))
+ repeater.itemsFound = items
+ }
+ }
+}
+
diff --git a/tests/auto/declarative/qsgrepeater/data/objlist.qml b/tests/auto/declarative/qsgrepeater/data/objlist.qml
new file mode 100644
index 0000000000..c49d5926e5
--- /dev/null
+++ b/tests/auto/declarative/qsgrepeater/data/objlist.qml
@@ -0,0 +1,21 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: container
+ objectName: "container"
+ width: 240
+ height: 320
+ color: "white"
+ Repeater {
+ id: repeater
+ objectName: "repeater"
+ model: testData
+ property int errors: 0
+ property int instantiated: 0
+ Component {
+ Item{
+ Component.onCompleted: {if(index!=modelData.idx) repeater.errors += 1; repeater.instantiated++}
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgrepeater/data/properties.qml b/tests/auto/declarative/qsgrepeater/data/properties.qml
new file mode 100644
index 0000000000..035431c784
--- /dev/null
+++ b/tests/auto/declarative/qsgrepeater/data/properties.qml
@@ -0,0 +1,11 @@
+import QtQuick 2.0
+
+Row {
+ Repeater {
+ objectName: "repeater"
+ model: 5
+ Text {
+ text: "I'm item " + index
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgrepeater/data/repeater1.qml b/tests/auto/declarative/qsgrepeater/data/repeater1.qml
new file mode 100644
index 0000000000..596dc9131e
--- /dev/null
+++ b/tests/auto/declarative/qsgrepeater/data/repeater1.qml
@@ -0,0 +1,28 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: container
+ objectName: "container"
+ width: 240
+ height: 320
+ color: "white"
+ Text {
+ text: "Zero"
+ }
+ Repeater {
+ id: repeater
+ objectName: "repeater"
+ width: 240
+ height: 320
+ model: testData
+ Component {
+ Text {
+ y: index*20
+ text: modelData
+ }
+ }
+ }
+ Text {
+ text: "Last"
+ }
+}
diff --git a/tests/auto/declarative/qsgrepeater/data/repeater2.qml b/tests/auto/declarative/qsgrepeater/data/repeater2.qml
new file mode 100644
index 0000000000..691fbda1e5
--- /dev/null
+++ b/tests/auto/declarative/qsgrepeater/data/repeater2.qml
@@ -0,0 +1,36 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 240
+ height: 320
+ color: "white"
+ Component {
+ id: myDelegate
+ Item {
+ objectName: "myDelegate"
+ height: 20
+ width: 240
+ Text {
+ objectName: "myName"
+ text: name
+ }
+ Text {
+ objectName: "myNumber"
+ x: 100
+ text: number
+ }
+ }
+ }
+ Column {
+ id: container
+ objectName: "container"
+ Repeater {
+ id: repeater
+ objectName: "repeater"
+ width: 240
+ height: 320
+ delegate: myDelegate
+ model: testData
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgrepeater/qsgrepeater.pro b/tests/auto/declarative/qsgrepeater/qsgrepeater.pro
new file mode 100644
index 0000000000..9c2891778d
--- /dev/null
+++ b/tests/auto/declarative/qsgrepeater/qsgrepeater.pro
@@ -0,0 +1,16 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsgrepeater.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+QT += core-private gui-private declarative-private
diff --git a/tests/auto/declarative/qsgrepeater/tst_qsgrepeater.cpp b/tests/auto/declarative/qsgrepeater/tst_qsgrepeater.cpp
new file mode 100644
index 0000000000..e9d79629c6
--- /dev/null
+++ b/tests/auto/declarative/qsgrepeater/tst_qsgrepeater.cpp
@@ -0,0 +1,697 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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 <QtTest/QtTest>
+#include <QtTest/QSignalSpy>
+#include <private/qlistmodelinterface_p.h>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qsgview.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <private/qsgrepeater_p.h>
+#include <private/qsgtext_p.h>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+inline QUrl TEST_FILE(const QString &filename)
+{
+ return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename);
+}
+
+class tst_QSGRepeater : public QObject
+{
+ Q_OBJECT
+public:
+ tst_QSGRepeater();
+
+private slots:
+ void numberModel();
+ void objectList();
+ void stringList();
+ void dataModel_adding();
+ void dataModel_removing();
+ void dataModel_changes();
+ void itemModel();
+ void resetModel();
+ void modelChanged();
+ void properties();
+
+private:
+ QSGView *createView();
+ template<typename T>
+ T *findItem(QObject *parent, const QString &objectName, int index);
+ template<typename T>
+ T *findItem(QObject *parent, const QString &id);
+};
+
+class TestObject : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(bool error READ error WRITE setError)
+ Q_PROPERTY(bool useModel READ useModel NOTIFY useModelChanged)
+
+public:
+ TestObject() : QObject(), mError(true), mUseModel(false) {}
+
+ bool error() const { return mError; }
+ void setError(bool err) { mError = err; }
+
+ bool useModel() const { return mUseModel; }
+ void setUseModel(bool use) { mUseModel = use; emit useModelChanged(); }
+
+signals:
+ void useModelChanged();
+
+private:
+ bool mError;
+ bool mUseModel;
+};
+
+class TestModel : public QAbstractListModel
+{
+public:
+ enum Roles { Name = Qt::UserRole+1, Number = Qt::UserRole+2 };
+
+ TestModel(QObject *parent=0) : QAbstractListModel(parent) {
+ QHash<int, QByteArray> roles;
+ roles[Name] = "name";
+ roles[Number] = "number";
+ setRoleNames(roles);
+ }
+
+ int rowCount(const QModelIndex &parent=QModelIndex()) const { Q_UNUSED(parent); return list.count(); }
+ QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const {
+ QVariant rv;
+ if (role == Name)
+ rv = list.at(index.row()).first;
+ else if (role == Number)
+ rv = list.at(index.row()).second;
+
+ return rv;
+ }
+
+ int count() const { return rowCount(); }
+ QString name(int index) const { return list.at(index).first; }
+ QString number(int index) const { return list.at(index).second; }
+
+ void addItem(const QString &name, const QString &number) {
+ emit beginInsertRows(QModelIndex(), list.count(), list.count());
+ list.append(QPair<QString,QString>(name, number));
+ emit endInsertRows();
+ }
+
+ void insertItem(int index, const QString &name, const QString &number) {
+ emit beginInsertRows(QModelIndex(), index, index);
+ list.insert(index, QPair<QString,QString>(name, number));
+ emit endInsertRows();
+ }
+
+ void removeItem(int index) {
+ emit beginRemoveRows(QModelIndex(), index, index);
+ list.removeAt(index);
+ emit endRemoveRows();
+ }
+
+ void moveItem(int from, int to) {
+ emit beginMoveRows(QModelIndex(), from, from, QModelIndex(), to);
+ list.move(from, to);
+ emit endMoveRows();
+ }
+
+ void modifyItem(int idx, const QString &name, const QString &number) {
+ list[idx] = QPair<QString,QString>(name, number);
+ emit dataChanged(index(idx,0), index(idx,0));
+ }
+
+private:
+ QList<QPair<QString,QString> > list;
+};
+
+
+tst_QSGRepeater::tst_QSGRepeater()
+{
+}
+
+void tst_QSGRepeater::numberModel()
+{
+ QSGView *canvas = createView();
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testData", 5);
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/intmodel.qml"));
+ qApp->processEvents();
+
+ QSGRepeater *repeater = findItem<QSGRepeater>(canvas->rootObject(), "repeater");
+ QVERIFY(repeater != 0);
+ QCOMPARE(repeater->parentItem()->childItems().count(), 5+1);
+
+ QVERIFY(!repeater->itemAt(-1));
+ for (int i=0; i<repeater->count(); i++)
+ QCOMPARE(repeater->itemAt(i), repeater->parentItem()->childItems().at(i));
+ QVERIFY(!repeater->itemAt(repeater->count()));
+
+ QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
+ QVERIFY(testObject->error() == false);
+
+ delete testObject;
+ delete canvas;
+}
+
+class MyObject : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int idx READ idx CONSTANT)
+public:
+ MyObject(int i) : QObject(), m_idx(i) {}
+
+ int idx() const { return m_idx; }
+
+ int m_idx;
+};
+
+void tst_QSGRepeater::objectList()
+{
+ QSGView *canvas = createView();
+ QObjectList data;
+ for(int i=0; i<100; i++)
+ data << new MyObject(i);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testData", QVariant::fromValue(data));
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/objlist.qml"));
+ qApp->processEvents();
+
+ QSGRepeater *repeater = findItem<QSGRepeater>(canvas->rootObject(), "repeater");
+ QVERIFY(repeater != 0);
+ QCOMPARE(repeater->property("errors").toInt(), 0);//If this fails either they are out of order or can't find the object's data
+ QCOMPARE(repeater->property("instantiated").toInt(), 100);
+
+ QVERIFY(!repeater->itemAt(-1));
+ for (int i=0; i<data.count(); i++)
+ QCOMPARE(repeater->itemAt(i), repeater->parentItem()->childItems().at(i));
+ QVERIFY(!repeater->itemAt(data.count()));
+
+ QSignalSpy addedSpy(repeater, SIGNAL(itemAdded(int,QSGItem*)));
+ QSignalSpy removedSpy(repeater, SIGNAL(itemRemoved(int,QSGItem*)));
+ ctxt->setContextProperty("testData", QVariant::fromValue(data));
+ QCOMPARE(addedSpy.count(), data.count());
+ QCOMPARE(removedSpy.count(), data.count());
+
+ qDeleteAll(data);
+ delete canvas;
+}
+
+/*
+The Repeater element creates children at its own position in its parent's
+stacking order. In this test we insert a repeater between two other Text
+elements to test this.
+*/
+void tst_QSGRepeater::stringList()
+{
+ QSGView *canvas = createView();
+
+ QStringList data;
+ data << "One";
+ data << "Two";
+ data << "Three";
+ data << "Four";
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testData", data);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/repeater1.qml"));
+ qApp->processEvents();
+
+ QSGRepeater *repeater = findItem<QSGRepeater>(canvas->rootObject(), "repeater");
+ QVERIFY(repeater != 0);
+
+ QSGItem *container = findItem<QSGItem>(canvas->rootObject(), "container");
+ QVERIFY(container != 0);
+
+ QCOMPARE(container->childItems().count(), data.count() + 3);
+
+ bool saw_repeater = false;
+ for (int i = 0; i < container->childItems().count(); ++i) {
+
+ if (i == 0) {
+ QSGText *name = qobject_cast<QSGText*>(container->childItems().at(i));
+ QVERIFY(name != 0);
+ QCOMPARE(name->text(), QLatin1String("Zero"));
+ } else if (i == container->childItems().count() - 2) {
+ // The repeater itself
+ QSGRepeater *rep = qobject_cast<QSGRepeater*>(container->childItems().at(i));
+ QCOMPARE(rep, repeater);
+ saw_repeater = true;
+ continue;
+ } else if (i == container->childItems().count() - 1) {
+ QSGText *name = qobject_cast<QSGText*>(container->childItems().at(i));
+ QVERIFY(name != 0);
+ QCOMPARE(name->text(), QLatin1String("Last"));
+ } else {
+ QSGText *name = qobject_cast<QSGText*>(container->childItems().at(i));
+ QVERIFY(name != 0);
+ QCOMPARE(name->text(), data.at(i-1));
+ }
+ }
+ QVERIFY(saw_repeater);
+
+ delete canvas;
+}
+
+void tst_QSGRepeater::dataModel_adding()
+{
+ QSGView *canvas = createView();
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ TestModel testModel;
+ ctxt->setContextProperty("testData", &testModel);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/repeater2.qml"));
+ qApp->processEvents();
+
+ QSGRepeater *repeater = findItem<QSGRepeater>(canvas->rootObject(), "repeater");
+ QVERIFY(repeater != 0);
+ QSGItem *container = findItem<QSGItem>(canvas->rootObject(), "container");
+ QVERIFY(container != 0);
+
+ QVERIFY(!repeater->itemAt(0));
+
+ QSignalSpy countSpy(repeater, SIGNAL(countChanged()));
+ QSignalSpy addedSpy(repeater, SIGNAL(itemAdded(int,QSGItem*)));
+
+ // add to empty model
+ testModel.addItem("two", "2");
+ QCOMPARE(repeater->itemAt(0), container->childItems().at(0));
+ QCOMPARE(countSpy.count(), 1); countSpy.clear();
+ QCOMPARE(addedSpy.count(), 1);
+ QCOMPARE(addedSpy.at(0).at(0).toInt(), 0);
+ QCOMPARE(addedSpy.at(0).at(1).value<QSGItem*>(), container->childItems().at(0));
+ addedSpy.clear();
+
+ // insert at start
+ testModel.insertItem(0, "one", "1");
+ QCOMPARE(repeater->itemAt(0), container->childItems().at(0));
+ QCOMPARE(countSpy.count(), 1); countSpy.clear();
+ QCOMPARE(addedSpy.count(), 1);
+ QCOMPARE(addedSpy.at(0).at(0).toInt(), 0);
+ QCOMPARE(addedSpy.at(0).at(1).value<QSGItem*>(), container->childItems().at(0));
+ addedSpy.clear();
+
+ // insert at end
+ testModel.insertItem(2, "four", "4");
+ QCOMPARE(repeater->itemAt(2), container->childItems().at(2));
+ QCOMPARE(countSpy.count(), 1); countSpy.clear();
+ QCOMPARE(addedSpy.count(), 1);
+ QCOMPARE(addedSpy.at(0).at(0).toInt(), 2);
+ QCOMPARE(addedSpy.at(0).at(1).value<QSGItem*>(), container->childItems().at(2));
+ addedSpy.clear();
+
+ // insert in middle
+ testModel.insertItem(2, "three", "3");
+ QCOMPARE(repeater->itemAt(2), container->childItems().at(2));
+ QCOMPARE(countSpy.count(), 1); countSpy.clear();
+ QCOMPARE(addedSpy.count(), 1);
+ QCOMPARE(addedSpy.at(0).at(0).toInt(), 2);
+ QCOMPARE(addedSpy.at(0).at(1).value<QSGItem*>(), container->childItems().at(2));
+ addedSpy.clear();
+
+ delete testObject;
+ addedSpy.clear();
+ countSpy.clear();
+ delete canvas;
+}
+
+void tst_QSGRepeater::dataModel_removing()
+{
+ QSGView *canvas = createView();
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ TestModel testModel;
+ testModel.addItem("one", "1");
+ testModel.addItem("two", "2");
+ testModel.addItem("three", "3");
+ testModel.addItem("four", "4");
+ testModel.addItem("five", "5");
+
+ ctxt->setContextProperty("testData", &testModel);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/repeater2.qml"));
+ qApp->processEvents();
+
+ QSGRepeater *repeater = findItem<QSGRepeater>(canvas->rootObject(), "repeater");
+ QVERIFY(repeater != 0);
+ QSGItem *container = findItem<QSGItem>(canvas->rootObject(), "container");
+ QVERIFY(container != 0);
+ QCOMPARE(container->childItems().count(), repeater->count()+1);
+
+ QSignalSpy countSpy(repeater, SIGNAL(countChanged()));
+ QSignalSpy removedSpy(repeater, SIGNAL(itemRemoved(int,QSGItem*)));
+
+ // remove at start
+ QSGItem *item = repeater->itemAt(0);
+ QCOMPARE(item, container->childItems().at(0));
+
+ testModel.removeItem(0);
+ QVERIFY(repeater->itemAt(0) != item);
+ QCOMPARE(countSpy.count(), 1); countSpy.clear();
+ QCOMPARE(removedSpy.count(), 1);
+ QCOMPARE(removedSpy.at(0).at(0).toInt(), 0);
+ QCOMPARE(removedSpy.at(0).at(1).value<QSGItem*>(), item);
+ removedSpy.clear();
+
+ // remove at end
+ int lastIndex = testModel.count()-1;
+ item = repeater->itemAt(lastIndex);
+ QCOMPARE(item, container->childItems().at(lastIndex));
+
+ testModel.removeItem(lastIndex);
+ QVERIFY(repeater->itemAt(lastIndex) != item);
+ QCOMPARE(countSpy.count(), 1); countSpy.clear();
+ QCOMPARE(removedSpy.count(), 1);
+ QCOMPARE(removedSpy.at(0).at(0).toInt(), lastIndex);
+ QCOMPARE(removedSpy.at(0).at(1).value<QSGItem*>(), item);
+ removedSpy.clear();
+
+ // remove from middle
+ item = repeater->itemAt(1);
+ QCOMPARE(item, container->childItems().at(1));
+
+ testModel.removeItem(1);
+ QVERIFY(repeater->itemAt(lastIndex) != item);
+ QCOMPARE(countSpy.count(), 1); countSpy.clear();
+ QCOMPARE(removedSpy.count(), 1);
+ QCOMPARE(removedSpy.at(0).at(0).toInt(), 1);
+ QCOMPARE(removedSpy.at(0).at(1).value<QSGItem*>(), item);
+ removedSpy.clear();
+
+ delete testObject;
+ delete canvas;
+}
+
+void tst_QSGRepeater::dataModel_changes()
+{
+ QSGView *canvas = createView();
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ TestModel testModel;
+ testModel.addItem("one", "1");
+ testModel.addItem("two", "2");
+ testModel.addItem("three", "3");
+
+ ctxt->setContextProperty("testData", &testModel);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/repeater2.qml"));
+ qApp->processEvents();
+
+ QSGRepeater *repeater = findItem<QSGRepeater>(canvas->rootObject(), "repeater");
+ QVERIFY(repeater != 0);
+ QSGItem *container = findItem<QSGItem>(canvas->rootObject(), "container");
+ QVERIFY(container != 0);
+ QCOMPARE(container->childItems().count(), repeater->count()+1);
+
+ // Check that model changes are propagated
+ QSGText *text = findItem<QSGText>(canvas->rootObject(), "myName", 1);
+ QVERIFY(text);
+ QCOMPARE(text->text(), QString("two"));
+
+ testModel.modifyItem(1, "Item two", "_2");
+ text = findItem<QSGText>(canvas->rootObject(), "myName", 1);
+ QVERIFY(text);
+ QCOMPARE(text->text(), QString("Item two"));
+
+ text = findItem<QSGText>(canvas->rootObject(), "myNumber", 1);
+ QVERIFY(text);
+ QCOMPARE(text->text(), QString("_2"));
+
+ delete testObject;
+ delete canvas;
+}
+
+void tst_QSGRepeater::itemModel()
+{
+ QSGView *canvas = createView();
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ TestObject *testObject = new TestObject;
+ ctxt->setContextProperty("testObject", testObject);
+
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/itemlist.qml"));
+ qApp->processEvents();
+
+ QSGRepeater *repeater = findItem<QSGRepeater>(canvas->rootObject(), "repeater");
+ QVERIFY(repeater != 0);
+
+ QSGItem *container = findItem<QSGItem>(canvas->rootObject(), "container");
+ QVERIFY(container != 0);
+
+ QCOMPARE(container->childItems().count(), 1);
+
+ testObject->setUseModel(true);
+ QMetaObject::invokeMethod(canvas->rootObject(), "checkProperties");
+ QVERIFY(testObject->error() == false);
+
+ QCOMPARE(container->childItems().count(), 4);
+ QVERIFY(qobject_cast<QObject*>(container->childItems().at(0))->objectName() == "item1");
+ QVERIFY(qobject_cast<QObject*>(container->childItems().at(1))->objectName() == "item2");
+ QVERIFY(qobject_cast<QObject*>(container->childItems().at(2))->objectName() == "item3");
+ QVERIFY(container->childItems().at(3) == repeater);
+
+ QMetaObject::invokeMethod(canvas->rootObject(), "switchModel");
+ QCOMPARE(container->childItems().count(), 3);
+ QVERIFY(qobject_cast<QObject*>(container->childItems().at(0))->objectName() == "item4");
+ QVERIFY(qobject_cast<QObject*>(container->childItems().at(1))->objectName() == "item5");
+ QVERIFY(container->childItems().at(2) == repeater);
+
+ testObject->setUseModel(false);
+ QCOMPARE(container->childItems().count(), 1);
+
+ delete testObject;
+ delete canvas;
+}
+
+void tst_QSGRepeater::resetModel()
+{
+ QSGView *canvas = createView();
+
+ QStringList dataA;
+ for (int i=0; i<10; i++)
+ dataA << QString::number(i);
+
+ QDeclarativeContext *ctxt = canvas->rootContext();
+ ctxt->setContextProperty("testData", dataA);
+ canvas->setSource(QUrl::fromLocalFile(SRCDIR "/data/repeater1.qml"));
+ qApp->processEvents();
+ QSGRepeater *repeater = findItem<QSGRepeater>(canvas->rootObject(), "repeater");
+ QVERIFY(repeater != 0);
+ QSGItem *container = findItem<QSGItem>(canvas->rootObject(), "container");
+ QVERIFY(container != 0);
+
+ QCOMPARE(repeater->count(), dataA.count());
+ for (int i=0; i<repeater->count(); i++)
+ QCOMPARE(repeater->itemAt(i), container->childItems().at(i+1)); // +1 to skip first Text object
+
+ QSignalSpy modelChangedSpy(repeater, SIGNAL(modelChanged()));
+ QSignalSpy countSpy(repeater, SIGNAL(countChanged()));
+ QSignalSpy addedSpy(repeater, SIGNAL(itemAdded(int,QSGItem*)));
+ QSignalSpy removedSpy(repeater, SIGNAL(itemRemoved(int,QSGItem*)));
+
+ QStringList dataB;
+ for (int i=0; i<20; i++)
+ dataB << QString::number(i);
+
+ // reset context property
+ ctxt->setContextProperty("testData", dataB);
+ QCOMPARE(repeater->count(), dataB.count());
+
+ QCOMPARE(modelChangedSpy.count(), 1);
+ QCOMPARE(countSpy.count(), 1);
+ QCOMPARE(removedSpy.count(), dataA.count());
+ QCOMPARE(addedSpy.count(), dataB.count());
+ for (int i=0; i<dataB.count(); i++) {
+ QCOMPARE(addedSpy.at(i).at(0).toInt(), i);
+ QCOMPARE(addedSpy.at(i).at(1).value<QSGItem*>(), repeater->itemAt(i));
+ }
+ modelChangedSpy.clear();
+ countSpy.clear();
+ removedSpy.clear();
+ addedSpy.clear();
+
+ // reset via setModel()
+ repeater->setModel(dataA);
+ QCOMPARE(repeater->count(), dataA.count());
+
+ QCOMPARE(modelChangedSpy.count(), 1);
+ QCOMPARE(countSpy.count(), 1);
+ QCOMPARE(removedSpy.count(), dataB.count());
+ QCOMPARE(addedSpy.count(), dataA.count());
+ for (int i=0; i<dataA.count(); i++) {
+ QCOMPARE(addedSpy.at(i).at(0).toInt(), i);
+ QCOMPARE(addedSpy.at(i).at(1).value<QSGItem*>(), repeater->itemAt(i));
+ }
+
+ modelChangedSpy.clear();
+ countSpy.clear();
+ removedSpy.clear();
+ addedSpy.clear();
+
+ delete canvas;
+}
+
+// QTBUG-17156
+void tst_QSGRepeater::modelChanged()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, TEST_FILE("/modelChanged.qml"));
+
+ QSGItem *rootObject = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(rootObject);
+ QSGRepeater *repeater = findItem<QSGRepeater>(rootObject, "repeater");
+ QVERIFY(repeater);
+
+ repeater->setModel(4);
+ QCOMPARE(repeater->count(), 4);
+ QCOMPARE(repeater->property("itemsCount").toInt(), 4);
+ QCOMPARE(repeater->property("itemsFound").toList().count(), 4);
+
+ repeater->setModel(10);
+ QCOMPARE(repeater->count(), 10);
+ QCOMPARE(repeater->property("itemsCount").toInt(), 10);
+ QCOMPARE(repeater->property("itemsFound").toList().count(), 10);
+
+ delete rootObject;
+}
+
+void tst_QSGRepeater::properties()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, TEST_FILE("/properties.qml"));
+
+ QSGItem *rootObject = qobject_cast<QSGItem*>(component.create());
+ QVERIFY(rootObject);
+
+ QSGRepeater *repeater = findItem<QSGRepeater>(rootObject, "repeater");
+ QVERIFY(repeater);
+
+ QSignalSpy modelSpy(repeater, SIGNAL(modelChanged()));
+ repeater->setModel(3);
+ QCOMPARE(modelSpy.count(),1);
+ repeater->setModel(3);
+ QCOMPARE(modelSpy.count(),1);
+
+ QSignalSpy delegateSpy(repeater, SIGNAL(delegateChanged()));
+
+ QDeclarativeComponent rectComponent(&engine);
+ rectComponent.setData("import QtQuick 2.0; Rectangle {}", QUrl::fromLocalFile(""));
+
+ repeater->setDelegate(&rectComponent);
+ QCOMPARE(delegateSpy.count(),1);
+ repeater->setDelegate(&rectComponent);
+ QCOMPARE(delegateSpy.count(),1);
+
+ delete rootObject;
+}
+
+QSGView *tst_QSGRepeater::createView()
+{
+ QSGView *canvas = new QSGView(0);
+ canvas->setFixedSize(240,320);
+
+ return canvas;
+}
+
+template<typename T>
+T *tst_QSGRepeater::findItem(QObject *parent, const QString &objectName, int index)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->children().count() << "children";
+ for (int i = 0; i < parent->children().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->children().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ if (index != -1) {
+ QDeclarativeExpression e(qmlContext(item), item, "index");
+ if (e.evaluate().toInt() == index)
+ return static_cast<T*>(item);
+ } else {
+ return static_cast<T*>(item);
+ }
+ }
+ item = findItem<T>(item, objectName, index);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
+
+template<typename T>
+T *tst_QSGRepeater::findItem(QObject *parent, const QString &objectName)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ if (mo.cast(parent) && (objectName.isEmpty() || parent->objectName() == objectName))
+ return static_cast<T*>(parent);
+ for (int i = 0; i < parent->children().count(); ++i) {
+ QSGItem *child = qobject_cast<QSGItem*>(parent->children().at(i));
+ if (!child)
+ continue;
+ QSGItem *item = findItem<T>(child, objectName);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
+
+QTEST_MAIN(tst_QSGRepeater)
+
+#include "tst_qsgrepeater.moc"
diff --git a/tests/auto/declarative/qsgtext/data/alignments.qml b/tests/auto/declarative/qsgtext/data/alignments.qml
new file mode 100644
index 0000000000..9798d9c736
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/alignments.qml
@@ -0,0 +1,41 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: top
+ width: 70; height: 70;
+
+ property alias horizontalAlignment: t.horizontalAlignment
+ property alias verticalAlignment: t.verticalAlignment
+ property alias wrapMode: t.wrapMode
+ property alias running: timer.running
+ property string txt: "Test"
+
+ Rectangle {
+ anchors.centerIn: parent
+ width: 40
+ height: 40
+ color: "green"
+
+ Text {
+ id: t
+
+ anchors.fill: parent
+ horizontalAlignment: Text.AlignRight
+ verticalAlignment: Text.AlignBottom
+ wrapMode: Text.WordWrap
+ text: top.txt
+ }
+ Timer {
+ id: timer
+
+ interval: 1
+ running: true
+ repeat: true
+ onTriggered: {
+ top.txt = top.txt + "<br>more " + top.txt.length;
+ if (top.txt.length > 50)
+ running = false
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgtext/data/alignments_cb.png b/tests/auto/declarative/qsgtext/data/alignments_cb.png
new file mode 100644
index 0000000000..cf6199a418
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/alignments_cb.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtext/data/alignments_cc.png b/tests/auto/declarative/qsgtext/data/alignments_cc.png
new file mode 100644
index 0000000000..f81ccb4238
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/alignments_cc.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtext/data/alignments_ct.png b/tests/auto/declarative/qsgtext/data/alignments_ct.png
new file mode 100644
index 0000000000..9ba64125d5
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/alignments_ct.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtext/data/alignments_lb.png b/tests/auto/declarative/qsgtext/data/alignments_lb.png
new file mode 100644
index 0000000000..1b50a81f3d
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/alignments_lb.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtext/data/alignments_lc.png b/tests/auto/declarative/qsgtext/data/alignments_lc.png
new file mode 100644
index 0000000000..f041b868f8
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/alignments_lc.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtext/data/alignments_lt.png b/tests/auto/declarative/qsgtext/data/alignments_lt.png
new file mode 100644
index 0000000000..c75e0d158e
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/alignments_lt.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtext/data/alignments_rb.png b/tests/auto/declarative/qsgtext/data/alignments_rb.png
new file mode 100644
index 0000000000..b06a5da715
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/alignments_rb.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtext/data/alignments_rc.png b/tests/auto/declarative/qsgtext/data/alignments_rc.png
new file mode 100644
index 0000000000..e468857cd0
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/alignments_rc.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtext/data/alignments_rt.png b/tests/auto/declarative/qsgtext/data/alignments_rt.png
new file mode 100644
index 0000000000..576715ffce
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/alignments_rt.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtext/data/embeddedImagesLocal.qml b/tests/auto/declarative/qsgtext/data/embeddedImagesLocal.qml
new file mode 100644
index 0000000000..d71e9bb5bf
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/embeddedImagesLocal.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Text {
+ text: "<img src='http/exists.png'>"
+}
diff --git a/tests/auto/declarative/qsgtext/data/embeddedImagesLocalError.qml b/tests/auto/declarative/qsgtext/data/embeddedImagesLocalError.qml
new file mode 100644
index 0000000000..e6719481db
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/embeddedImagesLocalError.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Text {
+ text: "<img src='http/notexists.png'>"
+}
diff --git a/tests/auto/declarative/qsgtext/data/embeddedImagesRemote.qml b/tests/auto/declarative/qsgtext/data/embeddedImagesRemote.qml
new file mode 100644
index 0000000000..e524d028b5
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/embeddedImagesRemote.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Text {
+ text: "<img src='http://127.0.0.1:14453/exists.png'>"
+}
diff --git a/tests/auto/declarative/qsgtext/data/embeddedImagesRemoteError.qml b/tests/auto/declarative/qsgtext/data/embeddedImagesRemoteError.qml
new file mode 100644
index 0000000000..f541e0e497
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/embeddedImagesRemoteError.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Text {
+ text: "<img src='http://127.0.0.1:14453/notexists.png'>"
+}
diff --git a/tests/auto/declarative/qsgtext/data/horizontalAlignment_RightToLeft.qml b/tests/auto/declarative/qsgtext/data/horizontalAlignment_RightToLeft.qml
new file mode 100644
index 0000000000..5ba4d35684
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/horizontalAlignment_RightToLeft.qml
@@ -0,0 +1,23 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: top
+ width: 200; height: 70;
+
+ property alias horizontalAlignment: text.horizontalAlignment
+ property string text: "اختبا"
+
+ Rectangle {
+ anchors.centerIn: parent
+ width: 180
+ height: 20
+ color: "green"
+
+ Text {
+ id: text
+ objectName: "text"
+ anchors.fill: parent
+ text: top.text
+ }
+ }
+}
diff --git a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pics/qtlogo.png b/tests/auto/declarative/qsgtext/data/http/exists.png
index 399bd0b1d9..399bd0b1d9 100644
--- a/tests/auto/declarative/qmlvisual/animation/pauseAnimation/pics/qtlogo.png
+++ b/tests/auto/declarative/qsgtext/data/http/exists.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtext/data/lineCount.qml b/tests/auto/declarative/qsgtext/data/lineCount.qml
new file mode 100644
index 0000000000..b672863684
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/lineCount.qml
@@ -0,0 +1,15 @@
+import QtQuick 2.0
+
+Item {
+ width: 200
+ height: 200
+
+ Text {
+ id: myText
+ objectName: "myText"
+ width: 200
+ wrapMode: Text.WordWrap
+ maximumLineCount: undefined
+ text: "Testing that maximumLines, visibleLines, and totalLines works properly in the autotests. The quick brown fox jumped over the lazy anything with the letter 'g'."
+ }
+}
diff --git a/tests/auto/declarative/qsgtext/data/lineHeight.qml b/tests/auto/declarative/qsgtext/data/lineHeight.qml
new file mode 100644
index 0000000000..c1f337aa05
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/lineHeight.qml
@@ -0,0 +1,15 @@
+import QtQuick 2.0
+
+Item {
+ width: 200
+ height: 200
+
+ Text {
+ id: myText
+ objectName: "myText"
+ width: 200
+ wrapMode: Text.WordWrap
+ font.pixelSize: 13
+ text: "Lorem ipsum sit amet, consectetur adipiscing elit. Integer felis nisl, varius in pretium nec, venenatis non erat. Proin lobortis interdum dictum."
+ }
+}
diff --git a/tests/auto/declarative/qsgtext/data/qtbug_14734.qml b/tests/auto/declarative/qsgtext/data/qtbug_14734.qml
new file mode 100644
index 0000000000..e71a798421
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/qtbug_14734.qml
@@ -0,0 +1,10 @@
+import QtQuick 2.0
+
+Rectangle {
+ width: 640
+ height: 480
+
+ Text {
+ text: "í "
+ }
+}
diff --git a/tests/auto/declarative/qsgtext/data/rotated.qml b/tests/auto/declarative/qsgtext/data/rotated.qml
new file mode 100644
index 0000000000..fecf64b249
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/data/rotated.qml
@@ -0,0 +1,18 @@
+import QtQuick 2.0
+
+Rectangle {
+ width : 200
+ height : 100
+
+ Text {
+ objectName: "text"
+ x: 20
+ y: 20
+ height : 20
+ width : 80
+ text : "Something"
+ rotation : 30
+ transformOrigin : Item.TopLeft
+ }
+}
+
diff --git a/tests/auto/declarative/qsgtext/qsgtext.pro b/tests/auto/declarative/qsgtext/qsgtext.pro
new file mode 100644
index 0000000000..99aac1982f
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/qsgtext.pro
@@ -0,0 +1,24 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui
+QT += network
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsgtext.cpp
+
+INCLUDEPATH += ../shared/
+HEADERS += ../shared/testhttpserver.h
+SOURCES += ../shared/testhttpserver.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
+QT += script-private
+QT += opengl-private
diff --git a/tests/auto/declarative/qsgtext/tst_qsgtext.cpp b/tests/auto/declarative/qsgtext/tst_qsgtext.cpp
new file mode 100644
index 0000000000..27db79b640
--- /dev/null
+++ b/tests/auto/declarative/qsgtext/tst_qsgtext.cpp
@@ -0,0 +1,1392 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QTextDocument>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <private/qsgtext_p.h>
+#include <private/qsgtext_p_p.h>
+#include <private/qdeclarativevaluetype_p.h>
+#include <QFontMetrics>
+#include <QGraphicsSceneMouseEvent>
+#include <qmath.h>
+#include <QSGView>
+#include <private/qapplication_p.h>
+#include <limits.h>
+
+#include "../../../shared/util.h"
+#include "testhttpserver.h"
+#include <QtOpenGL/QGLShaderProgram>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+class tst_qsgtext : public QObject
+
+{
+ Q_OBJECT
+public:
+ tst_qsgtext();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void text();
+ void width();
+ void wrap();
+ void elide();
+ void textFormat();
+
+ void alignments_data();
+ void alignments();
+
+ void embeddedImages_data();
+ void embeddedImages();
+
+ void lineCount();
+ void lineHeight();
+
+ // ### these tests may be trivial
+ void horizontalAlignment();
+ void horizontalAlignment_RightToLeft();
+ void verticalAlignment();
+ void font();
+ void style();
+ void color();
+ void smooth();
+
+ // QDeclarativeFontValueType
+ void weight();
+ void underline();
+ void overline();
+ void strikeout();
+ void capitalization();
+ void letterSpacing();
+ void wordSpacing();
+
+ void clickLink();
+
+ void QTBUG_12291();
+ void implicitSize_data();
+ void implicitSize();
+
+ void qtbug_14734();
+private:
+ QStringList standard;
+ QStringList richText;
+
+ QStringList horizontalAlignmentmentStrings;
+ QStringList verticalAlignmentmentStrings;
+
+ QList<Qt::Alignment> verticalAlignmentments;
+ QList<Qt::Alignment> horizontalAlignmentments;
+
+ QStringList styleStrings;
+ QList<QSGText::TextStyle> styles;
+
+ QStringList colorStrings;
+
+ QDeclarativeEngine engine;
+
+ QSGView *createView(const QString &filename);
+};
+void tst_qsgtext::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("Text item needs OpenGL 2.0", SkipAll);
+}
+
+void tst_qsgtext::cleanupTestCase()
+{
+
+}
+tst_qsgtext::tst_qsgtext()
+{
+ standard << "the quick brown fox jumped over the lazy dog"
+ << "the quick brown fox\n jumped over the lazy dog";
+
+ richText << "<i>the <b>quick</b> brown <a href=\\\"http://www.google.com\\\">fox</a> jumped over the <b>lazy</b> dog</i>"
+ << "<i>the <b>quick</b> brown <a href=\\\"http://www.google.com\\\">fox</a><br>jumped over the <b>lazy</b> dog</i>";
+
+ horizontalAlignmentmentStrings << "AlignLeft"
+ << "AlignRight"
+ << "AlignHCenter";
+
+ verticalAlignmentmentStrings << "AlignTop"
+ << "AlignBottom"
+ << "AlignVCenter";
+
+ horizontalAlignmentments << Qt::AlignLeft
+ << Qt::AlignRight
+ << Qt::AlignHCenter;
+
+ verticalAlignmentments << Qt::AlignTop
+ << Qt::AlignBottom
+ << Qt::AlignVCenter;
+
+ styleStrings << "Normal"
+ << "Outline"
+ << "Raised"
+ << "Sunken";
+
+ styles << QSGText::Normal
+ << QSGText::Outline
+ << QSGText::Raised
+ << QSGText::Sunken;
+
+ colorStrings << "aliceblue"
+ << "antiquewhite"
+ << "aqua"
+ << "darkkhaki"
+ << "darkolivegreen"
+ << "dimgray"
+ << "palevioletred"
+ << "lightsteelblue"
+ << "#000000"
+ << "#AAAAAA"
+ << "#FFFFFF"
+ << "#2AC05F";
+ //
+ // need a different test to do alpha channel test
+ // << "#AA0011DD"
+ // << "#00F16B11";
+ //
+}
+
+QSGView *tst_qsgtext::createView(const QString &filename)
+{
+ QSGView *canvas = new QSGView(0);
+
+ canvas->setSource(QUrl::fromLocalFile(filename));
+ return canvas;
+}
+
+void tst_qsgtext::text()
+{
+ {
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData("import QtQuick 2.0\nText { text: \"\" }", QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->text(), QString(""));
+ QVERIFY(textObject->width() == 0);
+
+ delete textObject;
+ }
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->text(), standard.at(i));
+ QVERIFY(textObject->width() > 0);
+
+ delete textObject;
+ }
+
+ for (int i = 0; i < richText.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QString expected = richText.at(i);
+ QCOMPARE(textObject->text(), expected.replace("\\\"", "\""));
+ QVERIFY(textObject->width() > 0);
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::width()
+{
+ // uses Font metrics to find the width for standard and document to find the width for rich
+ {
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData("import QtQuick 2.0\nText { text: \"\" }", QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->width(), 0.);
+
+ delete textObject;
+ }
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ QVERIFY(!Qt::mightBeRichText(standard.at(i))); // self-test
+
+ QFont f;
+ QFontMetricsF fm(f);
+ qreal metricWidth = fm.size(Qt::TextExpandTabs && Qt::TextShowMnemonic, standard.at(i)).width();
+ metricWidth = qCeil(metricWidth);
+
+ QString componentStr = "import QtQuick 2.0\nText { text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QVERIFY(textObject->boundingRect().width() > 0);
+ QCOMPARE(textObject->width(), qreal(metricWidth));
+ QVERIFY(textObject->textFormat() == QSGText::AutoText); // setting text doesn't change format
+
+ delete textObject;
+ }
+
+ for (int i = 0; i < richText.size(); i++)
+ {
+ QVERIFY(Qt::mightBeRichText(richText.at(i))); // self-test
+
+ QTextDocument document;
+ document.setHtml(richText.at(i));
+ document.setDocumentMargin(0);
+
+ int documentWidth = document.idealWidth();
+
+ QString componentStr = "import QtQuick 2.0\nText { text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->width(), qreal(documentWidth));
+ QVERIFY(textObject->textFormat() == QSGText::AutoText); // setting text doesn't change format
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::wrap()
+{
+ int textHeight = 0;
+ // for specified width and wrap set true
+ {
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData("import QtQuick 2.0\nText { text: \"Hello\"; wrapMode: Text.WordWrap; width: 300 }", QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+ textHeight = textObject->height();
+
+ QVERIFY(textObject != 0);
+ QVERIFY(textObject->wrapMode() == QSGText::WordWrap);
+ QCOMPARE(textObject->width(), 300.);
+
+ delete textObject;
+ }
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { wrapMode: Text.WordWrap; width: 30; text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->width(), 30.);
+ QVERIFY(textObject->height() > textHeight);
+
+ int oldHeight = textObject->height();
+ textObject->setWidth(100);
+ QVERIFY(textObject->height() < oldHeight);
+
+ delete textObject;
+ }
+
+ for (int i = 0; i < richText.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { wrapMode: Text.WordWrap; width: 30; text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->width(), 30.);
+ QVERIFY(textObject->height() > textHeight);
+
+ qreal oldHeight = textObject->height();
+ textObject->setWidth(100);
+ QVERIFY(textObject->height() < oldHeight);
+
+ delete textObject;
+ }
+
+ // richtext again with a fixed height
+ for (int i = 0; i < richText.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { wrapMode: Text.WordWrap; width: 30; height: 50; text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->width(), 30.);
+ QVERIFY(textObject->implicitHeight() > textHeight);
+
+ qreal oldHeight = textObject->implicitHeight();
+ textObject->setWidth(100);
+ QVERIFY(textObject->implicitHeight() < oldHeight);
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::elide()
+{
+ for (QSGText::TextElideMode m = QSGText::ElideLeft; m<=QSGText::ElideNone; m=QSGText::TextElideMode(int(m)+1)) {
+ const char* elidename[]={"ElideLeft", "ElideRight", "ElideMiddle", "ElideNone"};
+ QString elide = "elide: Text." + QString(elidename[int(m)]) + ";";
+
+ // XXX Poor coverage.
+
+ {
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(("import QtQuick 2.0\nText { text: \"\"; "+elide+" width: 100 }").toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->elideMode(), m);
+ QCOMPARE(textObject->width(), 100.);
+
+ delete textObject;
+ }
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { "+elide+" width: 100; text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->elideMode(), m);
+ QCOMPARE(textObject->width(), 100.);
+
+ delete textObject;
+ }
+
+ // richtext - does nothing
+ for (int i = 0; i < richText.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { "+elide+" width: 100; text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->elideMode(), m);
+ QCOMPARE(textObject->width(), 100.);
+
+ delete textObject;
+ }
+ }
+}
+
+void tst_qsgtext::textFormat()
+{
+ {
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData("import QtQuick 2.0\nText { text: \"Hello\"; textFormat: Text.RichText }", QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QVERIFY(textObject->textFormat() == QSGText::RichText);
+
+ delete textObject;
+ }
+ {
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData("import QtQuick 2.0\nText { text: \"<b>Hello</b>\"; textFormat: Text.PlainText }", QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QVERIFY(textObject->textFormat() == QSGText::PlainText);
+
+ delete textObject;
+ }
+}
+
+
+void tst_qsgtext::alignments_data()
+{
+ QTest::addColumn<int>("hAlign");
+ QTest::addColumn<int>("vAlign");
+ QTest::addColumn<QString>("expectfile");
+
+ QTest::newRow("LT") << int(Qt::AlignLeft) << int(Qt::AlignTop) << SRCDIR "/data/alignments_lt.png";
+ QTest::newRow("RT") << int(Qt::AlignRight) << int(Qt::AlignTop) << SRCDIR "/data/alignments_rt.png";
+ QTest::newRow("CT") << int(Qt::AlignHCenter) << int(Qt::AlignTop) << SRCDIR "/data/alignments_ct.png";
+
+ QTest::newRow("LB") << int(Qt::AlignLeft) << int(Qt::AlignBottom) << SRCDIR "/data/alignments_lb.png";
+ QTest::newRow("RB") << int(Qt::AlignRight) << int(Qt::AlignBottom) << SRCDIR "/data/alignments_rb.png";
+ QTest::newRow("CB") << int(Qt::AlignHCenter) << int(Qt::AlignBottom) << SRCDIR "/data/alignments_cb.png";
+
+ QTest::newRow("LC") << int(Qt::AlignLeft) << int(Qt::AlignVCenter) << SRCDIR "/data/alignments_lc.png";
+ QTest::newRow("RC") << int(Qt::AlignRight) << int(Qt::AlignVCenter) << SRCDIR "/data/alignments_rc.png";
+ QTest::newRow("CC") << int(Qt::AlignHCenter) << int(Qt::AlignVCenter) << SRCDIR "/data/alignments_cc.png";
+}
+
+
+void tst_qsgtext::alignments()
+{
+ QSKIP("Text alignment pixmap comparison tests will not work with scenegraph", SkipAll);
+
+ QFETCH(int, hAlign);
+ QFETCH(int, vAlign);
+ QFETCH(QString, expectfile);
+
+#ifdef Q_WS_X11
+ // Font-specific, but not likely platform-specific, so only test on one platform
+ QFont fn;
+ fn.setRawName("-misc-fixed-medium-r-*-*-8-*-*-*-*-*-*-*");
+ QApplication::setFont(fn);
+#endif
+
+ QSGView *canvas = createView(SRCDIR "/data/alignments.qml");
+
+ canvas->show();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas));
+
+ QObject *ob = canvas->rootObject();
+ QVERIFY(ob != 0);
+ ob->setProperty("horizontalAlignment",hAlign);
+ ob->setProperty("verticalAlignment",vAlign);
+ QTRY_COMPARE(ob->property("running").toBool(),false);
+ QImage actual(canvas->width(), canvas->height(), QImage::Format_RGB32);
+ actual.fill(qRgb(255,255,255));
+ QPainter p(&actual);
+ canvas->render(&p);
+
+ QImage expect(expectfile);
+
+#ifdef Q_WS_X11
+ // Font-specific, but not likely platform-specific, so only test on one platform
+ if (QApplicationPrivate::graphics_system_name == "raster" || QApplicationPrivate::graphics_system_name == "") {
+ QCOMPARE(actual,expect);
+ }
+#endif
+
+ delete canvas;
+}
+
+//the alignment tests may be trivial o.oa
+void tst_qsgtext::horizontalAlignment()
+{
+ //test one align each, and then test if two align fails.
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ for (int j=0; j < horizontalAlignmentmentStrings.size(); j++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { horizontalAlignment: \"" + horizontalAlignmentmentStrings.at(j) + "\"; text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE((int)textObject->hAlign(), (int)horizontalAlignmentments.at(j));
+
+ delete textObject;
+ }
+ }
+
+ for (int i = 0; i < richText.size(); i++)
+ {
+ for (int j=0; j < horizontalAlignmentmentStrings.size(); j++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { horizontalAlignment: \"" + horizontalAlignmentmentStrings.at(j) + "\"; text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE((int)textObject->hAlign(), (int)horizontalAlignmentments.at(j));
+
+ delete textObject;
+ }
+ }
+
+}
+
+void tst_qsgtext::horizontalAlignment_RightToLeft()
+{
+ QSGView *canvas = createView(SRCDIR "/data/horizontalAlignment_RightToLeft.qml");
+ QSGText *text = canvas->rootObject()->findChild<QSGText*>("text");
+ QVERIFY(text != 0);
+ canvas->show();
+
+ QSGTextPrivate *textPrivate = QSGTextPrivate::get(text);
+ QVERIFY(textPrivate != 0);
+
+ // implicit alignment should follow the reading direction of RTL text
+ QCOMPARE(text->hAlign(), QSGText::AlignRight);
+ QCOMPARE(text->effectiveHAlign(), text->hAlign());
+ QVERIFY(textPrivate->layout.lineAt(0).naturalTextRect().left() > canvas->width()/2);
+
+ // explicitly left aligned text
+ text->setHAlign(QSGText::AlignLeft);
+ QCOMPARE(text->hAlign(), QSGText::AlignLeft);
+ QCOMPARE(text->effectiveHAlign(), text->hAlign());
+ QVERIFY(textPrivate->layout.lineAt(0).naturalTextRect().left() < canvas->width()/2);
+
+ // explicitly right aligned text
+ text->setHAlign(QSGText::AlignRight);
+ QCOMPARE(text->hAlign(), QSGText::AlignRight);
+ QCOMPARE(text->effectiveHAlign(), text->hAlign());
+ QVERIFY(textPrivate->layout.lineAt(0).naturalTextRect().left() > canvas->width()/2);
+
+ // change to rich text
+ QString textString = text->text();
+ text->setText(QString("<i>") + textString + QString("</i>"));
+ text->setTextFormat(QSGText::RichText);
+ text->resetHAlign();
+
+ // implicitly aligned rich text should follow the reading direction of text
+ QCOMPARE(text->hAlign(), QSGText::AlignRight);
+ QCOMPARE(text->effectiveHAlign(), text->hAlign());
+ QVERIFY(textPrivate->textDocument()->defaultTextOption().alignment() & Qt::AlignLeft);
+
+ // explicitly left aligned rich text
+ text->setHAlign(QSGText::AlignLeft);
+ QCOMPARE(text->hAlign(), QSGText::AlignLeft);
+ QCOMPARE(text->effectiveHAlign(), text->hAlign());
+ QVERIFY(textPrivate->textDocument()->defaultTextOption().alignment() & Qt::AlignRight);
+
+ // explicitly right aligned rich text
+ text->setHAlign(QSGText::AlignRight);
+ QCOMPARE(text->hAlign(), QSGText::AlignRight);
+ QCOMPARE(text->effectiveHAlign(), text->hAlign());
+ QVERIFY(textPrivate->textDocument()->defaultTextOption().alignment() & Qt::AlignLeft);
+
+ text->setText(textString);
+ text->setTextFormat(QSGText::PlainText);
+
+ // explicitly center aligned
+ text->setHAlign(QSGText::AlignHCenter);
+ QCOMPARE(text->hAlign(), QSGText::AlignHCenter);
+ QCOMPARE(text->effectiveHAlign(), text->hAlign());
+ QVERIFY(textPrivate->layout.lineAt(0).naturalTextRect().left() < canvas->width()/2);
+ QVERIFY(textPrivate->layout.lineAt(0).naturalTextRect().right() > canvas->width()/2);
+
+ // reseted alignment should go back to following the text reading direction
+ text->resetHAlign();
+ QCOMPARE(text->hAlign(), QSGText::AlignRight);
+ QVERIFY(textPrivate->layout.lineAt(0).naturalTextRect().left() > canvas->width()/2);
+
+ // mirror the text item
+ QSGItemPrivate::get(text)->setLayoutMirror(true);
+
+ // mirrored implicit alignment should continue to follow the reading direction of the text
+ QCOMPARE(text->hAlign(), QSGText::AlignRight);
+ QCOMPARE(text->effectiveHAlign(), QSGText::AlignRight);
+ QVERIFY(textPrivate->layout.lineAt(0).naturalTextRect().left() > canvas->width()/2);
+
+ // mirrored explicitly right aligned behaves as left aligned
+ text->setHAlign(QSGText::AlignRight);
+ QCOMPARE(text->hAlign(), QSGText::AlignRight);
+ QCOMPARE(text->effectiveHAlign(), QSGText::AlignLeft);
+ QVERIFY(textPrivate->layout.lineAt(0).naturalTextRect().left() < canvas->width()/2);
+
+ // mirrored explicitly left aligned behaves as right aligned
+ text->setHAlign(QSGText::AlignLeft);
+ QCOMPARE(text->hAlign(), QSGText::AlignLeft);
+ QCOMPARE(text->effectiveHAlign(), QSGText::AlignRight);
+ QVERIFY(textPrivate->layout.lineAt(0).naturalTextRect().left() > canvas->width()/2);
+
+ // disable mirroring
+ QSGItemPrivate::get(text)->setLayoutMirror(false);
+ text->resetHAlign();
+
+ // English text should be implicitly left aligned
+ text->setText("Hello world!");
+ QCOMPARE(text->hAlign(), QSGText::AlignLeft);
+ QVERIFY(textPrivate->layout.lineAt(0).naturalTextRect().left() < canvas->width()/2);
+
+#ifndef Q_OS_MAC // QTBUG-18040
+ // empty text with implicit alignment follows the system locale-based
+ // keyboard input direction from QApplication::keyboardInputDirection
+ text->setText("");
+ QCOMPARE(text->hAlign(), QApplication::keyboardInputDirection() == Qt::LeftToRight ?
+ QSGText::AlignLeft : QSGText::AlignRight);
+ text->setHAlign(QSGText::AlignRight);
+ QCOMPARE(text->hAlign(), QSGText::AlignRight);
+#endif
+
+ delete canvas;
+
+#ifndef Q_OS_MAC // QTBUG-18040
+ // alignment of Text with no text set to it
+ QString componentStr = "import QtQuick 2.0\nText {}";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+ QCOMPARE(textObject->hAlign(), QApplication::keyboardInputDirection() == Qt::LeftToRight ?
+ QSGText::AlignLeft : QSGText::AlignRight);
+ delete textObject;
+#endif
+}
+
+void tst_qsgtext::verticalAlignment()
+{
+ //test one align each, and then test if two align fails.
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ for (int j=0; j < verticalAlignmentmentStrings.size(); j++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { verticalAlignment: \"" + verticalAlignmentmentStrings.at(j) + "\"; text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE((int)textObject->vAlign(), (int)verticalAlignmentments.at(j));
+
+ delete textObject;
+ }
+ }
+
+ for (int i = 0; i < richText.size(); i++)
+ {
+ for (int j=0; j < verticalAlignmentmentStrings.size(); j++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { verticalAlignment: \"" + verticalAlignmentmentStrings.at(j) + "\"; text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE((int)textObject->vAlign(), (int)verticalAlignmentments.at(j));
+
+ delete textObject;
+ }
+ }
+
+}
+
+void tst_qsgtext::font()
+{
+ //test size, then bold, then italic, then family
+ {
+ QString componentStr = "import QtQuick 2.0\nText { font.pointSize: 40; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->font().pointSize(), 40);
+ QCOMPARE(textObject->font().bold(), false);
+ QCOMPARE(textObject->font().italic(), false);
+
+ delete textObject;
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nText { font.pixelSize: 40; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->font().pixelSize(), 40);
+ QCOMPARE(textObject->font().bold(), false);
+ QCOMPARE(textObject->font().italic(), false);
+
+ delete textObject;
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nText { font.bold: true; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->font().bold(), true);
+ QCOMPARE(textObject->font().italic(), false);
+
+ delete textObject;
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nText { font.italic: true; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->font().italic(), true);
+ QCOMPARE(textObject->font().bold(), false);
+
+ delete textObject;
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nText { font.family: \"Helvetica\"; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->font().family(), QString("Helvetica"));
+ QCOMPARE(textObject->font().bold(), false);
+ QCOMPARE(textObject->font().italic(), false);
+
+ delete textObject;
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nText { font.family: \"\"; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->font().family(), QString(""));
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::style()
+{
+ //test style
+ for (int i = 0; i < styles.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { style: \"" + styleStrings.at(i) + "\"; styleColor: \"white\"; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE((int)textObject->style(), (int)styles.at(i));
+ QCOMPARE(textObject->styleColor(), QColor("white"));
+
+ delete textObject;
+ }
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QRectF brPre = textObject->boundingRect();
+ textObject->setStyle(QSGText::Outline);
+ QRectF brPost = textObject->boundingRect();
+
+ QVERIFY(brPre.width() < brPost.width());
+ QVERIFY(brPre.height() < brPost.height());
+
+ delete textObject;
+}
+
+void tst_qsgtext::color()
+{
+ //test style
+ for (int i = 0; i < colorStrings.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { color: \"" + colorStrings.at(i) + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->color(), QColor(colorStrings.at(i)));
+ QCOMPARE(textObject->styleColor(), QColor());
+
+ delete textObject;
+ }
+
+ for (int i = 0; i < colorStrings.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { styleColor: \"" + colorStrings.at(i) + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->styleColor(), QColor(colorStrings.at(i)));
+ // default color to black?
+ QCOMPARE(textObject->color(), QColor("black"));
+
+ delete textObject;
+ }
+
+ for (int i = 0; i < colorStrings.size(); i++)
+ {
+ for (int j = 0; j < colorStrings.size(); j++)
+ {
+ QString componentStr = "import QtQuick 2.0\nText { color: \"" + colorStrings.at(i) + "\"; styleColor: \"" + colorStrings.at(j) + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->color(), QColor(colorStrings.at(i)));
+ QCOMPARE(textObject->styleColor(), QColor(colorStrings.at(j)));
+
+ delete textObject;
+ }
+ }
+ {
+ QString colorStr = "#AA001234";
+ QColor testColor("#001234");
+ testColor.setAlpha(170);
+
+ QString componentStr = "import QtQuick 2.0\nText { color: \"" + colorStr + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QCOMPARE(textObject->color(), testColor);
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::smooth()
+{
+ for (int i = 0; i < standard.size(); i++)
+ {
+ {
+ QString componentStr = "import QtQuick 2.0\nText { smooth: true; text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+ QCOMPARE(textObject->smooth(), true);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+ QCOMPARE(textObject->smooth(), false);
+
+ delete textObject;
+ }
+ }
+ for (int i = 0; i < richText.size(); i++)
+ {
+ {
+ QString componentStr = "import QtQuick 2.0\nText { smooth: true; text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+ QCOMPARE(textObject->smooth(), true);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+ QCOMPARE(textObject->smooth(), false);
+
+ delete textObject;
+ }
+ }
+}
+
+void tst_qsgtext::weight()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE((int)textObject->font().weight(), (int)QDeclarativeFontValueType::Normal);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { font.weight: \"Bold\"; text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE((int)textObject->font().weight(), (int)QDeclarativeFontValueType::Bold);
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::underline()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().underline(), false);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { font.underline: true; text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().underline(), true);
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::overline()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().overline(), false);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { font.overline: true; text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().overline(), true);
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::strikeout()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().strikeOut(), false);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { font.strikeout: true; text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().strikeOut(), true);
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::capitalization()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE((int)textObject->font().capitalization(), (int)QDeclarativeFontValueType::MixedCase);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\"; font.capitalization: \"AllUppercase\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE((int)textObject->font().capitalization(), (int)QDeclarativeFontValueType::AllUppercase);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\"; font.capitalization: \"AllLowercase\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE((int)textObject->font().capitalization(), (int)QDeclarativeFontValueType::AllLowercase);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\"; font.capitalization: \"SmallCaps\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE((int)textObject->font().capitalization(), (int)QDeclarativeFontValueType::SmallCaps);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\"; font.capitalization: \"Capitalize\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE((int)textObject->font().capitalization(), (int)QDeclarativeFontValueType::Capitalize);
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::letterSpacing()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().letterSpacing(), 0.0);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\"; font.letterSpacing: -2 }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().letterSpacing(), -2.);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\"; font.letterSpacing: 3 }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().letterSpacing(), 3.);
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::wordSpacing()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().wordSpacing(), 0.0);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\"; font.wordSpacing: -50 }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().wordSpacing(), -50.);
+
+ delete textObject;
+ }
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"Hello world!\"; font.wordSpacing: 200 }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QCOMPARE(textObject->font().wordSpacing(), 200.);
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::QTBUG_12291()
+{
+ QSGView *canvas = createView(SRCDIR "/data/rotated.qml");
+
+ canvas->show();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas));
+
+ QObject *ob = canvas->rootObject();
+ QVERIFY(ob != 0);
+
+ QSGText *text = ob->findChild<QSGText*>("text");
+ QVERIFY(text);
+ QVERIFY(text->boundingRect().isValid());
+
+ delete canvas;
+}
+
+class EventSender : public QSGItem
+{
+public:
+ void sendEvent(QEvent *event) {
+ if (event->type() == QEvent::GraphicsSceneMousePress)
+ mousePressEvent(static_cast<QGraphicsSceneMouseEvent*>(event));
+ else if (event->type() == QEvent::GraphicsSceneMouseRelease)
+ mouseReleaseEvent(static_cast<QGraphicsSceneMouseEvent*>(event));
+ else
+ qWarning() << "Trying to send unsupported event type";
+ }
+};
+
+class LinkTest : public QObject
+{
+ Q_OBJECT
+public:
+ LinkTest() {}
+
+ QString link;
+
+public slots:
+ void linkClicked(QString l) { link = l; }
+};
+
+void tst_qsgtext::clickLink()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nText { text: \"<a href=\\\"http://qt.nokia.com\\\">Hello world!</a>\" }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+
+ LinkTest test;
+ QObject::connect(textObject, SIGNAL(linkActivated(QString)), &test, SLOT(linkClicked(QString)));
+
+ {
+ QGraphicsSceneMouseEvent me(QEvent::GraphicsSceneMousePress);
+ me.setPos(QPointF(textObject->x()/2, textObject->y()/2));
+ me.setButton(Qt::LeftButton);
+ static_cast<EventSender*>(static_cast<QSGItem*>(textObject))->sendEvent(&me);
+ }
+
+ {
+ QGraphicsSceneMouseEvent me(QEvent::GraphicsSceneMouseRelease);
+ me.setPos(QPointF(textObject->x()/2, textObject->y()/2));
+ me.setButton(Qt::LeftButton);
+ static_cast<EventSender*>(static_cast<QSGItem*>(textObject))->sendEvent(&me);
+ }
+
+ QCOMPARE(test.link, QLatin1String("http://qt.nokia.com"));
+
+ delete textObject;
+ }
+}
+
+void tst_qsgtext::embeddedImages_data()
+{
+ QTest::addColumn<QUrl>("qmlfile");
+ QTest::addColumn<QString>("error");
+ QTest::newRow("local") << QUrl::fromLocalFile(SRCDIR "/data/embeddedImagesLocal.qml") << "";
+ QTest::newRow("local-error") << QUrl::fromLocalFile(SRCDIR "/data/embeddedImagesLocalError.qml")
+ << QUrl::fromLocalFile(SRCDIR "/data/embeddedImagesLocalError.qml").toString()+":3:1: QML Text: Cannot open: " + QUrl::fromLocalFile(SRCDIR "/data/http/notexists.png").toString();
+ QTest::newRow("remote") << QUrl::fromLocalFile(SRCDIR "/data/embeddedImagesRemote.qml") << "";
+ QTest::newRow("remote-error") << QUrl::fromLocalFile(SRCDIR "/data/embeddedImagesRemoteError.qml")
+ << QUrl::fromLocalFile(SRCDIR "/data/embeddedImagesRemoteError.qml").toString()+":3:1: QML Text: Error downloading http://127.0.0.1:14453/notexists.png - server replied: Not found";
+}
+
+void tst_qsgtext::embeddedImages()
+{
+ // Tests QTBUG-9900
+
+ QFETCH(QUrl, qmlfile);
+ QFETCH(QString, error);
+
+ TestHTTPServer server(14453);
+ server.serveDirectory(SRCDIR "/data/http");
+
+ if (!error.isEmpty())
+ QTest::ignoreMessage(QtWarningMsg, error.toLatin1());
+
+ QDeclarativeComponent textComponent(&engine, qmlfile);
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+
+ QTRY_COMPARE(textObject->resourcesLoading(), 0);
+
+ QPixmap pm(SRCDIR "/data/http/exists.png");
+ if (error.isEmpty()) {
+ QCOMPARE(textObject->width(), double(pm.width()));
+ QCOMPARE(textObject->height(), double(pm.height()));
+ } else {
+ QVERIFY(16 != pm.width()); // check test is effective
+ QCOMPARE(textObject->width(), 16.0); // default size of QTextDocument broken image icon
+ QCOMPARE(textObject->height(), 16.0);
+ }
+
+ delete textObject;
+}
+
+void tst_qsgtext::lineCount()
+{
+ QSGView *canvas = createView(SRCDIR "/data/lineCount.qml");
+
+ QSGText *myText = canvas->rootObject()->findChild<QSGText*>("myText");
+ QVERIFY(myText != 0);
+
+ QVERIFY(myText->lineCount() > 1);
+ QVERIFY(!myText->truncated());
+ QCOMPARE(myText->maximumLineCount(), INT_MAX);
+
+ myText->setMaximumLineCount(2);
+ QCOMPARE(myText->lineCount(), 2);
+ QCOMPARE(myText->truncated(), true);
+ QCOMPARE(myText->maximumLineCount(), 2);
+
+ myText->resetMaximumLineCount();
+ QCOMPARE(myText->maximumLineCount(), INT_MAX);
+ QCOMPARE(myText->truncated(), false);
+
+ myText->setElideMode(QSGText::ElideRight);
+ myText->setMaximumLineCount(2);
+ QCOMPARE(myText->lineCount(), 2);
+ QCOMPARE(myText->truncated(), true);
+ QCOMPARE(myText->maximumLineCount(), 2);
+
+ delete canvas;
+}
+
+void tst_qsgtext::lineHeight()
+{
+ QSGView *canvas = createView(SRCDIR "/data/lineHeight.qml");
+
+ QSGText *myText = canvas->rootObject()->findChild<QSGText*>("myText");
+ QVERIFY(myText != 0);
+
+ QVERIFY(myText->lineHeight() == 1);
+ QVERIFY(myText->lineHeightMode() == QSGText::ProportionalHeight);
+
+ qreal h = myText->height();
+ myText->setLineHeight(1.5);
+ QVERIFY(myText->height() == h * 1.5);
+
+ myText->setLineHeightMode(QSGText::FixedHeight);
+ myText->setLineHeight(20);
+ QCOMPARE(myText->height(), myText->lineCount() * 20.0);
+
+ myText->setText("Lorem ipsum sit <b>amet</b>, consectetur adipiscing elit. Integer felis nisl, varius in pretium nec, venenatis non erat. Proin lobortis interdum dictum.");
+ myText->setLineHeightMode(QSGText::ProportionalHeight);
+ myText->setLineHeight(1.0);
+
+ qreal h2 = myText->height();
+ myText->setLineHeight(2.0);
+ QVERIFY(myText->height() == h2 * 2.0);
+
+ myText->setLineHeightMode(QSGText::FixedHeight);
+ myText->setLineHeight(10);
+ QCOMPARE(myText->height(), myText->lineCount() * 10.0);
+
+ delete canvas;
+}
+
+void tst_qsgtext::implicitSize_data()
+{
+ QTest::addColumn<QString>("text");
+ QTest::addColumn<QString>("wrap");
+ QTest::newRow("plain") << "The quick red fox jumped over the lazy brown dog" << "Text.NoWrap";
+ QTest::newRow("richtext") << "<b>The quick red fox jumped over the lazy brown dog</b>" << "Text.NoWrap";
+ QTest::newRow("plain_wrap") << "The quick red fox jumped over the lazy brown dog" << "Text.Wrap";
+ QTest::newRow("richtext_wrap") << "<b>The quick red fox jumped over the lazy brown dog</b>" << "Text.Wrap";
+}
+
+void tst_qsgtext::implicitSize()
+{
+ QFETCH(QString, text);
+ QFETCH(QString, wrap);
+ QString componentStr = "import QtQuick 2.0\nText { text: \"" + text + "\"; width: 50; wrapMode: " + wrap + " }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGText *textObject = qobject_cast<QSGText*>(textComponent.create());
+
+ QVERIFY(textObject->width() < textObject->implicitWidth());
+ QVERIFY(textObject->height() == textObject->implicitHeight());
+
+ textObject->resetWidth();
+ QVERIFY(textObject->width() == textObject->implicitWidth());
+ QVERIFY(textObject->height() == textObject->implicitHeight());
+
+ delete textObject;
+}
+
+void tst_qsgtext::qtbug_14734()
+{
+ QSGView *canvas = createView(SRCDIR "/data/qtbug_14734.qml");
+ QVERIFY(canvas);
+
+ canvas->show();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(canvas));
+
+ delete canvas;
+}
+
+QTEST_MAIN(tst_qsgtext)
+
+#include "tst_qsgtext.moc"
diff --git a/tests/auto/declarative/qsgtextedit/data/CursorRect.qml b/tests/auto/declarative/qsgtextedit/data/CursorRect.qml
new file mode 100644
index 0000000000..cae3e63b72
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/CursorRect.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+ objectName: "myEdit"
+ width: 50
+ text: "This is a long piece of text"
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/alignments.qml b/tests/auto/declarative/qsgtextedit/data/alignments.qml
new file mode 100644
index 0000000000..7d365da8cb
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/alignments.qml
@@ -0,0 +1,41 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: top
+ width: 70; height: 70;
+
+ property alias horizontalAlignment: t.horizontalAlignment
+ property alias verticalAlignment: t.verticalAlignment
+ property alias wrapMode: t.wrapMode
+ property alias running: timer.running
+ property string txt: "Test"
+
+ Rectangle {
+ anchors.centerIn: parent
+ width: 40
+ height: 40
+ color: "green"
+
+ TextEdit {
+ id: t
+
+ anchors.fill: parent
+ horizontalAlignment: TextEdit.AlignRight
+ verticalAlignment: TextEdit.AlignBottom
+ wrapMode: TextEdit.WordWrap
+ text: top.txt
+ }
+ Timer {
+ id: timer
+
+ interval: 1
+ running: true
+ repeat: true
+ onTriggered: {
+ top.txt = top.txt + "<br>more " + top.txt.length;
+ if (top.txt.length > 50)
+ running = false
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/alignments_cb.png b/tests/auto/declarative/qsgtextedit/data/alignments_cb.png
new file mode 100644
index 0000000000..99de2192de
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/alignments_cb.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextedit/data/alignments_cc.png b/tests/auto/declarative/qsgtextedit/data/alignments_cc.png
new file mode 100644
index 0000000000..cb85251180
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/alignments_cc.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextedit/data/alignments_ct.png b/tests/auto/declarative/qsgtextedit/data/alignments_ct.png
new file mode 100644
index 0000000000..ddca549c82
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/alignments_ct.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextedit/data/alignments_lb.png b/tests/auto/declarative/qsgtextedit/data/alignments_lb.png
new file mode 100644
index 0000000000..1b50a81f3d
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/alignments_lb.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextedit/data/alignments_lc.png b/tests/auto/declarative/qsgtextedit/data/alignments_lc.png
new file mode 100644
index 0000000000..f041b868f8
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/alignments_lc.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextedit/data/alignments_lt.png b/tests/auto/declarative/qsgtextedit/data/alignments_lt.png
new file mode 100644
index 0000000000..c75e0d158e
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/alignments_lt.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextedit/data/alignments_rb.png b/tests/auto/declarative/qsgtextedit/data/alignments_rb.png
new file mode 100644
index 0000000000..b06a5da715
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/alignments_rb.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextedit/data/alignments_rc.png b/tests/auto/declarative/qsgtextedit/data/alignments_rc.png
new file mode 100644
index 0000000000..e468857cd0
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/alignments_rc.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextedit/data/alignments_rt.png b/tests/auto/declarative/qsgtextedit/data/alignments_rt.png
new file mode 100644
index 0000000000..576715ffce
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/alignments_rt.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextedit/data/cursorTest.qml b/tests/auto/declarative/qsgtextedit/data/cursorTest.qml
new file mode 100644
index 0000000000..e734fc141c
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/cursorTest.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+Rectangle { width: 300; height: 300; color: "white"
+ TextEdit { text: "Hello world!"; id: textEditObject; objectName: "textEditObject"
+ resources: [ Component { id:cursor; Item { id:cursorInstance; objectName: "cursorInstance" } } ]
+ cursorDelegate: cursor
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/cursorVisible.qml b/tests/auto/declarative/qsgtextedit/data/cursorVisible.qml
new file mode 100644
index 0000000000..49e9386947
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/cursorVisible.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+Item {
+ width: 100
+ height: 20
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/geometrySignals.qml b/tests/auto/declarative/qsgtextedit/data/geometrySignals.qml
new file mode 100644
index 0000000000..3dbe61c74b
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/geometrySignals.qml
@@ -0,0 +1,12 @@
+import QtQuick 2.0
+
+Item {
+ width: 400; height: 500;
+ property int bindingWidth: text.width
+ property int bindingHeight: text.height
+
+ TextInput {
+ id: text
+ anchors.fill: parent
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/horizontalAlignment_RightToLeft.qml b/tests/auto/declarative/qsgtextedit/data/horizontalAlignment_RightToLeft.qml
new file mode 100644
index 0000000000..74592fed7f
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/horizontalAlignment_RightToLeft.qml
@@ -0,0 +1,23 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: top
+ width: 200; height: 70;
+
+ property alias horizontalAlignment: text.horizontalAlignment
+ property string text: "اختبا"
+
+ Rectangle {
+ anchors.centerIn: parent
+ width: 200
+ height: 20
+ color: "green"
+
+ TextEdit {
+ id: text
+ objectName: "text"
+ anchors.fill: parent
+ text: top.text
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/http/ErrItem.qml b/tests/auto/declarative/qsgtextedit/data/http/ErrItem.qml
new file mode 100644
index 0000000000..68c0e0c093
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/http/ErrItem.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+Item{
+ Fungus{
+ palatable: false;
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/http/NormItem.qml b/tests/auto/declarative/qsgtextedit/data/http/NormItem.qml
new file mode 100644
index 0000000000..2e4c1ed440
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/http/NormItem.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+Item {
+ objectName: "delegateOkay"
+ Rectangle { }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTest.qml b/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTest.qml
new file mode 100644
index 0000000000..be4526e22b
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTest.qml
@@ -0,0 +1,22 @@
+import QtQuick 2.0
+
+Rectangle { width: 300; height: 300; color: "white"
+ resources: [
+ Component { id:cursorFail; FailItem { objectName: "delegateFail" } },
+ Component { id:cursorWait; WaitItem { objectName: "delegateSlow" } },
+ Component { id:cursorNorm; NormItem { objectName: "delegateOkay" } },
+ Component { id:cursorErr; ErrItem { objectName: "delegateErrorA" } }
+ ]
+ TextEdit {
+ cursorDelegate: cursorFail
+ }
+ TextEdit {
+ cursorDelegate: cursorWait
+ }
+ TextEdit {
+ cursorDelegate: cursorNorm
+ }
+ TextEdit {
+ cursorDelegate: cursorErr
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestFail1.qml b/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestFail1.qml
new file mode 100644
index 0000000000..1d7763f913
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestFail1.qml
@@ -0,0 +1,18 @@
+import QtQuick 2.0
+
+Rectangle { width: 300; height: 300; color: "white"
+ resources: [
+ Component { id:cursorFail; FailItem { objectName: "delegateFail" } },
+ Component { id:cursorWait; WaitItem { objectName: "delegateSlow" } },
+ Component { id:cursorNorm; NormItem { objectName: "delegateOkay" } }
+ ]
+ TextEdit {
+ cursorDelegate: cursorFail
+ }
+ TextEdit {
+ cursorDelegate: cursorWait
+ }
+ TextEdit {
+ cursorDelegate: cursorNorm
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestFail2.qml b/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestFail2.qml
new file mode 100644
index 0000000000..c82ec02e68
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestFail2.qml
@@ -0,0 +1,18 @@
+import QtQuick 2.0
+
+Rectangle { width: 300; height: 300; color: "white"
+ resources: [
+ Component { id:cursorWait; WaitItem { objectName: "delegateSlow" } },
+ Component { id:cursorNorm; NormItem { objectName: "delegateOkay" } },
+ Component { id:cursorErr; ErrItem { objectName: "delegateErrorA" } }
+ ]
+ TextEdit {
+ cursorDelegate: cursorWait
+ }
+ TextEdit {
+ cursorDelegate: cursorNorm
+ }
+ TextEdit {
+ cursorDelegate: cursorErr
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestPass.qml b/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestPass.qml
new file mode 100644
index 0000000000..96d582c95d
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/http/cursorHttpTestPass.qml
@@ -0,0 +1,18 @@
+import QtQuick 2.0
+
+Rectangle { width: 300; height: 300; color: "white"
+ resources: [
+ Component { id:cursorWait; WaitItem { objectName: "delegateSlow" } },
+ Component { id:cursorNorm; NormItem { objectName: "delegateOkay" } }
+ ]
+ TextEdit {
+ cursorDelegate: cursorWait
+ text: "Hello"
+ }
+ TextEdit {
+ objectName: "textEditObject"
+ cursorDelegate: cursorNorm
+ focus: true;
+ text: "Hello"
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/http/qmldir b/tests/auto/declarative/qsgtextedit/data/http/qmldir
new file mode 100644
index 0000000000..886e6ffec0
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/http/qmldir
@@ -0,0 +1,4 @@
+ErrItem ErrItem.qml
+NormItem NormItem.qml
+FailItem FailItem.qml
+WaitItem WaitItem.qml
diff --git a/tests/auto/declarative/qsgtextedit/data/httpfail/FailItem.qml b/tests/auto/declarative/qsgtextedit/data/httpfail/FailItem.qml
new file mode 100644
index 0000000000..8161843479
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/httpfail/FailItem.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Item {
+ Rectangle { }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/httpslow/WaitItem.qml b/tests/auto/declarative/qsgtextedit/data/httpslow/WaitItem.qml
new file mode 100644
index 0000000000..8161843479
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/httpslow/WaitItem.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+Item {
+ Rectangle { }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/inputContext.qml b/tests/auto/declarative/qsgtextedit/data/inputContext.qml
new file mode 100644
index 0000000000..a37c77e3bf
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/inputContext.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextEdit {
+ width: 200
+ text: "supercalifra"
+ focus: true
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/inputMethodEvent.qml b/tests/auto/declarative/qsgtextedit/data/inputMethodEvent.qml
new file mode 100644
index 0000000000..e3f629ce3e
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/inputMethodEvent.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/inputmethodhints.qml b/tests/auto/declarative/qsgtextedit/data/inputmethodhints.qml
new file mode 100644
index 0000000000..dec3b978e7
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/inputmethodhints.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+TextEdit {
+ text: "Hello world!"
+ inputMethodHints: Qt.ImhNoPredictiveText
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/mouseselection_default.qml b/tests/auto/declarative/qsgtextedit/data/mouseselection_default.qml
new file mode 100644
index 0000000000..ac32f4ced7
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/mouseselection_default.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: false
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/mouseselection_false.qml b/tests/auto/declarative/qsgtextedit/data/mouseselection_false.qml
new file mode 100644
index 0000000000..ac32f4ced7
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/mouseselection_false.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: false
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/mouseselection_false_words.qml b/tests/auto/declarative/qsgtextedit/data/mouseselection_false_words.qml
new file mode 100644
index 0000000000..ac32f4ced7
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/mouseselection_false_words.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: false
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/mouseselection_true.qml b/tests/auto/declarative/qsgtextedit/data/mouseselection_true.qml
new file mode 100644
index 0000000000..7c7cb0b6fc
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/mouseselection_true.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: true
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/mouseselection_true_words.qml b/tests/auto/declarative/qsgtextedit/data/mouseselection_true_words.qml
new file mode 100644
index 0000000000..7c7cb0b6fc
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/mouseselection_true_words.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: true
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/mouseselectionmode_characters.qml b/tests/auto/declarative/qsgtextedit/data/mouseselectionmode_characters.qml
new file mode 100644
index 0000000000..c1fe42fd57
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/mouseselectionmode_characters.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: true
+ mouseSelectionMode: TextEdit.SelectCharacters
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/mouseselectionmode_default.qml b/tests/auto/declarative/qsgtextedit/data/mouseselectionmode_default.qml
new file mode 100644
index 0000000000..7c7cb0b6fc
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/mouseselectionmode_default.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: true
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/mouseselectionmode_words.qml b/tests/auto/declarative/qsgtextedit/data/mouseselectionmode_words.qml
new file mode 100644
index 0000000000..0a372bbf83
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/mouseselectionmode_words.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: true
+ mouseSelectionMode: TextEdit.SelectWords
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/navigation.qml b/tests/auto/declarative/qsgtextedit/data/navigation.qml
new file mode 100644
index 0000000000..0201c62b3c
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/navigation.qml
@@ -0,0 +1,24 @@
+import QtQuick 2.0
+
+Rectangle {
+ property variant myInput: input
+
+ width: 800; height: 600; color: "blue"
+
+ Item {
+ id: firstItem;
+ KeyNavigation.right: input
+ }
+
+ TextEdit { id: input; focus: true
+ KeyNavigation.left: firstItem
+ KeyNavigation.right: lastItem
+ KeyNavigation.up: firstItem
+ KeyNavigation.down: lastItem
+ text: "a"
+ }
+ Item {
+ id: lastItem
+ KeyNavigation.left: input
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/openInputPanel.qml b/tests/auto/declarative/qsgtextedit/data/openInputPanel.qml
new file mode 100644
index 0000000000..8998e55abb
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/openInputPanel.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+TextEdit {
+ text: "Hello world"
+ focus: false
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/positionAt.qml b/tests/auto/declarative/qsgtextedit/data/positionAt.qml
new file mode 100644
index 0000000000..19093281fe
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/positionAt.qml
@@ -0,0 +1,9 @@
+import QtQuick 2.0
+
+TextEdit {
+ focus: true
+ objectName: "myInput"
+ width: 50
+ height: 25
+ text: "This is\n a long piece of text"
+}
diff --git a/tests/auto/declarative/qsgtextedit/data/readOnly.qml b/tests/auto/declarative/qsgtextedit/data/readOnly.qml
new file mode 100644
index 0000000000..085adba5fb
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/data/readOnly.qml
@@ -0,0 +1,12 @@
+import QtQuick 2.0
+
+Rectangle {
+ property variant myInput: input
+
+ width: 800; height: 600; color: "blue"
+
+ TextEdit { id: input; focus: true
+ readOnly: true
+ text: "I am the very model of a modern major general.\n"
+ }
+}
diff --git a/tests/auto/declarative/qsgtextedit/qsgtextedit.pro b/tests/auto/declarative/qsgtextedit/qsgtextedit.pro
new file mode 100644
index 0000000000..be8d98ba01
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/qsgtextedit.pro
@@ -0,0 +1,17 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui network
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsgtextedit.cpp ../shared/testhttpserver.cpp
+HEADERS += ../shared/testhttpserver.h
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+QT += core-private gui-private declarative-private
+QT += script-private
+QT += opengl-private
diff --git a/tests/auto/declarative/qsgtextedit/tst_qsgtextedit.cpp b/tests/auto/declarative/qsgtextedit/tst_qsgtextedit.cpp
new file mode 100644
index 0000000000..7d74c0add8
--- /dev/null
+++ b/tests/auto/declarative/qsgtextedit/tst_qsgtextedit.cpp
@@ -0,0 +1,2417 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QtTest/QSignalSpy>
+#include "../../../shared/util.h"
+#include "../shared/testhttpserver.h"
+#include <math.h>
+#include <QFile>
+#include <QTextDocument>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <private/qsgtextedit_p.h>
+#include <private/qsgtextedit_p_p.h>
+#include <QFontMetrics>
+#include <QSGView>
+#include <QDir>
+#include <QStyle>
+#include <QInputContext>
+#include <QClipboard>
+#include <QMimeData>
+#include <private/qapplication_p.h>
+#include <private/qtextcontrol_p.h>
+#include <QtOpenGL/QGLShaderProgram>
+
+#ifdef Q_WS_MAC
+#include <Carbon/Carbon.h>
+#endif
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+Q_DECLARE_METATYPE(QSGTextEdit::SelectionMode)
+
+QString createExpectedFileIfNotFound(const QString& filebasename, const QImage& actual)
+{
+ // XXX This will be replaced by some clever persistent platform image store.
+ QString persistent_dir = SRCDIR "/data";
+ QString arch = "unknown-architecture"; // QTest needs to help with this.
+
+ QString expectfile = persistent_dir + QDir::separator() + filebasename + "-" + arch + ".png";
+
+ if (!QFile::exists(expectfile)) {
+ actual.save(expectfile);
+ qWarning() << "created" << expectfile;
+ }
+
+ return expectfile;
+}
+
+
+class tst_qsgtextedit : public QObject
+
+{
+ Q_OBJECT
+public:
+ tst_qsgtextedit();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void text();
+ void width();
+ void wrap();
+ void textFormat();
+ void alignments();
+ void alignments_data();
+
+ // ### these tests may be trivial
+ void hAlign();
+ void hAlign_RightToLeft();
+ void vAlign();
+ void font();
+ void color();
+ void textMargin();
+ void persistentSelection();
+ void focusOnPress();
+ void selection();
+ void isRightToLeft_data();
+ void isRightToLeft();
+ void keySelection();
+ void moveCursorSelection_data();
+ void moveCursorSelection();
+ void moveCursorSelectionSequence_data();
+ void moveCursorSelectionSequence();
+ void mouseSelection_data();
+ void mouseSelection();
+ void mouseSelectionMode_data();
+ void mouseSelectionMode();
+ void dragMouseSelection();
+ void inputMethodHints();
+
+ void positionAt();
+
+ void cursorDelegate();
+ void cursorVisible();
+ void delegateLoading_data();
+ void delegateLoading();
+ void navigation();
+ void readOnly();
+ void copyAndPaste();
+ void canPaste();
+ void canPasteEmpty();
+ void textInput();
+ void openInputPanelOnClick();
+ void openInputPanelOnFocus();
+ void geometrySignals();
+ void pastingRichText_QTBUG_14003();
+ void implicitSize_data();
+ void implicitSize();
+ void testQtQuick11Attributes();
+ void testQtQuick11Attributes_data();
+
+ void preeditMicroFocus();
+ void inputContextMouseHandler();
+ void inputMethodComposing();
+ void cursorRectangleSize();
+
+private:
+ void simulateKey(QSGView *, int key, Qt::KeyboardModifiers modifiers = 0);
+
+ QStringList standard;
+ QStringList richText;
+
+ QStringList hAlignmentStrings;
+ QStringList vAlignmentStrings;
+
+ QList<Qt::Alignment> vAlignments;
+ QList<Qt::Alignment> hAlignments;
+
+ QStringList colorStrings;
+
+ QDeclarativeEngine engine;
+};
+void tst_qsgtextedit::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("TextEdit item needs OpenGL 2.0", SkipAll);
+}
+
+void tst_qsgtextedit::cleanupTestCase()
+{
+
+}
+tst_qsgtextedit::tst_qsgtextedit()
+{
+ standard << "the quick brown fox jumped over the lazy dog"
+ << "the quick brown fox\n jumped over the lazy dog"
+ << "Hello, world!"
+ << "!dlrow ,olleH";
+
+ richText << "<i>the <b>quick</b> brown <a href=\\\"http://www.google.com\\\">fox</a> jumped over the <b>lazy</b> dog</i>"
+ << "<i>the <b>quick</b> brown <a href=\\\"http://www.google.com\\\">fox</a><br>jumped over the <b>lazy</b> dog</i>";
+
+ hAlignmentStrings << "AlignLeft"
+ << "AlignRight"
+ << "AlignHCenter";
+
+ vAlignmentStrings << "AlignTop"
+ << "AlignBottom"
+ << "AlignVCenter";
+
+ hAlignments << Qt::AlignLeft
+ << Qt::AlignRight
+ << Qt::AlignHCenter;
+
+ vAlignments << Qt::AlignTop
+ << Qt::AlignBottom
+ << Qt::AlignVCenter;
+
+ colorStrings << "aliceblue"
+ << "antiquewhite"
+ << "aqua"
+ << "darkkhaki"
+ << "darkolivegreen"
+ << "dimgray"
+ << "palevioletred"
+ << "lightsteelblue"
+ << "#000000"
+ << "#AAAAAA"
+ << "#FFFFFF"
+ << "#2AC05F";
+ //
+ // need a different test to do alpha channel test
+ // << "#AA0011DD"
+ // << "#00F16B11";
+ //
+}
+
+void tst_qsgtextedit::text()
+{
+ {
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData("import QtQuick 2.0\nTextEdit { text: \"\" }", QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->text(), QString(""));
+ }
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->text(), standard.at(i));
+ }
+
+ for (int i = 0; i < richText.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QString actual = textEditObject->text();
+ QString expected = richText.at(i);
+ actual.replace(QRegExp(".*<body[^>]*>"),"");
+ actual.replace(QRegExp("(<[^>]*>)+"),"<>");
+ expected.replace(QRegExp("(<[^>]*>)+"),"<>");
+ QCOMPARE(actual.simplified(),expected.simplified());
+ }
+}
+
+void tst_qsgtextedit::width()
+{
+ // uses Font metrics to find the width for standard and document to find the width for rich
+ {
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData("import QtQuick 2.0\nTextEdit { text: \"\" }", QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->width(), 0.0);
+ }
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ QFont f;
+ QFontMetricsF fm(f);
+ qreal metricWidth = fm.size(Qt::TextExpandTabs && Qt::TextShowMnemonic, standard.at(i)).width();
+ metricWidth = ceil(metricWidth);
+
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->width(), qreal(metricWidth));
+ }
+
+ for (int i = 0; i < richText.size(); i++)
+ {
+ QTextDocument document;
+ document.setHtml(richText.at(i));
+ document.setDocumentMargin(0);
+
+ int documentWidth = ceil(document.idealWidth());
+
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->width(), qreal(documentWidth));
+ }
+}
+
+void tst_qsgtextedit::wrap()
+{
+ // for specified width and wrap set true
+ {
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData("import QtQuick 2.0\nTextEdit { text: \"\"; wrapMode: TextEdit.WordWrap; width: 300 }", QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->width(), 300.);
+ }
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { wrapMode: TextEdit.WordWrap; width: 300; text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->width(), 300.);
+ }
+
+ for (int i = 0; i < richText.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { wrapMode: TextEdit.WordWrap; width: 300; text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->width(), 300.);
+ }
+
+}
+
+void tst_qsgtextedit::textFormat()
+{
+ {
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData("import QtQuick 2.0\nTextEdit { text: \"Hello\"; textFormat: Text.RichText }", QUrl::fromLocalFile(""));
+ QSGTextEdit *textObject = qobject_cast<QSGTextEdit*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QVERIFY(textObject->textFormat() == QSGTextEdit::RichText);
+ }
+ {
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData("import QtQuick 2.0\nTextEdit { text: \"<b>Hello</b>\"; textFormat: Text.PlainText }", QUrl::fromLocalFile(""));
+ QSGTextEdit *textObject = qobject_cast<QSGTextEdit*>(textComponent.create());
+
+ QVERIFY(textObject != 0);
+ QVERIFY(textObject->textFormat() == QSGTextEdit::PlainText);
+ }
+}
+
+void tst_qsgtextedit::alignments_data()
+{
+ QTest::addColumn<int>("hAlign");
+ QTest::addColumn<int>("vAlign");
+ QTest::addColumn<QString>("expectfile");
+
+ QTest::newRow("LT") << int(Qt::AlignLeft) << int(Qt::AlignTop) << "alignments_lt";
+ QTest::newRow("RT") << int(Qt::AlignRight) << int(Qt::AlignTop) << "alignments_rt";
+ QTest::newRow("CT") << int(Qt::AlignHCenter) << int(Qt::AlignTop) << "alignments_ct";
+
+ QTest::newRow("LB") << int(Qt::AlignLeft) << int(Qt::AlignBottom) << "alignments_lb";
+ QTest::newRow("RB") << int(Qt::AlignRight) << int(Qt::AlignBottom) << "alignments_rb";
+ QTest::newRow("CB") << int(Qt::AlignHCenter) << int(Qt::AlignBottom) << "alignments_cb";
+
+ QTest::newRow("LC") << int(Qt::AlignLeft) << int(Qt::AlignVCenter) << "alignments_lc";
+ QTest::newRow("RC") << int(Qt::AlignRight) << int(Qt::AlignVCenter) << "alignments_rc";
+ QTest::newRow("CC") << int(Qt::AlignHCenter) << int(Qt::AlignVCenter) << "alignments_cc";
+}
+
+
+void tst_qsgtextedit::alignments()
+{
+ QFETCH(int, hAlign);
+ QFETCH(int, vAlign);
+ QFETCH(QString, expectfile);
+
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/alignments.qml"));
+
+ canvas.show();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&canvas));
+
+ QObject *ob = canvas.rootObject();
+ QVERIFY(ob != 0);
+ ob->setProperty("horizontalAlignment",hAlign);
+ ob->setProperty("verticalAlignment",vAlign);
+ QTRY_COMPARE(ob->property("running").toBool(),false);
+ QImage actual(canvas.width(), canvas.height(), QImage::Format_RGB32);
+ actual.fill(qRgb(255,255,255));
+ QPainter p(&actual);
+ canvas.render(&p);
+
+ expectfile = createExpectedFileIfNotFound(expectfile, actual);
+
+ QImage expect(expectfile);
+
+ QCOMPARE(actual,expect);
+}
+
+
+//the alignment tests may be trivial o.oa
+void tst_qsgtextedit::hAlign()
+{
+ //test one align each, and then test if two align fails.
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ for (int j=0; j < hAlignmentStrings.size(); j++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { horizontalAlignment: \"" + hAlignmentStrings.at(j) + "\"; text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE((int)textEditObject->hAlign(), (int)hAlignments.at(j));
+ }
+ }
+
+ for (int i = 0; i < richText.size(); i++)
+ {
+ for (int j=0; j < hAlignmentStrings.size(); j++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { horizontalAlignment: \"" + hAlignmentStrings.at(j) + "\"; text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE((int)textEditObject->hAlign(), (int)hAlignments.at(j));
+ }
+ }
+
+}
+
+void tst_qsgtextedit::hAlign_RightToLeft()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/horizontalAlignment_RightToLeft.qml"));
+ QSGTextEdit *textEdit = canvas.rootObject()->findChild<QSGTextEdit*>("text");
+ QVERIFY(textEdit != 0);
+ canvas.show();
+
+ // implicit alignment should follow the reading direction of text
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignRight);
+ QVERIFY(textEdit->positionToRectangle(0).x() > canvas.width()/2);
+
+ // explicitly left aligned
+ textEdit->setHAlign(QSGTextEdit::AlignLeft);
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignLeft);
+ QVERIFY(textEdit->positionToRectangle(0).x() < canvas.width()/2);
+
+ // explicitly right aligned
+ textEdit->setHAlign(QSGTextEdit::AlignRight);
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignRight);
+ QVERIFY(textEdit->positionToRectangle(0).x() > canvas.width()/2);
+
+ QString textString = textEdit->text();
+ textEdit->setText(QString("<i>") + textString + QString("</i>"));
+ textEdit->resetHAlign();
+
+ // implicitly aligned rich text should follow the reading direction of RTL text
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignRight);
+ QCOMPARE(textEdit->effectiveHAlign(), textEdit->hAlign());
+ QVERIFY(textEdit->positionToRectangle(0).x() > canvas.width()/2);
+
+ // explicitly left aligned rich text
+ textEdit->setHAlign(QSGTextEdit::AlignLeft);
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignLeft);
+ QCOMPARE(textEdit->effectiveHAlign(), textEdit->hAlign());
+ QVERIFY(textEdit->positionToRectangle(0).x() < canvas.width()/2);
+
+ // explicitly right aligned rich text
+ textEdit->setHAlign(QSGTextEdit::AlignRight);
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignRight);
+ QCOMPARE(textEdit->effectiveHAlign(), textEdit->hAlign());
+ QVERIFY(textEdit->positionToRectangle(0).x() > canvas.width()/2);
+
+ textEdit->setText(textString);
+
+ // explicitly center aligned
+ textEdit->setHAlign(QSGTextEdit::AlignHCenter);
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignHCenter);
+ QVERIFY(textEdit->positionToRectangle(0).x() > canvas.width()/2);
+
+ // reseted alignment should go back to following the text reading direction
+ textEdit->resetHAlign();
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignRight);
+ QVERIFY(textEdit->positionToRectangle(0).x() > canvas.width()/2);
+
+ // mirror the text item
+ QSGItemPrivate::get(textEdit)->setLayoutMirror(true);
+
+ // mirrored implicit alignment should continue to follow the reading direction of the text
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignRight);
+ QCOMPARE(textEdit->effectiveHAlign(), QSGTextEdit::AlignRight);
+ QVERIFY(textEdit->positionToRectangle(0).x() > canvas.width()/2);
+
+ // mirrored explicitly right aligned behaves as left aligned
+ textEdit->setHAlign(QSGTextEdit::AlignRight);
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignRight);
+ QCOMPARE(textEdit->effectiveHAlign(), QSGTextEdit::AlignLeft);
+ QVERIFY(textEdit->positionToRectangle(0).x() < canvas.width()/2);
+
+ // mirrored explicitly left aligned behaves as right aligned
+ textEdit->setHAlign(QSGTextEdit::AlignLeft);
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignLeft);
+ QCOMPARE(textEdit->effectiveHAlign(), QSGTextEdit::AlignRight);
+ QVERIFY(textEdit->positionToRectangle(0).x() > canvas.width()/2);
+
+ // disable mirroring
+ QSGItemPrivate::get(textEdit)->setLayoutMirror(false);
+ textEdit->resetHAlign();
+
+ // English text should be implicitly left aligned
+ textEdit->setText("Hello world!");
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignLeft);
+ QVERIFY(textEdit->positionToRectangle(0).x() < canvas.width()/2);
+
+#ifndef Q_OS_MAC // QTBUG-18040
+ // empty text with implicit alignment follows the system locale-based
+ // keyboard input direction from QApplication::keyboardInputDirection
+ textEdit->setText("");
+ QCOMPARE(textEdit->hAlign(), QApplication::keyboardInputDirection() == Qt::LeftToRight ?
+ QSGTextEdit::AlignLeft : QSGTextEdit::AlignRight);
+ if (QApplication::keyboardInputDirection() == Qt::LeftToRight)
+ QVERIFY(textEdit->positionToRectangle(0).x() < canvas.width()/2);
+ else
+ QVERIFY(textEdit->positionToRectangle(0).x() > canvas.width()/2);
+ textEdit->setHAlign(QSGTextEdit::AlignRight);
+ QCOMPARE(textEdit->hAlign(), QSGTextEdit::AlignRight);
+ QVERIFY(textEdit->positionToRectangle(0).x() > canvas.width()/2);
+#endif
+
+#ifndef Q_OS_MAC // QTBUG-18040
+ // alignment of TextEdit with no text set to it
+ QString componentStr = "import QtQuick 2.0\nTextEdit {}";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGTextEdit *textObject = qobject_cast<QSGTextEdit*>(textComponent.create());
+ QCOMPARE(textObject->hAlign(), QApplication::keyboardInputDirection() == Qt::LeftToRight ?
+ QSGTextEdit::AlignLeft : QSGTextEdit::AlignRight);
+ delete textObject;
+#endif
+}
+
+void tst_qsgtextedit::vAlign()
+{
+ //test one align each, and then test if two align fails.
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ for (int j=0; j < vAlignmentStrings.size(); j++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { verticalAlignment: \"" + vAlignmentStrings.at(j) + "\"; text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE((int)textEditObject->vAlign(), (int)vAlignments.at(j));
+ }
+ }
+
+ for (int i = 0; i < richText.size(); i++)
+ {
+ for (int j=0; j < vAlignmentStrings.size(); j++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { verticalAlignment: \"" + vAlignmentStrings.at(j) + "\"; text: \"" + richText.at(i) + "\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE((int)textEditObject->vAlign(), (int)vAlignments.at(j));
+ }
+ }
+
+}
+
+void tst_qsgtextedit::font()
+{
+ //test size, then bold, then italic, then family
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { font.pointSize: 40; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->font().pointSize(), 40);
+ QCOMPARE(textEditObject->font().bold(), false);
+ QCOMPARE(textEditObject->font().italic(), false);
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { font.bold: true; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->font().bold(), true);
+ QCOMPARE(textEditObject->font().italic(), false);
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { font.italic: true; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->font().italic(), true);
+ QCOMPARE(textEditObject->font().bold(), false);
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { font.family: \"Helvetica\"; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->font().family(), QString("Helvetica"));
+ QCOMPARE(textEditObject->font().bold(), false);
+ QCOMPARE(textEditObject->font().italic(), false);
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { font.family: \"\"; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->font().family(), QString(""));
+ }
+}
+
+void tst_qsgtextedit::color()
+{
+ //test initial color
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QSGTextEditPrivate *textEditPrivate = static_cast<QSGTextEditPrivate*>(QSGItemPrivate::get(textEditObject));
+
+ QVERIFY(textEditObject);
+ QVERIFY(textEditPrivate);
+ QVERIFY(textEditPrivate->control);
+
+ QPalette pal = textEditPrivate->control->palette();
+ QCOMPARE(textEditPrivate->color, QColor("black"));
+ QCOMPARE(textEditPrivate->color, pal.color(QPalette::Text));
+ }
+ //test normal
+ for (int i = 0; i < colorStrings.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { color: \"" + colorStrings.at(i) + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+ //qDebug() << "textEditObject: " << textEditObject->color() << "vs. " << QColor(colorStrings.at(i));
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->color(), QColor(colorStrings.at(i)));
+ }
+
+ //test selection
+ for (int i = 0; i < colorStrings.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { selectionColor: \"" + colorStrings.at(i) + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->selectionColor(), QColor(colorStrings.at(i)));
+ }
+
+ //test selected text
+ for (int i = 0; i < colorStrings.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { selectedTextColor: \"" + colorStrings.at(i) + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->selectedTextColor(), QColor(colorStrings.at(i)));
+ }
+
+ {
+ QString colorStr = "#AA001234";
+ QColor testColor("#001234");
+ testColor.setAlpha(170);
+
+ QString componentStr = "import QtQuick 2.0\nTextEdit { color: \"" + colorStr + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->color(), testColor);
+ }
+}
+
+void tst_qsgtextedit::textMargin()
+{
+ for(qreal i=0; i<=10; i+=0.3){
+ QString componentStr = "import QtQuick 2.0\nTextEdit { textMargin: " + QString::number(i) + "; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->textMargin(), i);
+ }
+}
+
+void tst_qsgtextedit::persistentSelection()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { persistentSelection: true; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->persistentSelection(), true);
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { persistentSelection: false; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->persistentSelection(), false);
+ }
+}
+
+void tst_qsgtextedit::focusOnPress()
+{
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { activeFocusOnPress: true; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->focusOnPress(), true);
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nTextEdit { activeFocusOnPress: false; text: \"Hello World\" }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+ QVERIFY(textEditObject != 0);
+ QCOMPARE(textEditObject->focusOnPress(), false);
+ }
+}
+
+void tst_qsgtextedit::selection()
+{
+ QString testStr = standard[0];//TODO: What should happen for multiline/rich text?
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \""+ testStr +"\"; }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+ QVERIFY(textEditObject != 0);
+
+
+ //Test selection follows cursor
+ for(int i=0; i<= testStr.size(); i++) {
+ textEditObject->setCursorPosition(i);
+ QCOMPARE(textEditObject->cursorPosition(), i);
+ QCOMPARE(textEditObject->selectionStart(), i);
+ QCOMPARE(textEditObject->selectionEnd(), i);
+ QVERIFY(textEditObject->selectedText().isNull());
+ }
+
+ textEditObject->setCursorPosition(0);
+ QVERIFY(textEditObject->cursorPosition() == 0);
+ QVERIFY(textEditObject->selectionStart() == 0);
+ QVERIFY(textEditObject->selectionEnd() == 0);
+ QVERIFY(textEditObject->selectedText().isNull());
+
+ // Verify invalid positions are ignored.
+ textEditObject->setCursorPosition(-1);
+ QVERIFY(textEditObject->cursorPosition() == 0);
+ QVERIFY(textEditObject->selectionStart() == 0);
+ QVERIFY(textEditObject->selectionEnd() == 0);
+ QVERIFY(textEditObject->selectedText().isNull());
+
+ textEditObject->setCursorPosition(textEditObject->text().count()+1);
+ QVERIFY(textEditObject->cursorPosition() == 0);
+ QVERIFY(textEditObject->selectionStart() == 0);
+ QVERIFY(textEditObject->selectionEnd() == 0);
+ QVERIFY(textEditObject->selectedText().isNull());
+
+ //Test selection
+ for(int i=0; i<= testStr.size(); i++) {
+ textEditObject->select(0,i);
+ QCOMPARE(testStr.mid(0,i), textEditObject->selectedText());
+ }
+ for(int i=0; i<= testStr.size(); i++) {
+ textEditObject->select(i,testStr.size());
+ QCOMPARE(testStr.mid(i,testStr.size()-i), textEditObject->selectedText());
+ }
+
+ textEditObject->setCursorPosition(0);
+ QVERIFY(textEditObject->cursorPosition() == 0);
+ QVERIFY(textEditObject->selectionStart() == 0);
+ QVERIFY(textEditObject->selectionEnd() == 0);
+ QVERIFY(textEditObject->selectedText().isNull());
+
+ //Test Error Ignoring behaviour
+ textEditObject->setCursorPosition(0);
+ QVERIFY(textEditObject->selectedText().isNull());
+ textEditObject->select(-10,0);
+ QVERIFY(textEditObject->selectedText().isNull());
+ textEditObject->select(100,101);
+ QVERIFY(textEditObject->selectedText().isNull());
+ textEditObject->select(0,-10);
+ QVERIFY(textEditObject->selectedText().isNull());
+ textEditObject->select(0,100);
+ QVERIFY(textEditObject->selectedText().isNull());
+ textEditObject->select(0,10);
+ QVERIFY(textEditObject->selectedText().size() == 10);
+ textEditObject->select(-10,0);
+ QVERIFY(textEditObject->selectedText().size() == 10);
+ textEditObject->select(100,101);
+ QVERIFY(textEditObject->selectedText().size() == 10);
+ textEditObject->select(0,-10);
+ QVERIFY(textEditObject->selectedText().size() == 10);
+ textEditObject->select(0,100);
+ QVERIFY(textEditObject->selectedText().size() == 10);
+
+ textEditObject->deselect();
+ QVERIFY(textEditObject->selectedText().isNull());
+ textEditObject->select(0,10);
+ QVERIFY(textEditObject->selectedText().size() == 10);
+ textEditObject->deselect();
+ QVERIFY(textEditObject->selectedText().isNull());
+}
+
+void tst_qsgtextedit::isRightToLeft_data()
+{
+ QTest::addColumn<QString>("text");
+ QTest::addColumn<bool>("emptyString");
+ QTest::addColumn<bool>("firstCharacter");
+ QTest::addColumn<bool>("lastCharacter");
+ QTest::addColumn<bool>("middleCharacter");
+ QTest::addColumn<bool>("startString");
+ QTest::addColumn<bool>("midString");
+ QTest::addColumn<bool>("endString");
+
+ const quint16 arabic_str[] = { 0x0638, 0x0643, 0x00646, 0x0647, 0x0633, 0x0638, 0x0643, 0x00646, 0x0647, 0x0633, 0x0647};
+ QTest::newRow("Empty") << "" << false << false << false << false << false << false << false;
+ QTest::newRow("Neutral") << "23244242" << false << false << false << false << false << false << false;
+ QTest::newRow("LTR") << "Hello world" << false << false << false << false << false << false << false;
+ QTest::newRow("RTL") << QString::fromUtf16(arabic_str, 11) << false << true << true << true << true << true << true;
+ QTest::newRow("Bidi RTL + LTR + RTL") << QString::fromUtf16(arabic_str, 11) + QString("Hello world") + QString::fromUtf16(arabic_str, 11) << false << true << true << false << true << true << true;
+ QTest::newRow("Bidi LTR + RTL + LTR") << QString("Hello world") + QString::fromUtf16(arabic_str, 11) + QString("Hello world") << false << false << false << true << false << false << false;
+}
+
+void tst_qsgtextedit::isRightToLeft()
+{
+ QFETCH(QString, text);
+ QFETCH(bool, emptyString);
+ QFETCH(bool, firstCharacter);
+ QFETCH(bool, lastCharacter);
+ QFETCH(bool, middleCharacter);
+ QFETCH(bool, startString);
+ QFETCH(bool, midString);
+ QFETCH(bool, endString);
+
+ QSGTextEdit textEdit;
+ textEdit.setText(text);
+
+ // first test that the right string is delivered to the QString::isRightToLeft()
+ QCOMPARE(textEdit.isRightToLeft(0,0), text.mid(0,0).isRightToLeft());
+ QCOMPARE(textEdit.isRightToLeft(0,1), text.mid(0,1).isRightToLeft());
+ QCOMPARE(textEdit.isRightToLeft(text.count()-2, text.count()-1), text.mid(text.count()-2, text.count()-1).isRightToLeft());
+ QCOMPARE(textEdit.isRightToLeft(text.count()/2, text.count()/2 + 1), text.mid(text.count()/2, text.count()/2 + 1).isRightToLeft());
+ QCOMPARE(textEdit.isRightToLeft(0,text.count()/4), text.mid(0,text.count()/4).isRightToLeft());
+ QCOMPARE(textEdit.isRightToLeft(text.count()/4,3*text.count()/4), text.mid(text.count()/4,3*text.count()/4).isRightToLeft());
+ if (text.isEmpty())
+ QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: QML TextEdit: isRightToLeft(start, end) called with the end property being smaller than the start.");
+ QCOMPARE(textEdit.isRightToLeft(3*text.count()/4,text.count()-1), text.mid(3*text.count()/4,text.count()-1).isRightToLeft());
+
+ // then test that the feature actually works
+ QCOMPARE(textEdit.isRightToLeft(0,0), emptyString);
+ QCOMPARE(textEdit.isRightToLeft(0,1), firstCharacter);
+ QCOMPARE(textEdit.isRightToLeft(text.count()-2, text.count()-1), lastCharacter);
+ QCOMPARE(textEdit.isRightToLeft(text.count()/2, text.count()/2 + 1), middleCharacter);
+ QCOMPARE(textEdit.isRightToLeft(0,text.count()/4), startString);
+ QCOMPARE(textEdit.isRightToLeft(text.count()/4,3*text.count()/4), midString);
+ if (text.isEmpty())
+ QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: QML TextEdit: isRightToLeft(start, end) called with the end property being smaller than the start.");
+ QCOMPARE(textEdit.isRightToLeft(3*text.count()/4,text.count()-1), endString);
+}
+
+void tst_qsgtextedit::keySelection()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/navigation.qml"));
+ canvas.show();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&canvas));
+ canvas.setFocus();
+
+ QVERIFY(canvas.rootObject() != 0);
+
+ QSGTextEdit *input = qobject_cast<QSGTextEdit *>(qvariant_cast<QObject *>(canvas.rootObject()->property("myInput")));
+
+ QVERIFY(input != 0);
+ QTRY_VERIFY(input->hasActiveFocus() == true);
+
+ QSignalSpy spy(input, SIGNAL(selectionChanged()));
+
+ simulateKey(&canvas, Qt::Key_Right, Qt::ShiftModifier);
+ QVERIFY(input->hasActiveFocus() == true);
+ QCOMPARE(input->selectedText(), QString("a"));
+ QCOMPARE(spy.count(), 1);
+ simulateKey(&canvas, Qt::Key_Right);
+ QVERIFY(input->hasActiveFocus() == true);
+ QCOMPARE(input->selectedText(), QString());
+ QCOMPARE(spy.count(), 2);
+ simulateKey(&canvas, Qt::Key_Right);
+ QVERIFY(input->hasActiveFocus() == false);
+ QCOMPARE(input->selectedText(), QString());
+ QCOMPARE(spy.count(), 2);
+
+ simulateKey(&canvas, Qt::Key_Left);
+ QVERIFY(input->hasActiveFocus() == true);
+ QCOMPARE(spy.count(), 2);
+ simulateKey(&canvas, Qt::Key_Left, Qt::ShiftModifier);
+ QVERIFY(input->hasActiveFocus() == true);
+ QCOMPARE(input->selectedText(), QString("a"));
+ QCOMPARE(spy.count(), 3);
+ simulateKey(&canvas, Qt::Key_Left);
+ QVERIFY(input->hasActiveFocus() == true);
+ QCOMPARE(input->selectedText(), QString());
+ QCOMPARE(spy.count(), 4);
+ simulateKey(&canvas, Qt::Key_Left);
+ QVERIFY(input->hasActiveFocus() == false);
+ QCOMPARE(input->selectedText(), QString());
+ QCOMPARE(spy.count(), 4);
+}
+
+void tst_qsgtextedit::moveCursorSelection_data()
+{
+ QTest::addColumn<QString>("testStr");
+ QTest::addColumn<int>("cursorPosition");
+ QTest::addColumn<int>("movePosition");
+ QTest::addColumn<QSGTextEdit::SelectionMode>("mode");
+ QTest::addColumn<int>("selectionStart");
+ QTest::addColumn<int>("selectionEnd");
+ QTest::addColumn<bool>("reversible");
+
+ QTest::newRow("(t)he|characters")
+ << standard[0] << 0 << 1 << QSGTextEdit::SelectCharacters << 0 << 1 << true;
+ QTest::newRow("do(g)|characters")
+ << standard[0] << 43 << 44 << QSGTextEdit::SelectCharacters << 43 << 44 << true;
+ QTest::newRow("jum(p)ed|characters")
+ << standard[0] << 23 << 24 << QSGTextEdit::SelectCharacters << 23 << 24 << true;
+ QTest::newRow("jumped( )over|characters")
+ << standard[0] << 26 << 27 << QSGTextEdit::SelectCharacters << 26 << 27 << true;
+ QTest::newRow("(the )|characters")
+ << standard[0] << 0 << 4 << QSGTextEdit::SelectCharacters << 0 << 4 << true;
+ QTest::newRow("( dog)|characters")
+ << standard[0] << 40 << 44 << QSGTextEdit::SelectCharacters << 40 << 44 << true;
+ QTest::newRow("( jumped )|characters")
+ << standard[0] << 19 << 27 << QSGTextEdit::SelectCharacters << 19 << 27 << true;
+ QTest::newRow("th(e qu)ick|characters")
+ << standard[0] << 2 << 6 << QSGTextEdit::SelectCharacters << 2 << 6 << true;
+ QTest::newRow("la(zy d)og|characters")
+ << standard[0] << 38 << 42 << QSGTextEdit::SelectCharacters << 38 << 42 << true;
+ QTest::newRow("jum(ped ov)er|characters")
+ << standard[0] << 23 << 29 << QSGTextEdit::SelectCharacters << 23 << 29 << true;
+ QTest::newRow("()the|characters")
+ << standard[0] << 0 << 0 << QSGTextEdit::SelectCharacters << 0 << 0 << true;
+ QTest::newRow("dog()|characters")
+ << standard[0] << 44 << 44 << QSGTextEdit::SelectCharacters << 44 << 44 << true;
+ QTest::newRow("jum()ped|characters")
+ << standard[0] << 23 << 23 << QSGTextEdit::SelectCharacters << 23 << 23 << true;
+
+ QTest::newRow("<(t)he>|words")
+ << standard[0] << 0 << 1 << QSGTextEdit::SelectWords << 0 << 3 << true;
+ QTest::newRow("<do(g)>|words")
+ << standard[0] << 43 << 44 << QSGTextEdit::SelectWords << 41 << 44 << true;
+ QTest::newRow("<jum(p)ed>|words")
+ << standard[0] << 23 << 24 << QSGTextEdit::SelectWords << 20 << 26 << true;
+ QTest::newRow("<jumped( )>over|words")
+ << standard[0] << 26 << 27 << QSGTextEdit::SelectWords << 20 << 27 << false;
+ QTest::newRow("jumped<( )over>|words,reversed")
+ << standard[0] << 27 << 26 << QSGTextEdit::SelectWords << 26 << 31 << false;
+ QTest::newRow("<(the )>quick|words")
+ << standard[0] << 0 << 4 << QSGTextEdit::SelectWords << 0 << 4 << false;
+ QTest::newRow("<(the )quick>|words,reversed")
+ << standard[0] << 4 << 0 << QSGTextEdit::SelectWords << 0 << 9 << false;
+ QTest::newRow("<lazy( dog)>|words")
+ << standard[0] << 40 << 44 << QSGTextEdit::SelectWords << 36 << 44 << false;
+ QTest::newRow("lazy<( dog)>|words,reversed")
+ << standard[0] << 44 << 40 << QSGTextEdit::SelectWords << 40 << 44 << false;
+ QTest::newRow("<fox( jumped )>over|words")
+ << standard[0] << 19 << 27 << QSGTextEdit::SelectWords << 16 << 27 << false;
+ QTest::newRow("fox<( jumped )over>|words,reversed")
+ << standard[0] << 27 << 19 << QSGTextEdit::SelectWords << 19 << 31 << false;
+ QTest::newRow("<th(e qu)ick>|words")
+ << standard[0] << 2 << 6 << QSGTextEdit::SelectWords << 0 << 9 << true;
+ QTest::newRow("<la(zy d)og|words>")
+ << standard[0] << 38 << 42 << QSGTextEdit::SelectWords << 36 << 44 << true;
+ QTest::newRow("<jum(ped ov)er>|words")
+ << standard[0] << 23 << 29 << QSGTextEdit::SelectWords << 20 << 31 << true;
+ QTest::newRow("<()>the|words")
+ << standard[0] << 0 << 0 << QSGTextEdit::SelectWords << 0 << 0 << true;
+ QTest::newRow("dog<()>|words")
+ << standard[0] << 44 << 44 << QSGTextEdit::SelectWords << 44 << 44 << true;
+ QTest::newRow("jum<()>ped|words")
+ << standard[0] << 23 << 23 << QSGTextEdit::SelectWords << 23 << 23 << true;
+
+ QTest::newRow("Hello<(,)> |words")
+ << standard[2] << 5 << 6 << QSGTextEdit::SelectWords << 5 << 6 << true;
+ QTest::newRow("Hello<(, )>world|words")
+ << standard[2] << 5 << 7 << QSGTextEdit::SelectWords << 5 << 7 << false;
+ QTest::newRow("Hello<(, )world>|words,reversed")
+ << standard[2] << 7 << 5 << QSGTextEdit::SelectWords << 5 << 12 << false;
+ QTest::newRow("<Hel(lo, )>world|words")
+ << standard[2] << 3 << 7 << QSGTextEdit::SelectWords << 0 << 7 << false;
+ QTest::newRow("<Hel(lo, )world>|words,reversed")
+ << standard[2] << 7 << 3 << QSGTextEdit::SelectWords << 0 << 12 << false;
+ QTest::newRow("<Hel(lo)>,|words")
+ << standard[2] << 3 << 5 << QSGTextEdit::SelectWords << 0 << 5 << true;
+ QTest::newRow("Hello<()>,|words")
+ << standard[2] << 5 << 5 << QSGTextEdit::SelectWords << 5 << 5 << true;
+ QTest::newRow("Hello,<()>|words")
+ << standard[2] << 6 << 6 << QSGTextEdit::SelectWords << 6 << 6 << true;
+ QTest::newRow("Hello<,( )>world|words")
+ << standard[2] << 6 << 7 << QSGTextEdit::SelectWords << 5 << 7 << false;
+ QTest::newRow("Hello,<( )world>|words,reversed")
+ << standard[2] << 7 << 6 << QSGTextEdit::SelectWords << 6 << 12 << false;
+ QTest::newRow("Hello<,( world)>|words")
+ << standard[2] << 6 << 12 << QSGTextEdit::SelectWords << 5 << 12 << false;
+ QTest::newRow("Hello,<( world)>|words,reversed")
+ << standard[2] << 12 << 6 << QSGTextEdit::SelectWords << 6 << 12 << false;
+ QTest::newRow("Hello<,( world!)>|words")
+ << standard[2] << 6 << 13 << QSGTextEdit::SelectWords << 5 << 13 << false;
+ QTest::newRow("Hello,<( world!)>|words,reversed")
+ << standard[2] << 13 << 6 << QSGTextEdit::SelectWords << 6 << 13 << false;
+ QTest::newRow("Hello<(, world!)>|words")
+ << standard[2] << 5 << 13 << QSGTextEdit::SelectWords << 5 << 13 << true;
+ QTest::newRow("world<(!)>|words")
+ << standard[2] << 12 << 13 << QSGTextEdit::SelectWords << 12 << 13 << true;
+ QTest::newRow("world!<()>)|words")
+ << standard[2] << 13 << 13 << QSGTextEdit::SelectWords << 13 << 13 << true;
+ QTest::newRow("world<()>!)|words")
+ << standard[2] << 12 << 12 << QSGTextEdit::SelectWords << 12 << 12 << true;
+
+ QTest::newRow("<(,)>olleH |words")
+ << standard[3] << 7 << 8 << QSGTextEdit::SelectWords << 7 << 8 << true;
+ QTest::newRow("<dlrow( ,)>olleH|words")
+ << standard[3] << 6 << 8 << QSGTextEdit::SelectWords << 1 << 8 << false;
+ QTest::newRow("dlrow<( ,)>olleH|words,reversed")
+ << standard[3] << 8 << 6 << QSGTextEdit::SelectWords << 6 << 8 << false;
+ QTest::newRow("<dlrow( ,ol)leH>|words")
+ << standard[3] << 6 << 10 << QSGTextEdit::SelectWords << 1 << 13 << false;
+ QTest::newRow("dlrow<( ,ol)leH>|words,reversed")
+ << standard[3] << 10 << 6 << QSGTextEdit::SelectWords << 6 << 13 << false;
+ QTest::newRow(",<(ol)leH>,|words")
+ << standard[3] << 8 << 10 << QSGTextEdit::SelectWords << 8 << 13 << true;
+ QTest::newRow(",<()>olleH|words")
+ << standard[3] << 8 << 8 << QSGTextEdit::SelectWords << 8 << 8 << true;
+ QTest::newRow("<()>,olleH|words")
+ << standard[3] << 7 << 7 << QSGTextEdit::SelectWords << 7 << 7 << true;
+ QTest::newRow("<dlrow( )>,olleH|words")
+ << standard[3] << 6 << 7 << QSGTextEdit::SelectWords << 1 << 7 << false;
+ QTest::newRow("dlrow<( ),>olleH|words,reversed")
+ << standard[3] << 7 << 6 << QSGTextEdit::SelectWords << 6 << 8 << false;
+ QTest::newRow("<(dlrow )>,olleH|words")
+ << standard[3] << 1 << 7 << QSGTextEdit::SelectWords << 1 << 7 << false;
+ QTest::newRow("<(dlrow ),>olleH|words,reversed")
+ << standard[3] << 7 << 1 << QSGTextEdit::SelectWords << 1 << 8 << false;
+ QTest::newRow("<(!dlrow )>,olleH|words")
+ << standard[3] << 0 << 7 << QSGTextEdit::SelectWords << 0 << 7 << false;
+ QTest::newRow("<(!dlrow ),>olleH|words,reversed")
+ << standard[3] << 7 << 0 << QSGTextEdit::SelectWords << 0 << 8 << false;
+ QTest::newRow("(!dlrow ,)olleH|words")
+ << standard[3] << 0 << 8 << QSGTextEdit::SelectWords << 0 << 8 << true;
+ QTest::newRow("<(!)>dlrow|words")
+ << standard[3] << 0 << 1 << QSGTextEdit::SelectWords << 0 << 1 << true;
+ QTest::newRow("<()>!dlrow|words")
+ << standard[3] << 0 << 0 << QSGTextEdit::SelectWords << 0 << 0 << true;
+ QTest::newRow("!<()>dlrow|words")
+ << standard[3] << 1 << 1 << QSGTextEdit::SelectWords << 1 << 1 << true;
+}
+
+void tst_qsgtextedit::moveCursorSelection()
+{
+ QFETCH(QString, testStr);
+ QFETCH(int, cursorPosition);
+ QFETCH(int, movePosition);
+ QFETCH(QSGTextEdit::SelectionMode, mode);
+ QFETCH(int, selectionStart);
+ QFETCH(int, selectionEnd);
+ QFETCH(bool, reversible);
+
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \""+ testStr +"\"; }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *texteditObject = qobject_cast<QSGTextEdit*>(textinputComponent.create());
+ QVERIFY(texteditObject != 0);
+
+ texteditObject->setCursorPosition(cursorPosition);
+ texteditObject->moveCursorSelection(movePosition, mode);
+
+ QCOMPARE(texteditObject->selectedText(), testStr.mid(selectionStart, selectionEnd - selectionStart));
+ QCOMPARE(texteditObject->selectionStart(), selectionStart);
+ QCOMPARE(texteditObject->selectionEnd(), selectionEnd);
+
+ if (reversible) {
+ texteditObject->setCursorPosition(movePosition);
+ texteditObject->moveCursorSelection(cursorPosition, mode);
+
+ QCOMPARE(texteditObject->selectedText(), testStr.mid(selectionStart, selectionEnd - selectionStart));
+ QCOMPARE(texteditObject->selectionStart(), selectionStart);
+ QCOMPARE(texteditObject->selectionEnd(), selectionEnd);
+ }
+}
+
+void tst_qsgtextedit::moveCursorSelectionSequence_data()
+{
+ QTest::addColumn<QString>("testStr");
+ QTest::addColumn<int>("cursorPosition");
+ QTest::addColumn<int>("movePosition1");
+ QTest::addColumn<int>("movePosition2");
+ QTest::addColumn<int>("selection1Start");
+ QTest::addColumn<int>("selection1End");
+ QTest::addColumn<int>("selection2Start");
+ QTest::addColumn<int>("selection2End");
+
+ QTest::newRow("the {<quick( bro)wn> f^ox} jumped|ltr")
+ << standard[0]
+ << 9 << 13 << 17
+ << 4 << 15
+ << 4 << 19;
+ QTest::newRow("the quick<( {bro)wn> f^ox} jumped|rtl")
+ << standard[0]
+ << 13 << 9 << 17
+ << 9 << 15
+ << 10 << 19;
+ QTest::newRow("the {<quick( bro)wn> ^}fox jumped|ltr")
+ << standard[0]
+ << 9 << 13 << 16
+ << 4 << 15
+ << 4 << 16;
+ QTest::newRow("the quick<( {bro)wn> ^}fox jumped|rtl")
+ << standard[0]
+ << 13 << 9 << 16
+ << 9 << 15
+ << 10 << 16;
+ QTest::newRow("the {<quick( bro)wn^>} fox jumped|ltr")
+ << standard[0]
+ << 9 << 13 << 15
+ << 4 << 15
+ << 4 << 15;
+ QTest::newRow("the quick<( {bro)wn^>} f^ox jumped|rtl")
+ << standard[0]
+ << 13 << 9 << 15
+ << 9 << 15
+ << 10 << 15;
+ QTest::newRow("the {<quick() ^}bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 10
+ << 4 << 15
+ << 4 << 10;
+ QTest::newRow("the quick<(^ {^bro)wn>} fox|rtl")
+ << standard[0]
+ << 13 << 9 << 10
+ << 9 << 15
+ << 10 << 15;
+ QTest::newRow("the {<quick^}( bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 9
+ << 4 << 15
+ << 4 << 9;
+ QTest::newRow("the quick{<(^ bro)wn>} fox|rtl")
+ << standard[0]
+ << 13 << 9 << 9
+ << 9 << 15
+ << 9 << 15;
+ QTest::newRow("the {<qui^ck}( bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 7
+ << 4 << 15
+ << 4 << 9;
+ QTest::newRow("the {<qui^ck}( bro)wn> fox|rtl")
+ << standard[0]
+ << 13 << 9 << 7
+ << 9 << 15
+ << 4 << 15;
+ QTest::newRow("the {<^quick}( bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 4
+ << 4 << 15
+ << 4 << 9;
+ QTest::newRow("the {<^quick}( bro)wn> fox|rtl")
+ << standard[0]
+ << 13 << 9 << 4
+ << 9 << 15
+ << 4 << 15;
+ QTest::newRow("the{^ <quick}( bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 3
+ << 4 << 15
+ << 3 << 9;
+ QTest::newRow("the{^ <quick}( bro)wn> fox|rtl")
+ << standard[0]
+ << 13 << 9 << 3
+ << 9 << 15
+ << 3 << 15;
+ QTest::newRow("{t^he <quick}( bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 1
+ << 4 << 15
+ << 0 << 9;
+ QTest::newRow("{t^he <quick}( bro)wn> fox|rtl")
+ << standard[0]
+ << 13 << 9 << 1
+ << 9 << 15
+ << 0 << 15;
+
+ QTest::newRow("{<He(ll)o>, w^orld}!|ltr")
+ << standard[2]
+ << 2 << 4 << 8
+ << 0 << 5
+ << 0 << 12;
+ QTest::newRow("{<He(ll)o>, w^orld}!|rtl")
+ << standard[2]
+ << 4 << 2 << 8
+ << 0 << 5
+ << 0 << 12;
+
+ QTest::newRow("!{dlro^w ,<o(ll)eH>}|ltr")
+ << standard[3]
+ << 9 << 11 << 5
+ << 8 << 13
+ << 1 << 13;
+ QTest::newRow("!{dlro^w ,<o(ll)eH>}|rtl")
+ << standard[3]
+ << 11 << 9 << 5
+ << 8 << 13
+ << 1 << 13;
+}
+
+void tst_qsgtextedit::moveCursorSelectionSequence()
+{
+ QFETCH(QString, testStr);
+ QFETCH(int, cursorPosition);
+ QFETCH(int, movePosition1);
+ QFETCH(int, movePosition2);
+ QFETCH(int, selection1Start);
+ QFETCH(int, selection1End);
+ QFETCH(int, selection2Start);
+ QFETCH(int, selection2End);
+
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \""+ testStr +"\"; }";
+ QDeclarativeComponent texteditComponent(&engine);
+ texteditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *texteditObject = qobject_cast<QSGTextEdit*>(texteditComponent.create());
+ QVERIFY(texteditObject != 0);
+
+ texteditObject->setCursorPosition(cursorPosition);
+
+ texteditObject->moveCursorSelection(movePosition1, QSGTextEdit::SelectWords);
+ QCOMPARE(texteditObject->selectedText(), testStr.mid(selection1Start, selection1End - selection1Start));
+ QCOMPARE(texteditObject->selectionStart(), selection1Start);
+ QCOMPARE(texteditObject->selectionEnd(), selection1End);
+
+ texteditObject->moveCursorSelection(movePosition2, QSGTextEdit::SelectWords);
+ QCOMPARE(texteditObject->selectedText(), testStr.mid(selection2Start, selection2End - selection2Start));
+ QCOMPARE(texteditObject->selectionStart(), selection2Start);
+ QCOMPARE(texteditObject->selectionEnd(), selection2End);
+}
+
+
+void tst_qsgtextedit::mouseSelection_data()
+{
+ QTest::addColumn<QString>("qmlfile");
+ QTest::addColumn<bool>("expectSelection");
+
+ // import installed
+ QTest::newRow("on") << SRCDIR "/data/mouseselection_true.qml" << true;
+ QTest::newRow("off") << SRCDIR "/data/mouseselection_false.qml" << false;
+ QTest::newRow("default") << SRCDIR "/data/mouseselection_default.qml" << false;
+ QTest::newRow("on word selection") << SRCDIR "/data/mouseselection_true_words.qml" << true;
+ QTest::newRow("off word selection") << SRCDIR "/data/mouseselection_false_words.qml" << false;
+}
+
+void tst_qsgtextedit::mouseSelection()
+{
+ QFETCH(QString, qmlfile);
+ QFETCH(bool, expectSelection);
+
+ QSGView canvas(QUrl::fromLocalFile(qmlfile));
+
+ canvas.show();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&canvas));
+
+ QVERIFY(canvas.rootObject() != 0);
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit *>(canvas.rootObject());
+ QVERIFY(textEditObject != 0);
+
+ // press-and-drag-and-release from x1 to x2
+ int x1 = 10;
+ int x2 = 70;
+ int y = textEditObject->height()/2;
+ QTest::mousePress(&canvas, Qt::LeftButton, 0, QPoint(x1,y));
+ //QTest::mouseMove(canvas, QPoint(x2,y)); // doesn't work
+ QMouseEvent mv(QEvent::MouseMove, QPoint(x2,y), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&canvas, &mv);
+ QTest::mouseRelease(&canvas, Qt::LeftButton, 0, QPoint(x2,y));
+ QString str = textEditObject->selectedText();
+ if (expectSelection)
+ QVERIFY(str.length() > 3); // don't reallly care *what* was selected (and it's too sensitive to platform)
+ else
+ QVERIFY(str.isEmpty());
+}
+
+void tst_qsgtextedit::dragMouseSelection()
+{
+ QString qmlfile = SRCDIR "/data/mouseselection_true.qml";
+
+ QSGView canvas(QUrl::fromLocalFile(qmlfile));
+
+ canvas.show();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&canvas));
+
+ QVERIFY(canvas.rootObject() != 0);
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit *>(canvas.rootObject());
+ QVERIFY(textEditObject != 0);
+
+ // press-and-drag-and-release from x1 to x2
+ int x1 = 10;
+ int x2 = 70;
+ int y = textEditObject->height()/2;
+ QTest::mousePress(&canvas, Qt::LeftButton, 0, QPoint(x1,y));
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(x2,y), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&canvas, &mv);
+ }
+ QTest::mouseRelease(&canvas, Qt::LeftButton, 0, QPoint(x2,y));
+ QString str1 = textEditObject->selectedText();
+ QVERIFY(str1.length() > 3);
+
+ // press and drag the current selection.
+ x1 = 40;
+ x2 = 100;
+ QTest::mousePress(&canvas, Qt::LeftButton, 0, QPoint(x1,y));
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(x2,y), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&canvas, &mv);
+ }
+ QTest::mouseRelease(&canvas, Qt::LeftButton, 0, QPoint(x2,y));
+ QString str2 = textEditObject->selectedText();
+ QVERIFY(str2.length() > 3);
+
+ QVERIFY(str1 != str2); // Verify the second press and drag is a new selection and not the first moved.
+}
+
+void tst_qsgtextedit::mouseSelectionMode_data()
+{
+ QTest::addColumn<QString>("qmlfile");
+ QTest::addColumn<bool>("selectWords");
+
+ // import installed
+ QTest::newRow("SelectWords") << SRCDIR "/data/mouseselectionmode_words.qml" << true;
+ QTest::newRow("SelectCharacters") << SRCDIR "/data/mouseselectionmode_characters.qml" << false;
+ QTest::newRow("default") << SRCDIR "/data/mouseselectionmode_default.qml" << false;
+}
+
+void tst_qsgtextedit::mouseSelectionMode()
+{
+ QFETCH(QString, qmlfile);
+ QFETCH(bool, selectWords);
+
+ QString text = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+
+ QSGView canvas(QUrl::fromLocalFile(qmlfile));
+
+ canvas.show();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&canvas));
+
+ QVERIFY(canvas.rootObject() != 0);
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit *>(canvas.rootObject());
+ QVERIFY(textEditObject != 0);
+
+ // press-and-drag-and-release from x1 to x2
+ int x1 = 10;
+ int x2 = 70;
+ int y = textEditObject->height()/2;
+ QTest::mousePress(&canvas, Qt::LeftButton, 0, QPoint(x1,y));
+ //QTest::mouseMove(canvas, QPoint(x2,y)); // doesn't work
+ QMouseEvent mv(QEvent::MouseMove, QPoint(x2,y), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&canvas, &mv);
+ QTest::mouseRelease(&canvas, Qt::LeftButton, 0, QPoint(x2,y));
+ QString str = textEditObject->selectedText();
+ if (selectWords) {
+ QCOMPARE(str, text);
+ } else {
+ QVERIFY(str.length() > 3);
+ QVERIFY(str != text);
+ }
+}
+
+void tst_qsgtextedit::inputMethodHints()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/inputmethodhints.qml"));
+ canvas.show();
+ canvas.setFocus();
+
+ QVERIFY(canvas.rootObject() != 0);
+ QSGTextEdit *textEditObject = qobject_cast<QSGTextEdit *>(canvas.rootObject());
+ QVERIFY(textEditObject != 0);
+ QVERIFY(textEditObject->inputMethodHints() & Qt::ImhNoPredictiveText);
+ textEditObject->setInputMethodHints(Qt::ImhUppercaseOnly);
+ QVERIFY(textEditObject->inputMethodHints() & Qt::ImhUppercaseOnly);
+}
+
+void tst_qsgtextedit::positionAt()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/positionAt.qml"));
+ QVERIFY(canvas.rootObject() != 0);
+ canvas.show();
+ canvas.setFocus();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+
+ QSGTextEdit *texteditObject = qobject_cast<QSGTextEdit *>(canvas.rootObject());
+ QVERIFY(texteditObject != 0);
+
+ QFontMetrics fm(texteditObject->font());
+ const int y0 = fm.height() / 2;
+ const int y1 = fm.height() * 3 / 2;
+
+ int pos = texteditObject->positionAt(texteditObject->width()/2, y0);
+ int diff = abs(int(fm.width(texteditObject->text().left(pos))-texteditObject->width()/2));
+
+ // some tollerance for different fonts.
+#ifdef Q_OS_LINUX
+ QVERIFY(diff < 2);
+#else
+ QVERIFY(diff < 5);
+#endif
+
+ const qreal x0 = texteditObject->positionToRectangle(pos).x();
+ const qreal x1 = texteditObject->positionToRectangle(pos + 1).x();
+
+ QString preeditText = texteditObject->text().mid(0, pos);
+ texteditObject->setText(texteditObject->text().mid(pos));
+ texteditObject->setCursorPosition(0);
+
+ QInputMethodEvent inputEvent(preeditText, QList<QInputMethodEvent::Attribute>());
+ QApplication::sendEvent(&canvas, &inputEvent);
+
+ // Check all points within the preedit text return the same position.
+ QCOMPARE(texteditObject->positionAt(0, y0), 0);
+ QCOMPARE(texteditObject->positionAt(x0 / 2, y0), 0);
+ QCOMPARE(texteditObject->positionAt(x0, y0), 0);
+
+ // Verify positioning returns to normal after the preedit text.
+ QCOMPARE(texteditObject->positionAt(x1, y0), 1);
+ QCOMPARE(texteditObject->positionToRectangle(1).x(), x1);
+
+ QVERIFY(texteditObject->positionAt(x0 / 2, y1) > 0);
+}
+
+void tst_qsgtextedit::cursorDelegate()
+{
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/cursorTest.qml"));
+ view.show();
+ view.setFocus();
+ QSGTextEdit *textEditObject = view.rootObject()->findChild<QSGTextEdit*>("textEditObject");
+ QVERIFY(textEditObject != 0);
+ QVERIFY(textEditObject->findChild<QSGItem*>("cursorInstance"));
+ //Test Delegate gets created
+ textEditObject->setFocus(true);
+ QSGItem* delegateObject = textEditObject->findChild<QSGItem*>("cursorInstance");
+ QVERIFY(delegateObject);
+ //Test Delegate gets moved
+ for(int i=0; i<= textEditObject->text().length(); i++){
+ textEditObject->setCursorPosition(i);
+ QCOMPARE(textEditObject->cursorRectangle().x(), qRound(delegateObject->x()));
+ QCOMPARE(textEditObject->cursorRectangle().y(), qRound(delegateObject->y()));
+ }
+ textEditObject->setCursorPosition(0);
+ QCOMPARE(textEditObject->cursorRectangle().x(), qRound(delegateObject->x()));
+ QCOMPARE(textEditObject->cursorRectangle().y(), qRound(delegateObject->y()));
+ //Test Delegate gets deleted
+ textEditObject->setCursorDelegate(0);
+ QVERIFY(!textEditObject->findChild<QSGItem*>("cursorInstance"));
+}
+
+void tst_qsgtextedit::cursorVisible()
+{
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/cursorVisible.qml"));
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ view.setFocus();
+
+ QSGTextEdit edit;
+ QSignalSpy spy(&edit, SIGNAL(cursorVisibleChanged(bool)));
+
+ QCOMPARE(edit.isCursorVisible(), false);
+
+ edit.setCursorVisible(true);
+ QCOMPARE(edit.isCursorVisible(), true);
+ QCOMPARE(spy.count(), 1);
+
+ edit.setCursorVisible(false);
+ QCOMPARE(edit.isCursorVisible(), false);
+ QCOMPARE(spy.count(), 2);
+
+ edit.setFocus(true);
+ QCOMPARE(edit.isCursorVisible(), false);
+ QCOMPARE(spy.count(), 2);
+
+ edit.setParentItem(view.rootObject());
+ QCOMPARE(edit.isCursorVisible(), true);
+ QCOMPARE(spy.count(), 3);
+
+ edit.setFocus(false);
+ QCOMPARE(edit.isCursorVisible(), false);
+ QCOMPARE(spy.count(), 4);
+
+ edit.setFocus(true);
+ QCOMPARE(edit.isCursorVisible(), true);
+ QCOMPARE(spy.count(), 5);
+
+ view.clearFocus();
+ QCOMPARE(edit.isCursorVisible(), false);
+ QCOMPARE(spy.count(), 6);
+
+ view.setFocus();
+ QCOMPARE(edit.isCursorVisible(), true);
+ QCOMPARE(spy.count(), 7);
+
+ // on mac, setActiveWindow(0) on mac does not deactivate the current application
+ // (you have to switch to a different app or hide the current app to trigger this)
+#if !defined(Q_WS_MAC)
+ QApplication::setActiveWindow(0);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(0));
+ QCOMPARE(edit.isCursorVisible(), false);
+ QCOMPARE(spy.count(), 8);
+
+ QApplication::setActiveWindow(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QCOMPARE(edit.isCursorVisible(), true);
+ QCOMPARE(spy.count(), 9);
+#endif
+}
+
+void tst_qsgtextedit::delegateLoading_data()
+{
+ QTest::addColumn<QString>("qmlfile");
+ QTest::addColumn<QString>("error");
+
+ // import installed
+ QTest::newRow("pass") << "cursorHttpTestPass.qml" << "";
+ QTest::newRow("fail1") << "cursorHttpTestFail1.qml" << "http://localhost:42332/FailItem.qml: Remote host closed the connection ";
+ QTest::newRow("fail2") << "cursorHttpTestFail2.qml" << "http://localhost:42332/ErrItem.qml:4:5: Fungus is not a type ";
+}
+
+void tst_qsgtextedit::delegateLoading()
+{
+ QFETCH(QString, qmlfile);
+ QFETCH(QString, error);
+
+ TestHTTPServer server(42332);
+ server.serveDirectory(SRCDIR "/data/httpfail", TestHTTPServer::Disconnect);
+ server.serveDirectory(SRCDIR "/data/httpslow", TestHTTPServer::Delay);
+ server.serveDirectory(SRCDIR "/data/http");
+
+ QSGView view(QUrl(QLatin1String("http://localhost:42332/") + qmlfile));
+ view.show();
+ view.setFocus();
+
+ if (!error.isEmpty()) {
+ QTest::ignoreMessage(QtWarningMsg, error.toUtf8());
+ QTRY_VERIFY(view.status()==QSGView::Error);
+ QTRY_VERIFY(!view.rootObject()); // there is fail item inside this test
+ } else {
+ QTRY_VERIFY(view.rootObject());//Wait for loading to finish.
+ QSGTextEdit *textEditObject = view.rootObject()->findChild<QSGTextEdit*>("textEditObject");
+ // view.rootObject()->dumpObjectTree();
+ QVERIFY(textEditObject != 0);
+ textEditObject->setFocus(true);
+ QSGItem *delegate;
+ delegate = view.rootObject()->findChild<QSGItem*>("delegateOkay");
+ QVERIFY(delegate);
+ delegate = view.rootObject()->findChild<QSGItem*>("delegateSlow");
+ QVERIFY(delegate);
+
+ delete delegate;
+ }
+
+
+ //A test should be added here with a component which is ready but component.create() returns null
+ //Not sure how to accomplish this with QSGTextEdits cursor delegate
+ //###This was only needed for code coverage, and could be a case of overzealous defensive programming
+ //delegate = view.rootObject()->findChild<QSGItem*>("delegateErrorB");
+ //QVERIFY(!delegate);
+}
+
+/*
+TextEdit element should only handle left/right keys until the cursor reaches
+the extent of the text, then they should ignore the keys.
+*/
+void tst_qsgtextedit::navigation()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/navigation.qml"));
+ canvas.show();
+ canvas.setFocus();
+
+ QVERIFY(canvas.rootObject() != 0);
+
+ QSGItem *input = qobject_cast<QSGItem *>(qvariant_cast<QObject *>(canvas.rootObject()->property("myInput")));
+
+ QVERIFY(input != 0);
+ QTRY_VERIFY(input->hasActiveFocus() == true);
+ simulateKey(&canvas, Qt::Key_Left);
+ QVERIFY(input->hasActiveFocus() == false);
+ simulateKey(&canvas, Qt::Key_Right);
+ QVERIFY(input->hasActiveFocus() == true);
+ simulateKey(&canvas, Qt::Key_Right);
+ QVERIFY(input->hasActiveFocus() == true);
+ simulateKey(&canvas, Qt::Key_Right);
+ QVERIFY(input->hasActiveFocus() == false);
+ simulateKey(&canvas, Qt::Key_Left);
+ QVERIFY(input->hasActiveFocus() == true);
+}
+
+void tst_qsgtextedit::copyAndPaste() {
+#ifndef QT_NO_CLIPBOARD
+
+#ifdef Q_WS_MAC
+ {
+ PasteboardRef pasteboard;
+ OSStatus status = PasteboardCreate(0, &pasteboard);
+ if (status == noErr)
+ CFRelease(pasteboard);
+ else
+ QSKIP("This machine doesn't support the clipboard", SkipAll);
+ }
+#endif
+
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \"Hello world!\" }";
+ QDeclarativeComponent textEditComponent(&engine);
+ textEditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEdit = qobject_cast<QSGTextEdit*>(textEditComponent.create());
+ QVERIFY(textEdit != 0);
+
+ // copy and paste
+ QCOMPARE(textEdit->text().length(), 12);
+ textEdit->select(0, textEdit->text().length());;
+ textEdit->copy();
+ QCOMPARE(textEdit->selectedText(), QString("Hello world!"));
+ QCOMPARE(textEdit->selectedText().length(), 12);
+ textEdit->setCursorPosition(0);
+ QVERIFY(textEdit->canPaste());
+ textEdit->paste();
+ QCOMPARE(textEdit->text(), QString("Hello world!Hello world!"));
+ QCOMPARE(textEdit->text().length(), 24);
+
+ // canPaste
+ QVERIFY(textEdit->canPaste());
+ textEdit->setReadOnly(true);
+ QVERIFY(!textEdit->canPaste());
+ textEdit->setReadOnly(false);
+ QVERIFY(textEdit->canPaste());
+
+ // QTBUG-12339
+ // test that document and internal text attribute are in sync
+ QSGItemPrivate* pri = QSGItemPrivate::get(textEdit);
+ QSGTextEditPrivate *editPrivate = static_cast<QSGTextEditPrivate*>(pri);
+ QCOMPARE(textEdit->text(), editPrivate->text);
+
+ // select word
+ textEdit->setCursorPosition(0);
+ textEdit->selectWord();
+ QCOMPARE(textEdit->selectedText(), QString("Hello"));
+
+ // select all and cut
+ textEdit->selectAll();
+ textEdit->cut();
+ QCOMPARE(textEdit->text().length(), 0);
+ textEdit->paste();
+ QCOMPARE(textEdit->text(), QString("Hello world!Hello world!"));
+ QCOMPARE(textEdit->text().length(), 24);
+#endif
+}
+
+void tst_qsgtextedit::canPaste() {
+#ifndef QT_NO_CLIPBOARD
+
+ QApplication::clipboard()->setText("Some text");
+
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \"Hello world!\" }";
+ QDeclarativeComponent textEditComponent(&engine);
+ textEditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEdit = qobject_cast<QSGTextEdit*>(textEditComponent.create());
+ QVERIFY(textEdit != 0);
+
+ // check initial value - QTBUG-17765
+ QTextControl tc;
+ QCOMPARE(textEdit->canPaste(), tc.canPaste());
+
+#endif
+}
+
+void tst_qsgtextedit::canPasteEmpty() {
+#ifndef QT_NO_CLIPBOARD
+
+ QApplication::clipboard()->clear();
+
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \"Hello world!\" }";
+ QDeclarativeComponent textEditComponent(&engine);
+ textEditComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextEdit *textEdit = qobject_cast<QSGTextEdit*>(textEditComponent.create());
+ QVERIFY(textEdit != 0);
+
+ // check initial value - QTBUG-17765
+ QTextControl tc;
+ QCOMPARE(textEdit->canPaste(), tc.canPaste());
+
+#endif
+}
+
+void tst_qsgtextedit::readOnly()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/readOnly.qml"));
+ canvas.show();
+ canvas.setFocus();
+
+ QVERIFY(canvas.rootObject() != 0);
+
+ QSGTextEdit *edit = qobject_cast<QSGTextEdit *>(qvariant_cast<QObject *>(canvas.rootObject()->property("myInput")));
+
+ QVERIFY(edit != 0);
+ QTRY_VERIFY(edit->hasActiveFocus() == true);
+ QVERIFY(edit->isReadOnly() == true);
+ QString initial = edit->text();
+ for(int k=Qt::Key_0; k<=Qt::Key_Z; k++)
+ simulateKey(&canvas, k);
+ simulateKey(&canvas, Qt::Key_Return);
+ simulateKey(&canvas, Qt::Key_Space);
+ simulateKey(&canvas, Qt::Key_Escape);
+ QCOMPARE(edit->text(), initial);
+}
+
+void tst_qsgtextedit::simulateKey(QSGView *view, int key, Qt::KeyboardModifiers modifiers)
+{
+ QKeyEvent press(QKeyEvent::KeyPress, key, modifiers);
+ QKeyEvent release(QKeyEvent::KeyRelease, key, modifiers);
+
+ QApplication::sendEvent(view, &press);
+ QApplication::sendEvent(view, &release);
+}
+
+class MyInputContext : public QInputContext
+{
+public:
+ MyInputContext() : openInputPanelReceived(false), closeInputPanelReceived(false), updateReceived(false), eventType(QEvent::None) {}
+ ~MyInputContext() {}
+
+ QString identifierName() { return QString(); }
+ QString language() { return QString(); }
+
+ void reset() {}
+
+ bool isComposing() const { return false; }
+
+ bool filterEvent( const QEvent *event )
+ {
+ if (event->type() == QEvent::RequestSoftwareInputPanel)
+ openInputPanelReceived = true;
+ if (event->type() == QEvent::CloseSoftwareInputPanel)
+ closeInputPanelReceived = true;
+ return QInputContext::filterEvent(event);
+ }
+
+ void update() { updateReceived = true; }
+
+ void sendPreeditText(const QString &text, int cursor)
+ {
+ QList<QInputMethodEvent::Attribute> attributes;
+ attributes.append(QInputMethodEvent::Attribute(
+ QInputMethodEvent::Cursor, cursor, text.length(), QVariant()));
+
+ QInputMethodEvent event(text, attributes);
+ sendEvent(event);
+ }
+
+ void mouseHandler(int x, QMouseEvent *event)
+ {
+ cursor = x;
+ eventType = event->type();
+ eventPosition = event->pos();
+ eventGlobalPosition = event->globalPos();
+ eventButton = event->button();
+ eventButtons = event->buttons();
+ eventModifiers = event->modifiers();
+ }
+
+ bool openInputPanelReceived;
+ bool closeInputPanelReceived;
+ bool updateReceived;
+ int cursor;
+ QEvent::Type eventType;
+ QPoint eventPosition;
+ QPoint eventGlobalPosition;
+ Qt::MouseButton eventButton;
+ Qt::MouseButtons eventButtons;
+ Qt::KeyboardModifiers eventModifiers;
+};
+
+void tst_qsgtextedit::textInput()
+{
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/inputMethodEvent.qml"));
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QSGTextEdit *edit = qobject_cast<QSGTextEdit *>(view.rootObject());
+ QVERIFY(edit);
+ QVERIFY(edit->hasActiveFocus() == true);
+
+ // test that input method event is committed
+ QInputMethodEvent event;
+ event.setCommitString( "Hello world!", 0, 0);
+ QApplication::sendEvent(&view, &event);
+ QCOMPARE(edit->text(), QString("Hello world!"));
+
+ // QTBUG-12339
+ // test that document and internal text attribute are in sync
+ QSGTextEditPrivate *editPrivate = static_cast<QSGTextEditPrivate*>(QSGItemPrivate::get(edit));
+ QCOMPARE(editPrivate->text, QString("Hello world!"));
+}
+
+void tst_qsgtextedit::openInputPanelOnClick()
+{
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/openInputPanel.qml"));
+ MyInputContext ic;
+ // QSGCanvas won't set the Qt::WA_InputMethodEnabled flag unless a suitable item has focus
+ // and QWidget won't allow an input context to be set when the flag is not set.
+ view.setAttribute(Qt::WA_InputMethodEnabled, true);
+ view.setInputContext(&ic);
+ view.setAttribute(Qt::WA_InputMethodEnabled, false);
+ view.show();
+
+ qApp->setAutoSipEnabled(true);
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+
+ QSGTextEdit *edit = qobject_cast<QSGTextEdit *>(view.rootObject());
+ QVERIFY(edit);
+ QSignalSpy focusOnPressSpy(edit, SIGNAL(activeFocusOnPressChanged(bool)));
+
+ QSGItemPrivate* pri = QSGItemPrivate::get(edit);
+ QSGTextEditPrivate *editPrivate = static_cast<QSGTextEditPrivate*>(pri);
+
+ // input panel on click
+ editPrivate->showInputPanelOnFocus = false;
+
+ QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel(
+ view.style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
+ QTest::mouseClick(&view, Qt::LeftButton, 0, edit->mapToScene(QPointF(0,0)).toPoint());
+ QApplication::processEvents();
+ if (behavior == QStyle::RSIP_OnMouseClickAndAlreadyFocused) {
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QTest::mouseClick(&view, Qt::LeftButton, 0, edit->mapToScene(QPointF(0,0)).toPoint());
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ } else if (behavior == QStyle::RSIP_OnMouseClick) {
+ QCOMPARE(ic.openInputPanelReceived, true);
+ }
+ ic.openInputPanelReceived = false;
+
+ // focus should not cause input panels to open or close
+ edit->setFocus(false);
+ edit->setFocus(true);
+ edit->setFocus(false);
+ edit->setFocus(true);
+ edit->setFocus(false);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+}
+
+void tst_qsgtextedit::openInputPanelOnFocus()
+{
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/openInputPanel.qml"));
+ MyInputContext ic;
+ // QSGCanvas won't set the Qt::WA_InputMethodEnabled flag unless a suitable item has focus
+ // and QWidget won't allow an input context to be set when the flag is not set.
+ view.setAttribute(Qt::WA_InputMethodEnabled, true);
+ view.setInputContext(&ic);
+ view.setAttribute(Qt::WA_InputMethodEnabled, false);
+ view.show();
+
+ qApp->setAutoSipEnabled(true);
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+
+ QSGTextEdit *edit = qobject_cast<QSGTextEdit *>(view.rootObject());
+ QVERIFY(edit);
+ QSignalSpy focusOnPressSpy(edit, SIGNAL(activeFocusOnPressChanged(bool)));
+
+ QSGItemPrivate* pri = QSGItemPrivate::get(edit);
+ QSGTextEditPrivate *editPrivate = static_cast<QSGTextEditPrivate*>(pri);
+ editPrivate->showInputPanelOnFocus = true;
+
+ // test default values
+ QVERIFY(edit->focusOnPress());
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+
+ // focus on press, input panel on focus
+ QTest::mousePress(&view, Qt::LeftButton, 0, edit->mapToScene(QPointF(0,0)).toPoint());
+ QApplication::processEvents();
+ QVERIFY(edit->hasActiveFocus());
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+
+ // no events on release
+ QTest::mouseRelease(&view, Qt::LeftButton, 0, edit->mapToScene(QPointF(0,0)).toPoint());
+ QCOMPARE(ic.openInputPanelReceived, false);
+ ic.openInputPanelReceived = false;
+
+ // if already focused, input panel can be opened on press
+ QVERIFY(edit->hasActiveFocus());
+ QTest::mousePress(&view, Qt::LeftButton, 0, edit->mapToScene(QPointF(0,0)).toPoint());
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+
+ // input method should stay enabled if focus
+ // is lost to an item that also accepts inputs
+ QSGTextEdit anotherEdit;
+ anotherEdit.setParentItem(view.rootObject());
+ anotherEdit.setFocus(true);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+ QCOMPARE(view.inputContext(), (QInputContext*)&ic);
+ QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled));
+
+ // input method should be disabled if focus
+ // is lost to an item that doesn't accept inputs
+ QSGItem item;
+ item.setParentItem(view.rootObject());
+ item.setFocus(true);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QVERIFY(view.inputContext() == 0);
+ QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
+
+ // no automatic input panel events should
+ // be sent if activeFocusOnPress is false
+ edit->setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
+ edit->setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
+ edit->setFocus(false);
+ edit->setFocus(true);
+ QTest::mousePress(&view, Qt::LeftButton, 0, edit->mapToScene(QPointF(0,0)).toPoint());
+ QTest::mouseRelease(&view, Qt::LeftButton, 0, edit->mapToScene(QPointF(0,0)).toPoint());
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+
+ // one show input panel event should
+ // be set when openSoftwareInputPanel is called
+ edit->openSoftwareInputPanel();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+ ic.openInputPanelReceived = false;
+
+ // one close input panel event should
+ // be sent when closeSoftwareInputPanel is called
+ edit->closeSoftwareInputPanel();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, true);
+ ic.closeInputPanelReceived = false;
+
+ // set activeFocusOnPress back to true
+ edit->setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
+ edit->setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
+ edit->setFocus(false);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+ ic.closeInputPanelReceived = false;
+
+ // input panel should not re-open
+ // if focus has already been set
+ edit->setFocus(true);
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+ edit->setFocus(true);
+ QCOMPARE(ic.openInputPanelReceived, false);
+
+ // input method should be disabled
+ // if TextEdit loses focus
+ edit->setFocus(false);
+ QApplication::processEvents();
+ QVERIFY(view.inputContext() == 0);
+ QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
+
+ // input method should not be enabled
+ // if TextEdit is read only.
+ edit->setReadOnly(true);
+ ic.openInputPanelReceived = false;
+ edit->setFocus(true);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QVERIFY(view.inputContext() == 0);
+ QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
+}
+
+void tst_qsgtextedit::geometrySignals()
+{
+ QDeclarativeComponent component(&engine, SRCDIR "/data/geometrySignals.qml");
+ QObject *o = component.create();
+ QVERIFY(o);
+ QCOMPARE(o->property("bindingWidth").toInt(), 400);
+ QCOMPARE(o->property("bindingHeight").toInt(), 500);
+ delete o;
+}
+
+void tst_qsgtextedit::pastingRichText_QTBUG_14003()
+{
+#ifndef QT_NO_CLIPBOARD
+ QString componentStr = "import QtQuick 2.0\nTextEdit { textFormat: TextEdit.PlainText }";
+ QDeclarativeComponent component(&engine);
+ component.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGTextEdit *obj = qobject_cast<QSGTextEdit*>(component.create());
+
+ QTRY_VERIFY(obj != 0);
+ QTRY_VERIFY(obj->textFormat() == QSGTextEdit::PlainText);
+
+ QMimeData *mData = new QMimeData;
+ mData->setHtml("<font color=\"red\">Hello</font>");
+ QApplication::clipboard()->setMimeData(mData);
+
+ obj->paste();
+ QTRY_VERIFY(obj->text() == "");
+ QTRY_VERIFY(obj->textFormat() == QSGTextEdit::PlainText);
+#endif
+}
+
+void tst_qsgtextedit::implicitSize_data()
+{
+ QTest::addColumn<QString>("text");
+ QTest::addColumn<QString>("wrap");
+ QTest::newRow("plain") << "The quick red fox jumped over the lazy brown dog" << "TextEdit.NoWrap";
+ QTest::newRow("richtext") << "<b>The quick red fox jumped over the lazy brown dog</b>" << "TextEdit.NoWrap";
+ QTest::newRow("plain_wrap") << "The quick red fox jumped over the lazy brown dog" << "TextEdit.Wrap";
+ QTest::newRow("richtext_wrap") << "<b>The quick red fox jumped over the lazy brown dog</b>" << "TextEdit.Wrap";
+}
+
+void tst_qsgtextedit::implicitSize()
+{
+ QFETCH(QString, text);
+ QFETCH(QString, wrap);
+ QString componentStr = "import QtQuick 2.0\nTextEdit { text: \"" + text + "\"; width: 50; wrapMode: " + wrap + " }";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGTextEdit *textObject = qobject_cast<QSGTextEdit*>(textComponent.create());
+
+ QVERIFY(textObject->width() < textObject->implicitWidth());
+ QVERIFY(textObject->height() == textObject->implicitHeight());
+
+ textObject->resetWidth();
+ QVERIFY(textObject->width() == textObject->implicitWidth());
+ QVERIFY(textObject->height() == textObject->implicitHeight());
+}
+
+void tst_qsgtextedit::testQtQuick11Attributes()
+{
+ QFETCH(QString, code);
+ QFETCH(QString, warning);
+ QFETCH(QString, error);
+
+ QDeclarativeEngine engine;
+ QObject *obj;
+
+ QDeclarativeComponent valid(&engine);
+ valid.setData("import QtQuick 2.0; TextEdit { " + code.toUtf8() + " }", QUrl(""));
+ obj = valid.create();
+ QVERIFY(obj);
+ QVERIFY(valid.errorString().isEmpty());
+ delete obj;
+
+ QDeclarativeComponent invalid(&engine);
+ invalid.setData("import QtQuick 1.0; TextEdit { " + code.toUtf8() + " }", QUrl(""));
+ QTest::ignoreMessage(QtWarningMsg, warning.toUtf8());
+ obj = invalid.create();
+ QCOMPARE(invalid.errorString(), error);
+ delete obj;
+}
+
+void tst_qsgtextedit::testQtQuick11Attributes_data()
+{
+ QTest::addColumn<QString>("code");
+ QTest::addColumn<QString>("warning");
+ QTest::addColumn<QString>("error");
+
+ QTest::newRow("canPaste") << "property bool foo: canPaste"
+ << "<Unknown File>:1: ReferenceError: Can't find variable: canPaste"
+ << "";
+
+ QTest::newRow("lineCount") << "property int foo: lineCount"
+ << "<Unknown File>:1: ReferenceError: Can't find variable: lineCount"
+ << "";
+
+ QTest::newRow("moveCursorSelection") << "Component.onCompleted: moveCursorSelection(0, TextEdit.SelectCharacters)"
+ << "<Unknown File>:1: ReferenceError: Can't find variable: moveCursorSelection"
+ << "";
+
+ QTest::newRow("deselect") << "Component.onCompleted: deselect()"
+ << "<Unknown File>:1: ReferenceError: Can't find variable: deselect"
+ << "";
+
+ QTest::newRow("onLinkActivated") << "onLinkActivated: {}"
+ << "QDeclarativeComponent: Component is not ready"
+ << ":1 \"TextEdit.onLinkActivated\" is not available in QtQuick 1.0.\n";
+}
+
+void tst_qsgtextedit::preeditMicroFocus()
+{
+ QString preeditText = "super";
+
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/inputMethodEvent.qml"));
+ MyInputContext ic;
+ // QSGCanvas won't set the Qt::WA_InputMethodEnabled flag unless a suitable item has focus
+ // and QWidget won't allow an input context to be set when the flag is not set.
+ view.setAttribute(Qt::WA_InputMethodEnabled, true);
+ view.setInputContext(&ic);
+ view.setAttribute(Qt::WA_InputMethodEnabled, false);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QSGTextEdit *edit = qobject_cast<QSGTextEdit *>(view.rootObject());
+ QVERIFY(edit);
+
+ QSignalSpy cursorRectangleSpy(edit, SIGNAL(cursorRectangleChanged()));
+
+ QRect currentRect;
+ QRect previousRect = edit->inputMethodQuery(Qt::ImMicroFocus).toRect();
+
+ // Verify that the micro focus rect is positioned the same for position 0 as
+ // it would be if there was no preedit text.
+ ic.updateReceived = false;
+ ic.sendPreeditText(preeditText, 0);
+ currentRect = edit->inputMethodQuery(Qt::ImMicroFocus).toRect();
+ QCOMPARE(currentRect, previousRect);
+#if defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN)
+ QCOMPARE(ic.updateReceived, false); // The cursor position hasn't changed.
+#endif
+ QCOMPARE(cursorRectangleSpy.count(), 0);
+
+ // Verify that the micro focus rect moves to the left as the cursor position
+ // is incremented.
+ for (int i = 1; i <= 5; ++i) {
+ ic.updateReceived = false;
+ ic.sendPreeditText(preeditText, i);
+ currentRect = edit->inputMethodQuery(Qt::ImMicroFocus).toRect();
+ QVERIFY(previousRect.left() < currentRect.left());
+#if defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN)
+ QCOMPARE(ic.updateReceived, true);
+#endif
+ QVERIFY(cursorRectangleSpy.count() > 0);
+ cursorRectangleSpy.clear();
+ previousRect = currentRect;
+ }
+
+ // Verify that if there is no preedit cursor then the micro focus rect is the
+ // same as it would be if it were positioned at the end of the preedit text.
+ ic.sendPreeditText(preeditText, 0);
+ ic.updateReceived = false;
+ ic.sendEvent(QInputMethodEvent(preeditText, QList<QInputMethodEvent::Attribute>()));
+ currentRect = edit->inputMethodQuery(Qt::ImMicroFocus).toRect();
+ QCOMPARE(currentRect, previousRect);
+#if defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN)
+ QCOMPARE(ic.updateReceived, true);
+#endif
+ QVERIFY(cursorRectangleSpy.count() > 0);
+}
+
+void tst_qsgtextedit::inputContextMouseHandler()
+{
+ QString text = "supercalifragisiticexpialidocious!";
+
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/inputContext.qml"));
+ MyInputContext ic;
+ // QSGCanvas won't set the Qt::WA_InputMethodEnabled flag unless a suitable item has focus
+ // and QWidget won't allow an input context to be set when the flag is not set.
+ view.setAttribute(Qt::WA_InputMethodEnabled, true);
+ view.setInputContext(&ic);
+ view.setAttribute(Qt::WA_InputMethodEnabled, false);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QSGTextEdit *edit = qobject_cast<QSGTextEdit *>(view.rootObject());
+ QVERIFY(edit);
+ edit->setCursorPosition(12);
+
+ QFontMetricsF fm(edit->font());
+ const qreal y = fm.height() / 2;
+
+ QPoint position2 = edit->mapToScene(QPointF(fm.width(text.mid(0, 2)), y)).toPoint();
+ QPoint position8 = edit->mapToScene(QPointF(fm.width(text.mid(0, 8)), y)).toPoint();
+ QPoint position20 = edit->mapToScene(QPointF(fm.width(text.mid(0, 20)), y)).toPoint();
+ QPoint position27 = edit->mapToScene(QPointF(fm.width(text.mid(0, 27)), y)).toPoint();
+ QPoint globalPosition2 = view.mapToGlobal(position2);
+ QPoint globalposition8 = view.mapToGlobal(position8);
+ QPoint globalposition20 = view.mapToGlobal(position20);
+ QPoint globalposition27 = view.mapToGlobal(position27);
+
+ ic.sendEvent(QInputMethodEvent(text.mid(12), QList<QInputMethodEvent::Attribute>()));
+
+ QTest::mouseDClick(&view, Qt::LeftButton, Qt::NoModifier, position2);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonDblClick);
+ QCOMPARE(ic.eventPosition, position2);
+ QCOMPARE(ic.eventGlobalPosition, globalPosition2);
+ QCOMPARE(ic.eventButton, Qt::LeftButton);
+ QCOMPARE(ic.eventModifiers, Qt::NoModifier);
+ QVERIFY(ic.cursor < 0);
+ ic.eventType = QEvent::None;
+
+ QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, position2);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonPress);
+ QCOMPARE(ic.eventPosition, position2);
+ QCOMPARE(ic.eventGlobalPosition, globalPosition2);
+ QCOMPARE(ic.eventButton, Qt::LeftButton);
+ QCOMPARE(ic.eventModifiers, Qt::NoModifier);
+ QVERIFY(ic.cursor < 0);
+ ic.eventType = QEvent::None;
+
+ { QMouseEvent mv(QEvent::MouseMove, position8, globalposition8, Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&view, &mv); }
+ QCOMPARE(ic.eventType, QEvent::None);
+
+ { QMouseEvent mv(QEvent::MouseMove, position27, globalposition27, Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&view, &mv); }
+ QCOMPARE(ic.eventType, QEvent::MouseMove);
+ QCOMPARE(ic.eventPosition, position27);
+ QCOMPARE(ic.eventGlobalPosition, globalposition27);
+ QCOMPARE(ic.eventButton, Qt::LeftButton);
+ QCOMPARE(ic.eventModifiers, Qt::NoModifier);
+ QVERIFY(ic.cursor >= 14 && ic.cursor <= 16); // 15 is expected but some platforms may be off by one.
+ ic.eventType = QEvent::None;
+
+ QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, position27);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonRelease);
+ QCOMPARE(ic.eventPosition, position27);
+ QCOMPARE(ic.eventGlobalPosition, globalposition27);
+ QCOMPARE(ic.eventButton, Qt::LeftButton);
+ QCOMPARE(ic.eventModifiers, Qt::NoModifier);
+ QVERIFY(ic.cursor >= 14 && ic.cursor <= 16);
+ ic.eventType = QEvent::None;
+
+ // And in the other direction.
+ QTest::mouseDClick(&view, Qt::LeftButton, Qt::ControlModifier, position27);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonDblClick);
+ QCOMPARE(ic.eventPosition, position27);
+ QCOMPARE(ic.eventGlobalPosition, globalposition27);
+ QCOMPARE(ic.eventButton, Qt::LeftButton);
+ QCOMPARE(ic.eventModifiers, Qt::ControlModifier);
+ QVERIFY(ic.cursor >= 14 && ic.cursor <= 16);
+ ic.eventType = QEvent::None;
+
+ QTest::mousePress(&view, Qt::RightButton, Qt::ControlModifier, position27);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonPress);
+ QCOMPARE(ic.eventPosition, position27);
+ QCOMPARE(ic.eventGlobalPosition, globalposition27);
+ QCOMPARE(ic.eventButton, Qt::RightButton);
+ QCOMPARE(ic.eventModifiers, Qt::ControlModifier);
+ QVERIFY(ic.cursor >= 14 && ic.cursor <= 16);
+ ic.eventType = QEvent::None;
+
+ { QMouseEvent mv(QEvent::MouseMove, position20, globalposition20, Qt::RightButton, Qt::RightButton,Qt::ControlModifier);
+ QApplication::sendEvent(&view, &mv); }
+ QCOMPARE(ic.eventType, QEvent::MouseMove);
+ QCOMPARE(ic.eventPosition, position20);
+ QCOMPARE(ic.eventGlobalPosition, globalposition20);
+ QCOMPARE(ic.eventButton, Qt::RightButton);
+ QCOMPARE(ic.eventModifiers, Qt::ControlModifier);
+ QVERIFY(ic.cursor >= 7 && ic.cursor <= 9);
+ ic.eventType = QEvent::None;
+
+ { QMouseEvent mv(QEvent::MouseMove, position2, globalPosition2, Qt::RightButton, Qt::RightButton,Qt::ControlModifier);
+ QApplication::sendEvent(&view, &mv); }
+ QCOMPARE(ic.eventType, QEvent::None);
+
+ QTest::mouseRelease(&view, Qt::RightButton, Qt::ControlModifier, position2);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonRelease);
+ QCOMPARE(ic.eventPosition, position2);
+ QCOMPARE(ic.eventGlobalPosition, globalPosition2);
+ QCOMPARE(ic.eventButton, Qt::RightButton);
+ QCOMPARE(ic.eventModifiers, Qt::ControlModifier);
+ QVERIFY(ic.cursor < 0);
+ ic.eventType = QEvent::None;
+}
+
+void tst_qsgtextedit::inputMethodComposing()
+{
+ QString text = "supercalifragisiticexpialidocious!";
+
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/inputContext.qml"));
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QSGTextEdit *edit = qobject_cast<QSGTextEdit *>(view.rootObject());
+ QVERIFY(edit);
+ QSignalSpy spy(edit, SIGNAL(inputMethodComposingChanged()));
+ edit->setCursorPosition(12);
+
+ QCOMPARE(edit->isInputMethodComposing(), false);
+
+ {
+ QInputMethodEvent event(text.mid(3), QList<QInputMethodEvent::Attribute>());
+ QApplication::sendEvent(&view, &event);
+ }
+ QCOMPARE(edit->isInputMethodComposing(), true);
+ QCOMPARE(spy.count(), 1);
+
+ {
+ QInputMethodEvent event(text.mid(12), QList<QInputMethodEvent::Attribute>());
+ QApplication::sendEvent(&view, &event);
+ }
+ QCOMPARE(spy.count(), 1);
+
+ {
+ QInputMethodEvent event;
+ QApplication::sendEvent(&view, &event);
+ }
+ QCOMPARE(edit->isInputMethodComposing(), false);
+ QCOMPARE(spy.count(), 2);
+}
+
+void tst_qsgtextedit::cursorRectangleSize()
+{
+ QSGView *canvas = new QSGView(QUrl::fromLocalFile(SRCDIR "/data/CursorRect.qml"));
+ QVERIFY(canvas->rootObject() != 0);
+ canvas->show();
+ canvas->setFocus();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+
+ QSGTextEdit *textEdit = qobject_cast<QSGTextEdit *>(canvas->rootObject());
+ QVERIFY(textEdit != 0);
+ textEdit->setFocus(Qt::OtherFocusReason);
+ QRectF cursorRect = textEdit->positionToRectangle(textEdit->cursorPosition());
+ QRectF microFocusFromScene = canvas->inputMethodQuery(Qt::ImMicroFocus).toRectF();
+ QRectF microFocusFromApp= QApplication::focusWidget()->inputMethodQuery(Qt::ImMicroFocus).toRectF();
+
+ QCOMPARE(microFocusFromScene.size(), cursorRect.size());
+ QCOMPARE(microFocusFromApp.size(), cursorRect.size());
+
+ delete canvas;
+}
+
+QTEST_MAIN(tst_qsgtextedit)
+
+#include "tst_qsgtextedit.moc"
diff --git a/tests/auto/declarative/qsgtextinput/data/cursorTest.qml b/tests/auto/declarative/qsgtextinput/data/cursorTest.qml
new file mode 100644
index 0000000000..01858fba77
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/cursorTest.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+Rectangle { width: 300; height: 300; color: "white"
+ TextInput { text: "Hello world!"; id: textInputObject; objectName: "textInputObject"
+ resources: [ Component { id:cursor; Item { id:cursorInstance; objectName: "cursorInstance";} } ]
+ cursorDelegate: cursor
+ }
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/cursorVisible.qml b/tests/auto/declarative/qsgtextinput/data/cursorVisible.qml
new file mode 100644
index 0000000000..49e9386947
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/cursorVisible.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+Item {
+ width: 100
+ height: 20
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/echoMode.qml b/tests/auto/declarative/qsgtextinput/data/echoMode.qml
new file mode 100644
index 0000000000..f8a6cf1c89
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/echoMode.qml
@@ -0,0 +1,11 @@
+import QtQuick 2.0
+
+Rectangle {
+ property QtObject myInput: input
+
+ width: 400; height: 200; color: "green"
+
+ TextInput { id: input; focus: true
+ text: "ABCDefgh"
+ }
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/geometrySignals.qml b/tests/auto/declarative/qsgtextinput/data/geometrySignals.qml
new file mode 100644
index 0000000000..90855a61cf
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/geometrySignals.qml
@@ -0,0 +1,12 @@
+import QtQuick 2.0
+
+Item {
+ width: 400; height: 500;
+ property int bindingWidth: text.width
+ property int bindingHeight: text.height
+
+ TextEdit {
+ id: text
+ anchors.fill: parent
+ }
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/halign_center.png b/tests/auto/declarative/qsgtextinput/data/halign_center.png
new file mode 100644
index 0000000000..53e09a8e5b
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/halign_center.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextinput/data/halign_left.png b/tests/auto/declarative/qsgtextinput/data/halign_left.png
new file mode 100644
index 0000000000..247acbc9df
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/halign_left.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextinput/data/halign_right.png b/tests/auto/declarative/qsgtextinput/data/halign_right.png
new file mode 100644
index 0000000000..691bc75c89
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/halign_right.png
Binary files differ
diff --git a/tests/auto/declarative/qsgtextinput/data/horizontalAlignment.qml b/tests/auto/declarative/qsgtextinput/data/horizontalAlignment.qml
new file mode 100644
index 0000000000..e0fef4c11e
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/horizontalAlignment.qml
@@ -0,0 +1,22 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: top
+ width: 70; height: 70;
+
+ property alias horizontalAlignment: text.horizontalAlignment
+ property string text: "Test"
+
+ Rectangle {
+ anchors.centerIn: parent
+ width: 60
+ height: 20
+ color: "green"
+
+ TextInput {
+ id: text
+ anchors.fill: parent
+ text: top.text
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/horizontalAlignment_RightToLeft.qml b/tests/auto/declarative/qsgtextinput/data/horizontalAlignment_RightToLeft.qml
new file mode 100644
index 0000000000..15fbabe28c
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/horizontalAlignment_RightToLeft.qml
@@ -0,0 +1,23 @@
+import QtQuick 2.0
+
+Rectangle {
+ id: top
+ width: 200; height: 70;
+
+ property alias horizontalAlignment: text.horizontalAlignment
+ property string text: "اختبا"
+
+ Rectangle {
+ anchors.centerIn: parent
+ width: 180
+ height: 20
+ color: "green"
+
+ TextInput {
+ id: text
+ objectName: "text"
+ anchors.fill: parent
+ text: top.text
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/inputContext.qml b/tests/auto/declarative/qsgtextinput/data/inputContext.qml
new file mode 100644
index 0000000000..dfc80990c6
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/inputContext.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+TextInput {
+ width: 200
+ text: "supercalifra"
+ focus: true
+ cursorPosition: 12
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/inputMethodEvent.qml b/tests/auto/declarative/qsgtextinput/data/inputMethodEvent.qml
new file mode 100644
index 0000000000..f8446ab7b9
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/inputMethodEvent.qml
@@ -0,0 +1,5 @@
+import QtQuick 2.0
+
+TextInput {
+ focus: true
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/inputmethods.qml b/tests/auto/declarative/qsgtextinput/data/inputmethods.qml
new file mode 100644
index 0000000000..711e89144c
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/inputmethods.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextInput {
+ text: "Hello world!"
+ inputMethodHints: Qt.ImhNoPredictiveText
+ Keys.onLeftPressed: {}
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/masks.qml b/tests/auto/declarative/qsgtextinput/data/masks.qml
new file mode 100644
index 0000000000..589b6a3c15
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/masks.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextInput{
+ focus: true
+ objectName: "myInput"
+ inputMask: "HHHHhhhh; "
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/maxLength.qml b/tests/auto/declarative/qsgtextinput/data/maxLength.qml
new file mode 100644
index 0000000000..cca537ed6b
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/maxLength.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextInput{
+ focus: true
+ objectName: "myInput"
+ maximumLength: 10
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/mouseselection_true.qml b/tests/auto/declarative/qsgtextinput/data/mouseselection_true.qml
new file mode 100644
index 0000000000..974041b04a
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/mouseselection_true.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextInput {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: true
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/mouseselectionmode_characters.qml b/tests/auto/declarative/qsgtextinput/data/mouseselectionmode_characters.qml
new file mode 100644
index 0000000000..f7c658b618
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/mouseselectionmode_characters.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+TextInput {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: true
+ mouseSelectionMode: TextInput.SelectCharacters
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/mouseselectionmode_default.qml b/tests/auto/declarative/qsgtextinput/data/mouseselectionmode_default.qml
new file mode 100644
index 0000000000..974041b04a
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/mouseselectionmode_default.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextInput {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: true
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/mouseselectionmode_words.qml b/tests/auto/declarative/qsgtextinput/data/mouseselectionmode_words.qml
new file mode 100644
index 0000000000..20e777e470
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/mouseselectionmode_words.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+TextInput {
+ focus: true
+ text: "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ selectByMouse: true
+ mouseSelectionMode: TextInput.SelectWords
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/navigation.qml b/tests/auto/declarative/qsgtextinput/data/navigation.qml
new file mode 100644
index 0000000000..3a7d07b3c7
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/navigation.qml
@@ -0,0 +1,24 @@
+import QtQuick 2.0
+
+Rectangle {
+ property variant myInput: input
+
+ width: 800; height: 600; color: "blue"
+
+ Item {
+ id: firstItem;
+ KeyNavigation.right: input
+ }
+
+ TextInput { id: input; focus: true
+ text: "Needs some text"
+ KeyNavigation.left: firstItem
+ KeyNavigation.right: lastItem
+ KeyNavigation.up: firstItem
+ KeyNavigation.down: lastItem
+ }
+ Item {
+ id: lastItem
+ KeyNavigation.left: input
+ }
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/openInputPanel.qml b/tests/auto/declarative/qsgtextinput/data/openInputPanel.qml
new file mode 100644
index 0000000000..3924b2ab99
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/openInputPanel.qml
@@ -0,0 +1,6 @@
+import QtQuick 2.0
+
+TextInput {
+ text: "Hello world"
+ focus: false
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/positionAt.qml b/tests/auto/declarative/qsgtextinput/data/positionAt.qml
new file mode 100644
index 0000000000..7611376e13
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/positionAt.qml
@@ -0,0 +1,8 @@
+import QtQuick 2.0
+
+TextInput{
+ focus: true
+ objectName: "myInput"
+ width: 50
+ text: "This is a long piece of text"
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/preeditAutoScroll.qml b/tests/auto/declarative/qsgtextinput/data/preeditAutoScroll.qml
new file mode 100644
index 0000000000..9d98a2e220
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/preeditAutoScroll.qml
@@ -0,0 +1,7 @@
+import QtQuick 2.0
+
+TextInput {
+ focus: true
+ text: "super"
+ autoScroll: true
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/readOnly.qml b/tests/auto/declarative/qsgtextinput/data/readOnly.qml
new file mode 100644
index 0000000000..9cda7fbd1d
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/readOnly.qml
@@ -0,0 +1,12 @@
+import QtQuick 2.0
+
+Rectangle {
+ property variant myInput: input
+
+ width: 800; height: 600; color: "blue"
+
+ TextInput { id: input; focus: true
+ readOnly: true
+ text: "I am the very model of a modern major general.\n"
+ }
+}
diff --git a/tests/auto/declarative/qsgtextinput/data/validators.qml b/tests/auto/declarative/qsgtextinput/data/validators.qml
new file mode 100644
index 0000000000..0a074ce7dc
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/data/validators.qml
@@ -0,0 +1,22 @@
+import QtQuick 2.0
+
+Item {
+ property variant intInput: intInput
+ property variant dblInput: dblInput
+ property variant strInput: strInput
+
+ width: 800; height: 600;
+
+ Column{
+ TextInput { id: intInput;
+ validator: IntValidator{top: 11; bottom: 2}
+ }
+ TextInput { id: dblInput;
+ validator: DoubleValidator{top: 12.12; bottom: 2.93; decimals: 2; notation: DoubleValidator.StandardNotation}
+ }
+ TextInput { id: strInput;
+ validator: RegExpValidator { regExp: /[a-zA-z]{2,4}/ }
+ }
+ }
+
+}
diff --git a/tests/auto/declarative/qsgtextinput/qsgtextinput.pro b/tests/auto/declarative/qsgtextinput/qsgtextinput.pro
new file mode 100644
index 0000000000..d3d03e7db1
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/qsgtextinput.pro
@@ -0,0 +1,17 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsgtextinput.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+QT += core-private gui-private declarative-private
+QT += script-private
+QT += opengl-private
diff --git a/tests/auto/declarative/qsgtextinput/tst_qsgtextinput.cpp b/tests/auto/declarative/qsgtextinput/tst_qsgtextinput.cpp
new file mode 100644
index 0000000000..cbe14a5563
--- /dev/null
+++ b/tests/auto/declarative/qsgtextinput/tst_qsgtextinput.cpp
@@ -0,0 +1,2491 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QtTest/QSignalSpy>
+#include "../../../shared/util.h"
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QFile>
+#include <QtDeclarative/qsgview.h>
+#include <private/qsgtextinput_p.h>
+#include <private/qsgtextinput_p_p.h>
+#include <QDebug>
+#include <QDir>
+#include <QStyle>
+#include <QInputContext>
+#include <private/qapplication_p.h>
+#include <QtOpenGL/QGLShaderProgram>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+Q_DECLARE_METATYPE(QSGTextInput::SelectionMode)
+
+QString createExpectedFileIfNotFound(const QString& filebasename, const QImage& actual)
+{
+ // XXX This will be replaced by some clever persistent platform image store.
+ QString persistent_dir = SRCDIR "/data";
+ QString arch = "unknown-architecture"; // QTest needs to help with this.
+
+ QString expectfile = persistent_dir + QDir::separator() + filebasename + "-" + arch + ".png";
+
+ if (!QFile::exists(expectfile)) {
+ actual.save(expectfile);
+ qWarning() << "created" << expectfile;
+ }
+
+ return expectfile;
+}
+
+class tst_qsgtextinput : public QObject
+
+{
+ Q_OBJECT
+public:
+ tst_qsgtextinput();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void text();
+ void width();
+ void font();
+ void color();
+ void selection();
+ void isRightToLeft_data();
+ void isRightToLeft();
+ void moveCursorSelection_data();
+ void moveCursorSelection();
+ void moveCursorSelectionSequence_data();
+ void moveCursorSelectionSequence();
+ void dragMouseSelection();
+ void mouseSelectionMode_data();
+ void mouseSelectionMode();
+
+ void horizontalAlignment_data();
+ void horizontalAlignment();
+ void horizontalAlignment_RightToLeft();
+
+ void positionAt();
+
+ void maxLength();
+ void masks();
+ void validators();
+ void inputMethods();
+
+ void passwordCharacter();
+ void cursorDelegate();
+ void cursorVisible();
+ void cursorRectangle();
+ void navigation();
+ void navigation_RTL();
+ void copyAndPaste();
+ void canPasteEmpty();
+ void canPaste();
+ void readOnly();
+
+ void openInputPanelOnClick();
+ void openInputPanelOnFocus();
+ void setHAlignClearCache();
+ void focusOutClearSelection();
+
+ void echoMode();
+ void geometrySignals();
+ void testQtQuick11Attributes();
+ void testQtQuick11Attributes_data();
+
+ void preeditAutoScroll();
+ void preeditMicroFocus();
+ void inputContextMouseHandler();
+ void inputMethodComposing();
+ void cursorRectangleSize();
+
+private:
+ void simulateKey(QSGView *, int key);
+
+ QDeclarativeEngine engine;
+ QStringList standard;
+ QStringList colorStrings;
+};
+void tst_qsgtextinput::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("TextInput item needs OpenGL 2.0", SkipAll);
+}
+
+void tst_qsgtextinput::cleanupTestCase()
+{
+
+}
+tst_qsgtextinput::tst_qsgtextinput()
+{
+ standard << "the quick brown fox jumped over the lazy dog"
+ << "It's supercalifragisiticexpialidocious!"
+ << "Hello, world!"
+ << "!dlrow ,olleH"
+ << " spacey text ";
+
+ colorStrings << "aliceblue"
+ << "antiquewhite"
+ << "aqua"
+ << "darkkhaki"
+ << "darkolivegreen"
+ << "dimgray"
+ << "palevioletred"
+ << "lightsteelblue"
+ << "#000000"
+ << "#AAAAAA"
+ << "#FFFFFF"
+ << "#2AC05F";
+}
+
+void tst_qsgtextinput::text()
+{
+ {
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData("import QtQuick 2.0\nTextInput { text: \"\" }", QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->text(), QString(""));
+
+ delete textinputObject;
+ }
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextInput { text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->text(), standard.at(i));
+
+ delete textinputObject;
+ }
+
+}
+
+void tst_qsgtextinput::width()
+{
+ // uses Font metrics to find the width for standard
+ {
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData("import QtQuick 2.0\nTextInput { text: \"\" }", QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->width(), 0.0);
+
+ delete textinputObject;
+ }
+
+ for (int i = 0; i < standard.size(); i++)
+ {
+ QFont f;
+ QFontMetricsF fm(f);
+ qreal metricWidth = fm.width(standard.at(i));
+
+ QString componentStr = "import QtQuick 2.0\nTextInput { text: \"" + standard.at(i) + "\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+
+ QVERIFY(textinputObject != 0);
+ int delta = abs(int(int(textinputObject->width()) - metricWidth));
+ QVERIFY(delta <= 3.0); // As best as we can hope for cross-platform.
+
+ delete textinputObject;
+ }
+}
+
+void tst_qsgtextinput::font()
+{
+ //test size, then bold, then italic, then family
+ {
+ QString componentStr = "import QtQuick 2.0\nTextInput { font.pointSize: 40; text: \"Hello World\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->font().pointSize(), 40);
+ QCOMPARE(textinputObject->font().bold(), false);
+ QCOMPARE(textinputObject->font().italic(), false);
+
+ delete textinputObject;
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nTextInput { font.bold: true; text: \"Hello World\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->font().bold(), true);
+ QCOMPARE(textinputObject->font().italic(), false);
+
+ delete textinputObject;
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nTextInput { font.italic: true; text: \"Hello World\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->font().italic(), true);
+ QCOMPARE(textinputObject->font().bold(), false);
+
+ delete textinputObject;
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nTextInput { font.family: \"Helvetica\"; text: \"Hello World\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->font().family(), QString("Helvetica"));
+ QCOMPARE(textinputObject->font().bold(), false);
+ QCOMPARE(textinputObject->font().italic(), false);
+
+ delete textinputObject;
+ }
+
+ {
+ QString componentStr = "import QtQuick 2.0\nTextInput { font.family: \"\"; text: \"Hello World\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->font().family(), QString(""));
+
+ delete textinputObject;
+ }
+}
+
+void tst_qsgtextinput::color()
+{
+ //test color
+ for (int i = 0; i < colorStrings.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextInput { color: \"" + colorStrings.at(i) + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->color(), QColor(colorStrings.at(i)));
+
+ delete textinputObject;
+ }
+
+ //test selection color
+ for (int i = 0; i < colorStrings.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextInput { selectionColor: \"" + colorStrings.at(i) + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->selectionColor(), QColor(colorStrings.at(i)));
+
+ delete textinputObject;
+ }
+
+ //test selected text color
+ for (int i = 0; i < colorStrings.size(); i++)
+ {
+ QString componentStr = "import QtQuick 2.0\nTextInput { selectedTextColor: \"" + colorStrings.at(i) + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->selectedTextColor(), QColor(colorStrings.at(i)));
+
+ delete textinputObject;
+ }
+
+ {
+ QString colorStr = "#AA001234";
+ QColor testColor("#001234");
+ testColor.setAlpha(170);
+
+ QString componentStr = "import QtQuick 2.0\nTextInput { color: \"" + colorStr + "\"; text: \"Hello World\" }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+
+ QVERIFY(textinputObject != 0);
+ QCOMPARE(textinputObject->color(), testColor);
+
+ delete textinputObject;
+ }
+}
+
+void tst_qsgtextinput::selection()
+{
+ QString testStr = standard[0];
+ QString componentStr = "import QtQuick 2.0\nTextInput { text: \""+ testStr +"\"; }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+ QVERIFY(textinputObject != 0);
+
+
+ //Test selection follows cursor
+ for(int i=0; i<= testStr.size(); i++) {
+ textinputObject->setCursorPosition(i);
+ QCOMPARE(textinputObject->cursorPosition(), i);
+ QCOMPARE(textinputObject->selectionStart(), i);
+ QCOMPARE(textinputObject->selectionEnd(), i);
+ QVERIFY(textinputObject->selectedText().isNull());
+ }
+
+ textinputObject->setCursorPosition(0);
+ QVERIFY(textinputObject->cursorPosition() == 0);
+ QVERIFY(textinputObject->selectionStart() == 0);
+ QVERIFY(textinputObject->selectionEnd() == 0);
+ QVERIFY(textinputObject->selectedText().isNull());
+
+ // Verify invalid positions are ignored.
+ textinputObject->setCursorPosition(-1);
+ QVERIFY(textinputObject->cursorPosition() == 0);
+ QVERIFY(textinputObject->selectionStart() == 0);
+ QVERIFY(textinputObject->selectionEnd() == 0);
+ QVERIFY(textinputObject->selectedText().isNull());
+
+ textinputObject->setCursorPosition(textinputObject->text().count()+1);
+ QVERIFY(textinputObject->cursorPosition() == 0);
+ QVERIFY(textinputObject->selectionStart() == 0);
+ QVERIFY(textinputObject->selectionEnd() == 0);
+ QVERIFY(textinputObject->selectedText().isNull());
+
+ //Test selection
+ for(int i=0; i<= testStr.size(); i++) {
+ textinputObject->select(0,i);
+ QCOMPARE(testStr.mid(0,i), textinputObject->selectedText());
+ }
+ for(int i=0; i<= testStr.size(); i++) {
+ textinputObject->select(i,testStr.size());
+ QCOMPARE(testStr.mid(i,testStr.size()-i), textinputObject->selectedText());
+ }
+
+ textinputObject->setCursorPosition(0);
+ QVERIFY(textinputObject->cursorPosition() == 0);
+ QVERIFY(textinputObject->selectionStart() == 0);
+ QVERIFY(textinputObject->selectionEnd() == 0);
+ QVERIFY(textinputObject->selectedText().isNull());
+
+ //Test Error Ignoring behaviour
+ textinputObject->setCursorPosition(0);
+ QVERIFY(textinputObject->selectedText().isNull());
+ textinputObject->select(-10,0);
+ QVERIFY(textinputObject->selectedText().isNull());
+ textinputObject->select(100,110);
+ QVERIFY(textinputObject->selectedText().isNull());
+ textinputObject->select(0,-10);
+ QVERIFY(textinputObject->selectedText().isNull());
+ textinputObject->select(0,100);
+ QVERIFY(textinputObject->selectedText().isNull());
+ textinputObject->select(0,10);
+ QVERIFY(textinputObject->selectedText().size() == 10);
+ textinputObject->select(-10,10);
+ QVERIFY(textinputObject->selectedText().size() == 10);
+ textinputObject->select(100,101);
+ QVERIFY(textinputObject->selectedText().size() == 10);
+ textinputObject->select(0,-10);
+ QVERIFY(textinputObject->selectedText().size() == 10);
+ textinputObject->select(0,100);
+ QVERIFY(textinputObject->selectedText().size() == 10);
+
+ textinputObject->deselect();
+ QVERIFY(textinputObject->selectedText().isNull());
+ textinputObject->select(0,10);
+ QVERIFY(textinputObject->selectedText().size() == 10);
+ textinputObject->deselect();
+ QVERIFY(textinputObject->selectedText().isNull());
+
+ delete textinputObject;
+}
+
+void tst_qsgtextinput::isRightToLeft_data()
+{
+ QTest::addColumn<QString>("text");
+ QTest::addColumn<bool>("emptyString");
+ QTest::addColumn<bool>("firstCharacter");
+ QTest::addColumn<bool>("lastCharacter");
+ QTest::addColumn<bool>("middleCharacter");
+ QTest::addColumn<bool>("startString");
+ QTest::addColumn<bool>("midString");
+ QTest::addColumn<bool>("endString");
+
+ const quint16 arabic_str[] = { 0x0638, 0x0643, 0x00646, 0x0647, 0x0633, 0x0638, 0x0643, 0x00646, 0x0647, 0x0633, 0x0647};
+ QTest::newRow("Empty") << "" << false << false << false << false << false << false << false;
+ QTest::newRow("Neutral") << "23244242" << false << false << false << false << false << false << false;
+ QTest::newRow("LTR") << "Hello world" << false << false << false << false << false << false << false;
+ QTest::newRow("RTL") << QString::fromUtf16(arabic_str, 11) << false << true << true << true << true << true << true;
+ QTest::newRow("Bidi RTL + LTR + RTL") << QString::fromUtf16(arabic_str, 11) + QString("Hello world") + QString::fromUtf16(arabic_str, 11) << false << true << true << false << true << true << true;
+ QTest::newRow("Bidi LTR + RTL + LTR") << QString("Hello world") + QString::fromUtf16(arabic_str, 11) + QString("Hello world") << false << false << false << true << false << false << false;
+}
+
+void tst_qsgtextinput::isRightToLeft()
+{
+ QFETCH(QString, text);
+ QFETCH(bool, emptyString);
+ QFETCH(bool, firstCharacter);
+ QFETCH(bool, lastCharacter);
+ QFETCH(bool, middleCharacter);
+ QFETCH(bool, startString);
+ QFETCH(bool, midString);
+ QFETCH(bool, endString);
+
+ QSGTextInput textInput;
+ textInput.setText(text);
+
+ // first test that the right string is delivered to the QString::isRightToLeft()
+ QCOMPARE(textInput.isRightToLeft(0,0), text.mid(0,0).isRightToLeft());
+ QCOMPARE(textInput.isRightToLeft(0,1), text.mid(0,1).isRightToLeft());
+ QCOMPARE(textInput.isRightToLeft(text.count()-2, text.count()-1), text.mid(text.count()-2, text.count()-1).isRightToLeft());
+ QCOMPARE(textInput.isRightToLeft(text.count()/2, text.count()/2 + 1), text.mid(text.count()/2, text.count()/2 + 1).isRightToLeft());
+ QCOMPARE(textInput.isRightToLeft(0,text.count()/4), text.mid(0,text.count()/4).isRightToLeft());
+ QCOMPARE(textInput.isRightToLeft(text.count()/4,3*text.count()/4), text.mid(text.count()/4,3*text.count()/4).isRightToLeft());
+ if (text.isEmpty())
+ QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: QML TextInput: isRightToLeft(start, end) called with the end property being smaller than the start.");
+ QCOMPARE(textInput.isRightToLeft(3*text.count()/4,text.count()-1), text.mid(3*text.count()/4,text.count()-1).isRightToLeft());
+
+ // then test that the feature actually works
+ QCOMPARE(textInput.isRightToLeft(0,0), emptyString);
+ QCOMPARE(textInput.isRightToLeft(0,1), firstCharacter);
+ QCOMPARE(textInput.isRightToLeft(text.count()-2, text.count()-1), lastCharacter);
+ QCOMPARE(textInput.isRightToLeft(text.count()/2, text.count()/2 + 1), middleCharacter);
+ QCOMPARE(textInput.isRightToLeft(0,text.count()/4), startString);
+ QCOMPARE(textInput.isRightToLeft(text.count()/4,3*text.count()/4), midString);
+ if (text.isEmpty())
+ QTest::ignoreMessage(QtWarningMsg, "<Unknown File>: QML TextInput: isRightToLeft(start, end) called with the end property being smaller than the start.");
+ QCOMPARE(textInput.isRightToLeft(3*text.count()/4,text.count()-1), endString);
+}
+
+void tst_qsgtextinput::moveCursorSelection_data()
+{
+ QTest::addColumn<QString>("testStr");
+ QTest::addColumn<int>("cursorPosition");
+ QTest::addColumn<int>("movePosition");
+ QTest::addColumn<QSGTextInput::SelectionMode>("mode");
+ QTest::addColumn<int>("selectionStart");
+ QTest::addColumn<int>("selectionEnd");
+ QTest::addColumn<bool>("reversible");
+
+ // () contains the text selected by the cursor.
+ // <> contains the actual selection.
+
+ QTest::newRow("(t)he|characters")
+ << standard[0] << 0 << 1 << QSGTextInput::SelectCharacters << 0 << 1 << true;
+ QTest::newRow("do(g)|characters")
+ << standard[0] << 43 << 44 << QSGTextInput::SelectCharacters << 43 << 44 << true;
+ QTest::newRow("jum(p)ed|characters")
+ << standard[0] << 23 << 24 << QSGTextInput::SelectCharacters << 23 << 24 << true;
+ QTest::newRow("jumped( )over|characters")
+ << standard[0] << 26 << 27 << QSGTextInput::SelectCharacters << 26 << 27 << true;
+ QTest::newRow("(the )|characters")
+ << standard[0] << 0 << 4 << QSGTextInput::SelectCharacters << 0 << 4 << true;
+ QTest::newRow("( dog)|characters")
+ << standard[0] << 40 << 44 << QSGTextInput::SelectCharacters << 40 << 44 << true;
+ QTest::newRow("( jumped )|characters")
+ << standard[0] << 19 << 27 << QSGTextInput::SelectCharacters << 19 << 27 << true;
+ QTest::newRow("th(e qu)ick|characters")
+ << standard[0] << 2 << 6 << QSGTextInput::SelectCharacters << 2 << 6 << true;
+ QTest::newRow("la(zy d)og|characters")
+ << standard[0] << 38 << 42 << QSGTextInput::SelectCharacters << 38 << 42 << true;
+ QTest::newRow("jum(ped ov)er|characters")
+ << standard[0] << 23 << 29 << QSGTextInput::SelectCharacters << 23 << 29 << true;
+ QTest::newRow("()the|characters")
+ << standard[0] << 0 << 0 << QSGTextInput::SelectCharacters << 0 << 0 << true;
+ QTest::newRow("dog()|characters")
+ << standard[0] << 44 << 44 << QSGTextInput::SelectCharacters << 44 << 44 << true;
+ QTest::newRow("jum()ped|characters")
+ << standard[0] << 23 << 23 << QSGTextInput::SelectCharacters << 23 << 23 << true;
+
+ QTest::newRow("<(t)he>|words")
+ << standard[0] << 0 << 1 << QSGTextInput::SelectWords << 0 << 3 << true;
+ QTest::newRow("<do(g)>|words")
+ << standard[0] << 43 << 44 << QSGTextInput::SelectWords << 41 << 44 << true;
+ QTest::newRow("<jum(p)ed>|words")
+ << standard[0] << 23 << 24 << QSGTextInput::SelectWords << 20 << 26 << true;
+ QTest::newRow("<jumped( )>over|words,ltr")
+ << standard[0] << 26 << 27 << QSGTextInput::SelectWords << 20 << 27 << false;
+ QTest::newRow("jumped<( )over>|words,rtl")
+ << standard[0] << 27 << 26 << QSGTextInput::SelectWords << 26 << 31 << false;
+ QTest::newRow("<(the )>quick|words,ltr")
+ << standard[0] << 0 << 4 << QSGTextInput::SelectWords << 0 << 4 << false;
+ QTest::newRow("<(the )quick>|words,rtl")
+ << standard[0] << 4 << 0 << QSGTextInput::SelectWords << 0 << 9 << false;
+ QTest::newRow("<lazy( dog)>|words,ltr")
+ << standard[0] << 40 << 44 << QSGTextInput::SelectWords << 36 << 44 << false;
+ QTest::newRow("lazy<( dog)>|words,rtl")
+ << standard[0] << 44 << 40 << QSGTextInput::SelectWords << 40 << 44 << false;
+ QTest::newRow("<fox( jumped )>over|words,ltr")
+ << standard[0] << 19 << 27 << QSGTextInput::SelectWords << 16 << 27 << false;
+ QTest::newRow("fox<( jumped )over>|words,rtl")
+ << standard[0] << 27 << 19 << QSGTextInput::SelectWords << 19 << 31 << false;
+ QTest::newRow("<th(e qu)ick>|words")
+ << standard[0] << 2 << 6 << QSGTextInput::SelectWords << 0 << 9 << true;
+ QTest::newRow("<la(zy d)og|words>")
+ << standard[0] << 38 << 42 << QSGTextInput::SelectWords << 36 << 44 << true;
+ QTest::newRow("<jum(ped ov)er>|words")
+ << standard[0] << 23 << 29 << QSGTextInput::SelectWords << 20 << 31 << true;
+ QTest::newRow("<()>the|words")
+ << standard[0] << 0 << 0 << QSGTextInput::SelectWords << 0 << 0 << true;
+ QTest::newRow("dog<()>|words")
+ << standard[0] << 44 << 44 << QSGTextInput::SelectWords << 44 << 44 << true;
+ QTest::newRow("jum<()>ped|words")
+ << standard[0] << 23 << 23 << QSGTextInput::SelectWords << 23 << 23 << true;
+
+ QTest::newRow("Hello<(,)> |words")
+ << standard[2] << 5 << 6 << QSGTextInput::SelectWords << 5 << 6 << true;
+ QTest::newRow("Hello<(, )>world|words,ltr")
+ << standard[2] << 5 << 7 << QSGTextInput::SelectWords << 5 << 7 << false;
+ QTest::newRow("Hello<(, )world>|words,rtl")
+ << standard[2] << 7 << 5 << QSGTextInput::SelectWords << 5 << 12 << false;
+ QTest::newRow("<Hel(lo, )>world|words,ltr")
+ << standard[2] << 3 << 7 << QSGTextInput::SelectWords << 0 << 7 << false;
+ QTest::newRow("<Hel(lo, )world>|words,rtl")
+ << standard[2] << 7 << 3 << QSGTextInput::SelectWords << 0 << 12 << false;
+ QTest::newRow("<Hel(lo)>,|words")
+ << standard[2] << 3 << 5 << QSGTextInput::SelectWords << 0 << 5 << true;
+ QTest::newRow("Hello<()>,|words")
+ << standard[2] << 5 << 5 << QSGTextInput::SelectWords << 5 << 5 << true;
+ QTest::newRow("Hello,<()>|words")
+ << standard[2] << 6 << 6 << QSGTextInput::SelectWords << 6 << 6 << true;
+ QTest::newRow("Hello<,( )>world|words,ltr")
+ << standard[2] << 6 << 7 << QSGTextInput::SelectWords << 5 << 7 << false;
+ QTest::newRow("Hello,<( )world>|words,rtl")
+ << standard[2] << 7 << 6 << QSGTextInput::SelectWords << 6 << 12 << false;
+ QTest::newRow("Hello<,( world)>|words,ltr")
+ << standard[2] << 6 << 12 << QSGTextInput::SelectWords << 5 << 12 << false;
+ QTest::newRow("Hello,<( world)>|words,rtl")
+ << standard[2] << 12 << 6 << QSGTextInput::SelectWords << 6 << 12 << false;
+ QTest::newRow("Hello<,( world!)>|words,ltr")
+ << standard[2] << 6 << 13 << QSGTextInput::SelectWords << 5 << 13 << false;
+ QTest::newRow("Hello,<( world!)>|words,rtl")
+ << standard[2] << 13 << 6 << QSGTextInput::SelectWords << 6 << 13 << false;
+ QTest::newRow("Hello<(, world!)>|words")
+ << standard[2] << 5 << 13 << QSGTextInput::SelectWords << 5 << 13 << true;
+ // Fails due to an issue with QTextBoundaryFinder and punctuation at the end of strings.
+ // QTBUG-11365
+ // QTest::newRow("world<(!)>|words")
+ // << standard[2] << 12 << 13 << QSGTextInput::SelectWords << 12 << 13 << true;
+ QTest::newRow("world!<()>)|words")
+ << standard[2] << 13 << 13 << QSGTextInput::SelectWords << 13 << 13 << true;
+ QTest::newRow("world<()>!)|words")
+ << standard[2] << 12 << 12 << QSGTextInput::SelectWords << 12 << 12 << true;
+
+ QTest::newRow("<(,)>olleH |words")
+ << standard[3] << 7 << 8 << QSGTextInput::SelectWords << 7 << 8 << true;
+ QTest::newRow("<dlrow( ,)>olleH|words,ltr")
+ << standard[3] << 6 << 8 << QSGTextInput::SelectWords << 1 << 8 << false;
+ QTest::newRow("dlrow<( ,)>olleH|words,rtl")
+ << standard[3] << 8 << 6 << QSGTextInput::SelectWords << 6 << 8 << false;
+ QTest::newRow("<dlrow( ,ol)leH>|words,ltr")
+ << standard[3] << 6 << 10 << QSGTextInput::SelectWords << 1 << 13 << false;
+ QTest::newRow("dlrow<( ,ol)leH>|words,rtl")
+ << standard[3] << 10 << 6 << QSGTextInput::SelectWords << 6 << 13 << false;
+ QTest::newRow(",<(ol)leH>,|words")
+ << standard[3] << 8 << 10 << QSGTextInput::SelectWords << 8 << 13 << true;
+ QTest::newRow(",<()>olleH|words")
+ << standard[3] << 8 << 8 << QSGTextInput::SelectWords << 8 << 8 << true;
+ QTest::newRow("<()>,olleH|words")
+ << standard[3] << 7 << 7 << QSGTextInput::SelectWords << 7 << 7 << true;
+ QTest::newRow("<dlrow( )>,olleH|words,ltr")
+ << standard[3] << 6 << 7 << QSGTextInput::SelectWords << 1 << 7 << false;
+ QTest::newRow("dlrow<( ),>olleH|words,rtl")
+ << standard[3] << 7 << 6 << QSGTextInput::SelectWords << 6 << 8 << false;
+ QTest::newRow("<(dlrow )>,olleH|words,ltr")
+ << standard[3] << 1 << 7 << QSGTextInput::SelectWords << 1 << 7 << false;
+ QTest::newRow("<(dlrow ),>olleH|words,rtl")
+ << standard[3] << 7 << 1 << QSGTextInput::SelectWords << 1 << 8 << false;
+ QTest::newRow("<(!dlrow )>,olleH|words,ltr")
+ << standard[3] << 0 << 7 << QSGTextInput::SelectWords << 0 << 7 << false;
+ QTest::newRow("<(!dlrow ),>olleH|words,rtl")
+ << standard[3] << 7 << 0 << QSGTextInput::SelectWords << 0 << 8 << false;
+ QTest::newRow("(!dlrow ,)olleH|words")
+ << standard[3] << 0 << 8 << QSGTextInput::SelectWords << 0 << 8 << true;
+ QTest::newRow("<(!)>dlrow|words")
+ << standard[3] << 0 << 1 << QSGTextInput::SelectWords << 0 << 1 << true;
+ QTest::newRow("<()>!dlrow|words")
+ << standard[3] << 0 << 0 << QSGTextInput::SelectWords << 0 << 0 << true;
+ QTest::newRow("!<()>dlrow|words")
+ << standard[3] << 1 << 1 << QSGTextInput::SelectWords << 1 << 1 << true;
+
+ QTest::newRow(" <s(pac)ey> text |words")
+ << standard[4] << 1 << 4 << QSGTextInput::SelectWords << 1 << 7 << true;
+ QTest::newRow(" spacey <t(ex)t> |words")
+ << standard[4] << 11 << 13 << QSGTextInput::SelectWords << 10 << 14 << false; // Should be reversible. QTBUG-11365
+ QTest::newRow("<( )>spacey text |words|ltr")
+ << standard[4] << 0 << 1 << QSGTextInput::SelectWords << 0 << 1 << false;
+ QTest::newRow("<( )spacey> text |words|rtl")
+ << standard[4] << 1 << 0 << QSGTextInput::SelectWords << 0 << 7 << false;
+ QTest::newRow("spacey <text( )>|words|ltr")
+ << standard[4] << 14 << 15 << QSGTextInput::SelectWords << 10 << 15 << false;
+// QTBUG-11365
+// QTest::newRow("spacey text<( )>|words|rtl")
+// << standard[4] << 15 << 14 << QSGTextInput::SelectWords << 14 << 15 << false;
+ QTest::newRow("<()> spacey text |words")
+ << standard[4] << 0 << 0 << QSGTextInput::SelectWords << 0 << 0 << false;
+ QTest::newRow(" spacey text <()>|words")
+ << standard[4] << 15 << 15 << QSGTextInput::SelectWords << 15 << 15 << false;
+}
+
+void tst_qsgtextinput::moveCursorSelection()
+{
+ QFETCH(QString, testStr);
+ QFETCH(int, cursorPosition);
+ QFETCH(int, movePosition);
+ QFETCH(QSGTextInput::SelectionMode, mode);
+ QFETCH(int, selectionStart);
+ QFETCH(int, selectionEnd);
+ QFETCH(bool, reversible);
+
+ QString componentStr = "import QtQuick 2.0\nTextInput { text: \""+ testStr +"\"; }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+ QVERIFY(textinputObject != 0);
+
+ textinputObject->setCursorPosition(cursorPosition);
+ textinputObject->moveCursorSelection(movePosition, mode);
+
+ QCOMPARE(textinputObject->selectedText(), testStr.mid(selectionStart, selectionEnd - selectionStart));
+ QCOMPARE(textinputObject->selectionStart(), selectionStart);
+ QCOMPARE(textinputObject->selectionEnd(), selectionEnd);
+
+ if (reversible) {
+ textinputObject->setCursorPosition(movePosition);
+ textinputObject->moveCursorSelection(cursorPosition, mode);
+
+ QCOMPARE(textinputObject->selectedText(), testStr.mid(selectionStart, selectionEnd - selectionStart));
+ QCOMPARE(textinputObject->selectionStart(), selectionStart);
+ QCOMPARE(textinputObject->selectionEnd(), selectionEnd);
+ }
+
+ delete textinputObject;
+}
+
+void tst_qsgtextinput::moveCursorSelectionSequence_data()
+{
+ QTest::addColumn<QString>("testStr");
+ QTest::addColumn<int>("cursorPosition");
+ QTest::addColumn<int>("movePosition1");
+ QTest::addColumn<int>("movePosition2");
+ QTest::addColumn<int>("selection1Start");
+ QTest::addColumn<int>("selection1End");
+ QTest::addColumn<int>("selection2Start");
+ QTest::addColumn<int>("selection2End");
+
+ // () contains the text selected by the cursor.
+ // <> contains the actual selection.
+ // ^ is the revised cursor position.
+ // {} contains the revised selection.
+
+ QTest::newRow("the {<quick( bro)wn> f^ox} jumped|ltr")
+ << standard[0]
+ << 9 << 13 << 17
+ << 4 << 15
+ << 4 << 19;
+ QTest::newRow("the quick<( {bro)wn> f^ox} jumped|rtl")
+ << standard[0]
+ << 13 << 9 << 17
+ << 9 << 15
+ << 10 << 19;
+ QTest::newRow("the {<quick( bro)wn> ^}fox jumped|ltr")
+ << standard[0]
+ << 9 << 13 << 16
+ << 4 << 15
+ << 4 << 16;
+ QTest::newRow("the quick<( {bro)wn> ^}fox jumped|rtl")
+ << standard[0]
+ << 13 << 9 << 16
+ << 9 << 15
+ << 10 << 16;
+ QTest::newRow("the {<quick( bro)wn^>} fox jumped|ltr")
+ << standard[0]
+ << 9 << 13 << 15
+ << 4 << 15
+ << 4 << 15;
+ QTest::newRow("the quick<( {bro)wn^>} f^ox jumped|rtl")
+ << standard[0]
+ << 13 << 9 << 15
+ << 9 << 15
+ << 10 << 15;
+ QTest::newRow("the {<quick() ^}bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 10
+ << 4 << 15
+ << 4 << 10;
+ QTest::newRow("the quick<( {^bro)wn>} fox|rtl")
+ << standard[0]
+ << 13 << 9 << 10
+ << 9 << 15
+ << 10 << 15;
+ QTest::newRow("the {<quick^}( bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 9
+ << 4 << 15
+ << 4 << 9;
+ QTest::newRow("the quick{<(^ bro)wn>} fox|rtl")
+ << standard[0]
+ << 13 << 9 << 9
+ << 9 << 15
+ << 9 << 15;
+ QTest::newRow("the {<qui^ck}( bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 7
+ << 4 << 15
+ << 4 << 9;
+ QTest::newRow("the {<qui^ck}( bro)wn> fox|rtl")
+ << standard[0]
+ << 13 << 9 << 7
+ << 9 << 15
+ << 4 << 15;
+ QTest::newRow("the {<^quick}( bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 4
+ << 4 << 15
+ << 4 << 9;
+ QTest::newRow("the {<^quick}( bro)wn> fox|rtl")
+ << standard[0]
+ << 13 << 9 << 4
+ << 9 << 15
+ << 4 << 15;
+ QTest::newRow("the{^ <quick}( bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 3
+ << 4 << 15
+ << 3 << 9;
+ QTest::newRow("the{^ <quick}( bro)wn> fox|rtl")
+ << standard[0]
+ << 13 << 9 << 3
+ << 9 << 15
+ << 3 << 15;
+ QTest::newRow("{t^he <quick}( bro)wn> fox|ltr")
+ << standard[0]
+ << 9 << 13 << 1
+ << 4 << 15
+ << 0 << 9;
+ QTest::newRow("{t^he <quick}( bro)wn> fox|rtl")
+ << standard[0]
+ << 13 << 9 << 1
+ << 9 << 15
+ << 0 << 15;
+
+ QTest::newRow("{<He(ll)o>, w^orld}!|ltr")
+ << standard[2]
+ << 2 << 4 << 8
+ << 0 << 5
+ << 0 << 12;
+ QTest::newRow("{<He(ll)o>, w^orld}!|rtl")
+ << standard[2]
+ << 4 << 2 << 8
+ << 0 << 5
+ << 0 << 12;
+
+ QTest::newRow("!{dlro^w ,<o(ll)eH>}|ltr")
+ << standard[3]
+ << 9 << 11 << 5
+ << 8 << 13
+ << 1 << 13;
+ QTest::newRow("!{dlro^w ,<o(ll)eH>}|rtl")
+ << standard[3]
+ << 11 << 9 << 5
+ << 8 << 13
+ << 1 << 13;
+
+ QTest::newRow("{<(^} sp)acey> text |ltr")
+ << standard[4]
+ << 0 << 3 << 0
+ << 0 << 7
+ << 0 << 0;
+ QTest::newRow("{<( ^}sp)acey> text |ltr")
+ << standard[4]
+ << 0 << 3 << 1
+ << 0 << 7
+ << 0 << 1;
+ QTest::newRow("<( {s^p)acey>} text |rtl")
+ << standard[4]
+ << 3 << 0 << 2
+ << 0 << 7
+ << 1 << 7;
+ QTest::newRow("<( {^sp)acey>} text |rtl")
+ << standard[4]
+ << 3 << 0 << 1
+ << 0 << 7
+ << 1 << 7;
+
+ QTest::newRow(" spacey <te(xt {^)>}|rtl")
+ << standard[4]
+ << 15 << 12 << 15
+ << 10 << 15
+ << 15 << 15;
+// QTBUG-11365
+// QTest::newRow(" spacey <te(xt{^ )>}|rtl")
+// << standard[4]
+// << 15 << 12 << 14
+// << 10 << 15
+// << 14 << 15;
+ QTest::newRow(" spacey {<te(x^t} )>|ltr")
+ << standard[4]
+ << 12 << 15 << 13
+ << 10 << 15
+ << 10 << 14;
+// QTBUG-11365
+// QTest::newRow(" spacey {<te(xt^} )>|ltr")
+// << standard[4]
+// << 12 << 15 << 14
+// << 10 << 15
+// << 10 << 14;
+}
+
+void tst_qsgtextinput::moveCursorSelectionSequence()
+{
+ QFETCH(QString, testStr);
+ QFETCH(int, cursorPosition);
+ QFETCH(int, movePosition1);
+ QFETCH(int, movePosition2);
+ QFETCH(int, selection1Start);
+ QFETCH(int, selection1End);
+ QFETCH(int, selection2Start);
+ QFETCH(int, selection2End);
+
+ QString componentStr = "import QtQuick 2.0\nTextInput { text: \""+ testStr +"\"; }";
+ QDeclarativeComponent textinputComponent(&engine);
+ textinputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput*>(textinputComponent.create());
+ QVERIFY(textinputObject != 0);
+
+ textinputObject->setCursorPosition(cursorPosition);
+
+ textinputObject->moveCursorSelection(movePosition1, QSGTextInput::SelectWords);
+ QCOMPARE(textinputObject->selectedText(), testStr.mid(selection1Start, selection1End - selection1Start));
+ QCOMPARE(textinputObject->selectionStart(), selection1Start);
+ QCOMPARE(textinputObject->selectionEnd(), selection1End);
+
+ textinputObject->moveCursorSelection(movePosition2, QSGTextInput::SelectWords);
+ QCOMPARE(textinputObject->selectedText(), testStr.mid(selection2Start, selection2End - selection2Start));
+ QCOMPARE(textinputObject->selectionStart(), selection2Start);
+ QCOMPARE(textinputObject->selectionEnd(), selection2End);
+
+ delete textinputObject;
+}
+
+void tst_qsgtextinput::dragMouseSelection()
+{
+ QString qmlfile = SRCDIR "/data/mouseselection_true.qml";
+
+ QSGView canvas(QUrl::fromLocalFile(qmlfile));
+
+ canvas.show();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&canvas));
+
+ QVERIFY(canvas.rootObject() != 0);
+ QSGTextInput *textInputObject = qobject_cast<QSGTextInput *>(canvas.rootObject());
+ QVERIFY(textInputObject != 0);
+
+ // press-and-drag-and-release from x1 to x2
+ int x1 = 10;
+ int x2 = 70;
+ int y = textInputObject->height()/2;
+ QTest::mousePress(&canvas, Qt::LeftButton, 0, QPoint(x1,y));
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(x2,y), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&canvas, &mv);
+ }
+ QTest::mouseRelease(&canvas, Qt::LeftButton, 0, QPoint(x2,y));
+
+ QString str1 = textInputObject->selectedText();
+ QVERIFY(str1.length() > 3);
+
+ // press and drag the current selection.
+ x1 = 40;
+ x2 = 100;
+ QTest::mousePress(&canvas, Qt::LeftButton, 0, QPoint(x1,y));
+ {
+ QMouseEvent mv(QEvent::MouseMove, QPoint(x2,y), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&canvas, &mv);
+ }
+ QTest::mouseRelease(&canvas, Qt::LeftButton, 0, QPoint(x2,y));
+ QString str2 = textInputObject->selectedText();
+ QVERIFY(str2.length() > 3);
+
+ QVERIFY(str1 != str2); // Verify the second press and drag is a new selection and doesn't not the first moved.
+}
+
+void tst_qsgtextinput::mouseSelectionMode_data()
+{
+ QTest::addColumn<QString>("qmlfile");
+ QTest::addColumn<bool>("selectWords");
+
+ // import installed
+ QTest::newRow("SelectWords") << SRCDIR "/data/mouseselectionmode_words.qml" << true;
+ QTest::newRow("SelectCharacters") << SRCDIR "/data/mouseselectionmode_characters.qml" << false;
+ QTest::newRow("default") << SRCDIR "/data/mouseselectionmode_default.qml" << false;
+}
+
+void tst_qsgtextinput::mouseSelectionMode()
+{
+ QFETCH(QString, qmlfile);
+ QFETCH(bool, selectWords);
+
+ QString text = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
+
+ QSGView canvas(QUrl::fromLocalFile(qmlfile));
+
+ canvas.show();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&canvas));
+
+ QVERIFY(canvas.rootObject() != 0);
+ QSGTextInput *textInputObject = qobject_cast<QSGTextInput *>(canvas.rootObject());
+ QVERIFY(textInputObject != 0);
+
+ // press-and-drag-and-release from x1 to x2
+ int x1 = 10;
+ int x2 = 70;
+ int y = textInputObject->height()/2;
+ QTest::mousePress(&canvas, Qt::LeftButton, 0, QPoint(x1,y));
+ //QTest::mouseMove(&canvas, canvas.mapFromScene(QPoint(x2,y))); // doesn't work
+ QMouseEvent mv(QEvent::MouseMove, QPoint(x2,y), Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&canvas, &mv);
+ QTest::mouseRelease(&canvas, Qt::LeftButton, 0, QPoint(x2,y));
+ QString str = textInputObject->selectedText();
+ if (selectWords) {
+ QCOMPARE(str, text);
+ } else {
+ QVERIFY(str.length() > 3);
+ QVERIFY(str != text);
+ }
+}
+
+void tst_qsgtextinput::horizontalAlignment_data()
+{
+ QTest::addColumn<int>("hAlign");
+ QTest::addColumn<QString>("expectfile");
+
+ QTest::newRow("L") << int(Qt::AlignLeft) << "halign_left";
+ QTest::newRow("R") << int(Qt::AlignRight) << "halign_right";
+ QTest::newRow("C") << int(Qt::AlignHCenter) << "halign_center";
+}
+
+void tst_qsgtextinput::horizontalAlignment()
+{
+ QFETCH(int, hAlign);
+ QFETCH(QString, expectfile);
+
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/horizontalAlignment.qml"));
+
+ canvas.show();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&canvas));
+ QObject *ob = canvas.rootObject();
+ QVERIFY(ob != 0);
+ ob->setProperty("horizontalAlignment",hAlign);
+ QImage actual(canvas.width(), canvas.height(), QImage::Format_RGB32);
+ actual.fill(qRgb(255,255,255));
+ {
+ QPainter p(&actual);
+ canvas.render(&p);
+ }
+
+ expectfile = createExpectedFileIfNotFound(expectfile, actual);
+
+ QImage expect(expectfile);
+
+ QCOMPARE(actual,expect);
+}
+
+void tst_qsgtextinput::horizontalAlignment_RightToLeft()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/horizontalAlignment_RightToLeft.qml"));
+ QSGTextInput *textInput = canvas.rootObject()->findChild<QSGTextInput*>("text");
+ QVERIFY(textInput != 0);
+ canvas.show();
+
+ QSGTextInputPrivate *textInputPrivate = QSGTextInputPrivate::get(textInput);
+ QVERIFY(textInputPrivate != 0);
+ QVERIFY(-textInputPrivate->hscroll > canvas.width()/2);
+
+ // implicit alignment should follow the reading direction of RTL text
+ QCOMPARE(textInput->hAlign(), QSGTextInput::AlignRight);
+ QCOMPARE(textInput->effectiveHAlign(), textInput->hAlign());
+ QVERIFY(-textInputPrivate->hscroll > canvas.width()/2);
+
+ // explicitly left aligned
+ textInput->setHAlign(QSGTextInput::AlignLeft);
+ QCOMPARE(textInput->hAlign(), QSGTextInput::AlignLeft);
+ QCOMPARE(textInput->effectiveHAlign(), textInput->hAlign());
+ QVERIFY(-textInputPrivate->hscroll < canvas.width()/2);
+
+ // explicitly right aligned
+ textInput->setHAlign(QSGTextInput::AlignRight);
+ QCOMPARE(textInput->effectiveHAlign(), textInput->hAlign());
+ QCOMPARE(textInput->hAlign(), QSGTextInput::AlignRight);
+ QVERIFY(-textInputPrivate->hscroll > canvas.width()/2);
+
+ // explicitly center aligned
+ textInput->setHAlign(QSGTextInput::AlignHCenter);
+ QCOMPARE(textInput->effectiveHAlign(), textInput->hAlign());
+ QCOMPARE(textInput->hAlign(), QSGTextInput::AlignHCenter);
+ QVERIFY(-textInputPrivate->hscroll < canvas.width()/2);
+ QVERIFY(-textInputPrivate->hscroll + textInputPrivate->width > canvas.width()/2);
+
+ // reseted alignment should go back to following the text reading direction
+ textInput->resetHAlign();
+ QCOMPARE(textInput->hAlign(), QSGTextInput::AlignRight);
+ QCOMPARE(textInput->effectiveHAlign(), textInput->hAlign());
+ QVERIFY(-textInputPrivate->hscroll > canvas.width()/2);
+
+ // mirror the text item
+ QSGItemPrivate::get(textInput)->setLayoutMirror(true);
+
+ // mirrored implicit alignment should continue to follow the reading direction of the text
+ QCOMPARE(textInput->hAlign(), QSGTextInput::AlignRight);
+ QCOMPARE(textInput->effectiveHAlign(), textInput->hAlign());
+ QVERIFY(-textInputPrivate->hscroll > canvas.width()/2);
+
+ // explicitly right aligned behaves as left aligned
+ textInput->setHAlign(QSGTextInput::AlignRight);
+ QCOMPARE(textInput->hAlign(), QSGTextInput::AlignRight);
+ QCOMPARE(textInput->effectiveHAlign(), QSGTextInput::AlignLeft);
+ QVERIFY(-textInputPrivate->hscroll < canvas.width()/2);
+
+ // mirrored explicitly left aligned behaves as right aligned
+ textInput->setHAlign(QSGTextInput::AlignLeft);
+ QCOMPARE(textInput->hAlign(), QSGTextInput::AlignLeft);
+ QCOMPARE(textInput->effectiveHAlign(), QSGTextInput::AlignRight);
+ QVERIFY(-textInputPrivate->hscroll > canvas.width()/2);
+
+ // disable mirroring
+ QSGItemPrivate::get(textInput)->setLayoutMirror(false);
+ QCOMPARE(textInput->effectiveHAlign(), textInput->hAlign());
+ textInput->resetHAlign();
+
+ // English text should be implicitly left aligned
+ textInput->setText("Hello world!");
+ QCOMPARE(textInput->hAlign(), QSGTextInput::AlignLeft);
+ QVERIFY(-textInputPrivate->hscroll < canvas.width()/2);
+
+#ifndef Q_OS_MAC // QTBUG-18040
+ // empty text with implicit alignment follows the system locale-based
+ // keyboard input direction from QApplication::keyboardInputDirection
+ textInput->setText("");
+ QCOMPARE(textInput->hAlign(), QApplication::keyboardInputDirection() == Qt::LeftToRight ?
+ QSGTextInput::AlignLeft : QSGTextInput::AlignRight);
+ if (QApplication::keyboardInputDirection() == Qt::LeftToRight)
+ QVERIFY(-textInputPrivate->hscroll < canvas.width()/2);
+ else
+ QVERIFY(-textInputPrivate->hscroll > canvas.width()/2);
+ textInput->setHAlign(QSGTextInput::AlignRight);
+ QCOMPARE(textInput->hAlign(), QSGTextInput::AlignRight);
+ QVERIFY(-textInputPrivate->hscroll > canvas.width()/2);
+#endif
+
+#ifndef Q_OS_MAC // QTBUG-18040
+ // alignment of TextInput with no text set to it
+ QString componentStr = "import QtQuick 2.0\nTextInput {}";
+ QDeclarativeComponent textComponent(&engine);
+ textComponent.setData(componentStr.toLatin1(), QUrl::fromLocalFile(""));
+ QSGTextInput *textObject = qobject_cast<QSGTextInput*>(textComponent.create());
+ QCOMPARE(textObject->hAlign(), QApplication::keyboardInputDirection() == Qt::LeftToRight ?
+ QSGTextInput::AlignLeft : QSGTextInput::AlignRight);
+ delete textObject;
+#endif
+}
+
+void tst_qsgtextinput::positionAt()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/positionAt.qml"));
+ QVERIFY(canvas.rootObject() != 0);
+ canvas.show();
+ canvas.setFocus();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput *>(canvas.rootObject());
+ QVERIFY(textinputObject != 0);
+
+ // Check autoscrolled...
+ QFontMetrics fm(textinputObject->font());
+
+ int pos = textinputObject->positionAt(textinputObject->width()/2);
+ int diff = abs(int(fm.width(textinputObject->text()) - (fm.width(textinputObject->text().left(pos))+textinputObject->width()/2)));
+
+ // some tollerance for different fonts.
+#ifdef Q_OS_LINUX
+ QVERIFY(diff < 2);
+#else
+ QVERIFY(diff < 5);
+#endif
+
+ int x = textinputObject->positionToRectangle(pos + 1).x() - 1;
+ QCOMPARE(textinputObject->positionAt(x, QSGTextInput::CursorBetweenCharacters), pos + 1);
+ QCOMPARE(textinputObject->positionAt(x, QSGTextInput::CursorOnCharacter), pos);
+
+ // Check without autoscroll...
+ textinputObject->setAutoScroll(false);
+ pos = textinputObject->positionAt(textinputObject->width()/2);
+ diff = abs(int(fm.width(textinputObject->text().left(pos))-textinputObject->width()/2));
+
+ // some tollerance for different fonts.
+#ifdef Q_OS_LINUX
+ QVERIFY(diff < 2);
+#else
+ QVERIFY(diff < 5);
+#endif
+
+ x = textinputObject->positionToRectangle(pos + 1).x() - 1;
+ QCOMPARE(textinputObject->positionAt(x, QSGTextInput::CursorBetweenCharacters), pos + 1);
+ QCOMPARE(textinputObject->positionAt(x, QSGTextInput::CursorOnCharacter), pos);
+
+ const qreal x0 = textinputObject->positionToRectangle(pos).x();
+ const qreal x1 = textinputObject->positionToRectangle(pos + 1).x();
+
+ QString preeditText = textinputObject->text().mid(0, pos);
+ textinputObject->setText(textinputObject->text().mid(pos));
+ textinputObject->setCursorPosition(0);
+
+ QInputMethodEvent inputEvent(preeditText, QList<QInputMethodEvent::Attribute>());
+ QApplication::sendEvent(&canvas, &inputEvent);
+
+ // Check all points within the preedit text return the same position.
+ QCOMPARE(textinputObject->positionAt(0), 0);
+ QCOMPARE(textinputObject->positionAt(x0 / 2), 0);
+ QCOMPARE(textinputObject->positionAt(x0), 0);
+
+ // Verify positioning returns to normal after the preedit text.
+ QCOMPARE(textinputObject->positionAt(x1), 1);
+ QCOMPARE(textinputObject->positionToRectangle(1).x(), x1);
+}
+
+void tst_qsgtextinput::maxLength()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/maxLength.qml"));
+ QVERIFY(canvas.rootObject() != 0);
+ canvas.show();
+ canvas.setFocus();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput *>(canvas.rootObject());
+ QVERIFY(textinputObject != 0);
+ QVERIFY(textinputObject->text().isEmpty());
+ QVERIFY(textinputObject->maxLength() == 10);
+ foreach(const QString &str, standard){
+ QVERIFY(textinputObject->text().length() <= 10);
+ textinputObject->setText(str);
+ QVERIFY(textinputObject->text().length() <= 10);
+ }
+
+ textinputObject->setText("");
+ QTRY_VERIFY(textinputObject->hasActiveFocus() == true);
+ for(int i=0; i<20; i++){
+ QCOMPARE(textinputObject->text().length(), qMin(i,10));
+ //simulateKey(&canvas, Qt::Key_A);
+ QTest::keyPress(&canvas, Qt::Key_A);
+ QTest::keyRelease(&canvas, Qt::Key_A, Qt::NoModifier ,10);
+ }
+}
+
+void tst_qsgtextinput::masks()
+{
+ //Not a comprehensive test of the possible masks, that's done elsewhere (QLineEdit)
+ //QString componentStr = "import QtQuick 2.0\nTextInput { inputMask: 'HHHHhhhh'; }";
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/masks.qml"));
+ canvas.show();
+ canvas.setFocus();
+ QVERIFY(canvas.rootObject() != 0);
+ QSGTextInput *textinputObject = qobject_cast<QSGTextInput *>(canvas.rootObject());
+ QVERIFY(textinputObject != 0);
+ QTRY_VERIFY(textinputObject->hasActiveFocus() == true);
+ QVERIFY(textinputObject->text().length() == 0);
+ QCOMPARE(textinputObject->inputMask(), QString("HHHHhhhh; "));
+ for(int i=0; i<10; i++){
+ QCOMPARE(qMin(i,8), textinputObject->text().length());
+ QCOMPARE(i>=4, textinputObject->hasAcceptableInput());
+ //simulateKey(&canvas, Qt::Key_A);
+ QTest::keyPress(&canvas, Qt::Key_A);
+ QTest::keyRelease(&canvas, Qt::Key_A, Qt::NoModifier ,10);
+ }
+}
+
+void tst_qsgtextinput::validators()
+{
+ // Note that this test assumes that the validators are working properly
+ // so you may need to run their tests first. All validators are checked
+ // here to ensure that their exposure to QML is working.
+
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/validators.qml"));
+ canvas.show();
+ canvas.setFocus();
+
+ QVERIFY(canvas.rootObject() != 0);
+
+ QSGTextInput *intInput = qobject_cast<QSGTextInput *>(qvariant_cast<QObject *>(canvas.rootObject()->property("intInput")));
+ QVERIFY(intInput);
+ intInput->setFocus(true);
+ QTRY_VERIFY(intInput->hasActiveFocus());
+ QTest::keyPress(&canvas, Qt::Key_1);
+ QTest::keyRelease(&canvas, Qt::Key_1, Qt::NoModifier ,10);
+ QCOMPARE(intInput->text(), QLatin1String("1"));
+ QCOMPARE(intInput->hasAcceptableInput(), false);
+ QTest::keyPress(&canvas, Qt::Key_2);
+ QTest::keyRelease(&canvas, Qt::Key_2, Qt::NoModifier ,10);
+ QCOMPARE(intInput->text(), QLatin1String("1"));
+ QCOMPARE(intInput->hasAcceptableInput(), false);
+ QTest::keyPress(&canvas, Qt::Key_1);
+ QTest::keyRelease(&canvas, Qt::Key_1, Qt::NoModifier ,10);
+ QCOMPARE(intInput->text(), QLatin1String("11"));
+ QCOMPARE(intInput->hasAcceptableInput(), true);
+ QTest::keyPress(&canvas, Qt::Key_0);
+ QTest::keyRelease(&canvas, Qt::Key_0, Qt::NoModifier ,10);
+ QCOMPARE(intInput->text(), QLatin1String("11"));
+ QCOMPARE(intInput->hasAcceptableInput(), true);
+
+ QSGTextInput *dblInput = qobject_cast<QSGTextInput *>(qvariant_cast<QObject *>(canvas.rootObject()->property("dblInput")));
+ QTRY_VERIFY(dblInput);
+ dblInput->setFocus(true);
+ QVERIFY(dblInput->hasActiveFocus() == true);
+ QTest::keyPress(&canvas, Qt::Key_1);
+ QTest::keyRelease(&canvas, Qt::Key_1, Qt::NoModifier ,10);
+ QCOMPARE(dblInput->text(), QLatin1String("1"));
+ QCOMPARE(dblInput->hasAcceptableInput(), false);
+ QTest::keyPress(&canvas, Qt::Key_2);
+ QTest::keyRelease(&canvas, Qt::Key_2, Qt::NoModifier ,10);
+ QCOMPARE(dblInput->text(), QLatin1String("12"));
+ QCOMPARE(dblInput->hasAcceptableInput(), true);
+ QTest::keyPress(&canvas, Qt::Key_Period);
+ QTest::keyRelease(&canvas, Qt::Key_Period, Qt::NoModifier ,10);
+ QCOMPARE(dblInput->text(), QLatin1String("12."));
+ QCOMPARE(dblInput->hasAcceptableInput(), true);
+ QTest::keyPress(&canvas, Qt::Key_1);
+ QTest::keyRelease(&canvas, Qt::Key_1, Qt::NoModifier ,10);
+ QCOMPARE(dblInput->text(), QLatin1String("12.1"));
+ QCOMPARE(dblInput->hasAcceptableInput(), true);
+ QTest::keyPress(&canvas, Qt::Key_1);
+ QTest::keyRelease(&canvas, Qt::Key_1, Qt::NoModifier ,10);
+ QCOMPARE(dblInput->text(), QLatin1String("12.11"));
+ QCOMPARE(dblInput->hasAcceptableInput(), true);
+ QTest::keyPress(&canvas, Qt::Key_1);
+ QTest::keyRelease(&canvas, Qt::Key_1, Qt::NoModifier ,10);
+ QCOMPARE(dblInput->text(), QLatin1String("12.11"));
+ QCOMPARE(dblInput->hasAcceptableInput(), true);
+
+ QSGTextInput *strInput = qobject_cast<QSGTextInput *>(qvariant_cast<QObject *>(canvas.rootObject()->property("strInput")));
+ QTRY_VERIFY(strInput);
+ strInput->setFocus(true);
+ QVERIFY(strInput->hasActiveFocus() == true);
+ QTest::keyPress(&canvas, Qt::Key_1);
+ QTest::keyRelease(&canvas, Qt::Key_1, Qt::NoModifier ,10);
+ QCOMPARE(strInput->text(), QLatin1String(""));
+ QCOMPARE(strInput->hasAcceptableInput(), false);
+ QTest::keyPress(&canvas, Qt::Key_A);
+ QTest::keyRelease(&canvas, Qt::Key_A, Qt::NoModifier ,10);
+ QCOMPARE(strInput->text(), QLatin1String("a"));
+ QCOMPARE(strInput->hasAcceptableInput(), false);
+ QTest::keyPress(&canvas, Qt::Key_A);
+ QTest::keyRelease(&canvas, Qt::Key_A, Qt::NoModifier ,10);
+ QCOMPARE(strInput->text(), QLatin1String("aa"));
+ QCOMPARE(strInput->hasAcceptableInput(), true);
+ QTest::keyPress(&canvas, Qt::Key_A);
+ QTest::keyRelease(&canvas, Qt::Key_A, Qt::NoModifier ,10);
+ QCOMPARE(strInput->text(), QLatin1String("aaa"));
+ QCOMPARE(strInput->hasAcceptableInput(), true);
+ QTest::keyPress(&canvas, Qt::Key_A);
+ QTest::keyRelease(&canvas, Qt::Key_A, Qt::NoModifier ,10);
+ QCOMPARE(strInput->text(), QLatin1String("aaaa"));
+ QCOMPARE(strInput->hasAcceptableInput(), true);
+ QTest::keyPress(&canvas, Qt::Key_A);
+ QTest::keyRelease(&canvas, Qt::Key_A, Qt::NoModifier ,10);
+ QCOMPARE(strInput->text(), QLatin1String("aaaa"));
+ QCOMPARE(strInput->hasAcceptableInput(), true);
+}
+
+void tst_qsgtextinput::inputMethods()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/inputmethods.qml"));
+ canvas.show();
+ canvas.setFocus();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+
+ // test input method hints
+ QVERIFY(canvas.rootObject() != 0);
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(canvas.rootObject());
+ QVERIFY(input != 0);
+ QVERIFY(input->inputMethodHints() & Qt::ImhNoPredictiveText);
+ input->setInputMethodHints(Qt::ImhUppercaseOnly);
+ QVERIFY(input->inputMethodHints() & Qt::ImhUppercaseOnly);
+
+ input->setFocus(true);
+ QVERIFY(input->hasActiveFocus() == true);
+ // test that input method event is committed
+ QInputMethodEvent event;
+ event.setCommitString( "My ", -12, 0);
+ QApplication::sendEvent(&canvas, &event);
+ QCOMPARE(input->text(), QString("My Hello world!"));
+
+ input->setCursorPosition(2);
+ event.setCommitString("Your", -2, 2);
+ QApplication::sendEvent(&canvas, &event);
+ QCOMPARE(input->text(), QString("Your Hello world!"));
+ QCOMPARE(input->cursorPosition(), 4);
+
+ input->setCursorPosition(7);
+ event.setCommitString("Goodbye", -2, 5);
+ QApplication::sendEvent(&canvas, &event);
+ QCOMPARE(input->text(), QString("Your Goodbye world!"));
+ QCOMPARE(input->cursorPosition(), 12);
+
+ input->setCursorPosition(8);
+ event.setCommitString("Our", -8, 4);
+ QApplication::sendEvent(&canvas, &event);
+ QCOMPARE(input->text(), QString("Our Goodbye world!"));
+ QCOMPARE(input->cursorPosition(), 7);
+}
+
+/*
+TextInput element should only handle left/right keys until the cursor reaches
+the extent of the text, then they should ignore the keys.
+
+*/
+void tst_qsgtextinput::navigation()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/navigation.qml"));
+ canvas.show();
+ canvas.setFocus();
+
+ QVERIFY(canvas.rootObject() != 0);
+
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(qvariant_cast<QObject *>(canvas.rootObject()->property("myInput")));
+
+ QVERIFY(input != 0);
+ input->setCursorPosition(0);
+ QTRY_VERIFY(input->hasActiveFocus() == true);
+ simulateKey(&canvas, Qt::Key_Left);
+ QVERIFY(input->hasActiveFocus() == false);
+ simulateKey(&canvas, Qt::Key_Right);
+ QVERIFY(input->hasActiveFocus() == true);
+ //QT-2944: If text is selected, ensure we deselect upon cursor motion
+ input->setCursorPosition(input->text().length());
+ input->select(0,input->text().length());
+ QVERIFY(input->selectionStart() != input->selectionEnd());
+ simulateKey(&canvas, Qt::Key_Right);
+ QVERIFY(input->selectionStart() == input->selectionEnd());
+ QVERIFY(input->selectionStart() == input->text().length());
+ QVERIFY(input->hasActiveFocus() == true);
+ simulateKey(&canvas, Qt::Key_Right);
+ QVERIFY(input->hasActiveFocus() == false);
+ simulateKey(&canvas, Qt::Key_Left);
+ QVERIFY(input->hasActiveFocus() == true);
+
+ // Up and Down should NOT do Home/End, even on Mac OS X (QTBUG-10438).
+ input->setCursorPosition(2);
+ QCOMPARE(input->cursorPosition(),2);
+ simulateKey(&canvas, Qt::Key_Up);
+ QCOMPARE(input->cursorPosition(),2);
+ simulateKey(&canvas, Qt::Key_Down);
+ QCOMPARE(input->cursorPosition(),2);
+}
+
+void tst_qsgtextinput::navigation_RTL()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/navigation.qml"));
+ canvas.show();
+ canvas.setFocus();
+
+ QVERIFY(canvas.rootObject() != 0);
+
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(qvariant_cast<QObject *>(canvas.rootObject()->property("myInput")));
+
+ QVERIFY(input != 0);
+ const quint16 arabic_str[] = { 0x0638, 0x0643, 0x00646, 0x0647, 0x0633, 0x0638, 0x0643, 0x00646, 0x0647, 0x0633, 0x0647};
+ input->setText(QString::fromUtf16(arabic_str, 11));
+
+ input->setCursorPosition(0);
+ QTRY_VERIFY(input->hasActiveFocus() == true);
+
+ // move off
+ simulateKey(&canvas, Qt::Key_Right);
+ QVERIFY(input->hasActiveFocus() == false);
+
+ // move back
+ simulateKey(&canvas, Qt::Key_Left);
+ QVERIFY(input->hasActiveFocus() == true);
+
+ input->setCursorPosition(input->text().length());
+ QVERIFY(input->hasActiveFocus() == true);
+
+ // move off
+ simulateKey(&canvas, Qt::Key_Left);
+ QVERIFY(input->hasActiveFocus() == false);
+
+ // move back
+ simulateKey(&canvas, Qt::Key_Right);
+ QVERIFY(input->hasActiveFocus() == true);
+}
+
+void tst_qsgtextinput::copyAndPaste() {
+#ifndef QT_NO_CLIPBOARD
+
+#ifdef Q_WS_MAC
+ {
+ PasteboardRef pasteboard;
+ OSStatus status = PasteboardCreate(0, &pasteboard);
+ if (status == noErr)
+ CFRelease(pasteboard);
+ else
+ QSKIP("This machine doesn't support the clipboard", SkipAll);
+ }
+#endif
+
+ QString componentStr = "import QtQuick 2.0\nTextInput { text: \"Hello world!\" }";
+ QDeclarativeComponent textInputComponent(&engine);
+ textInputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textInput = qobject_cast<QSGTextInput*>(textInputComponent.create());
+ QVERIFY(textInput != 0);
+
+ // copy and paste
+ QCOMPARE(textInput->text().length(), 12);
+ textInput->select(0, textInput->text().length());;
+ textInput->copy();
+ QCOMPARE(textInput->selectedText(), QString("Hello world!"));
+ QCOMPARE(textInput->selectedText().length(), 12);
+ textInput->setCursorPosition(0);
+ QVERIFY(textInput->canPaste());
+ textInput->paste();
+ QCOMPARE(textInput->text(), QString("Hello world!Hello world!"));
+ QCOMPARE(textInput->text().length(), 24);
+
+ // can paste
+ QVERIFY(textInput->canPaste());
+ textInput->setReadOnly(true);
+ QVERIFY(!textInput->canPaste());
+ textInput->setReadOnly(false);
+ QVERIFY(textInput->canPaste());
+
+ // select word
+ textInput->setCursorPosition(0);
+ textInput->selectWord();
+ QCOMPARE(textInput->selectedText(), QString("Hello"));
+
+ // select all and cut
+ textInput->selectAll();
+ textInput->cut();
+ QCOMPARE(textInput->text().length(), 0);
+ textInput->paste();
+ QCOMPARE(textInput->text(), QString("Hello world!Hello world!"));
+ QCOMPARE(textInput->text().length(), 24);
+
+ // clear copy buffer
+ QClipboard *clipboard = QApplication::clipboard();
+ QVERIFY(clipboard);
+ clipboard->clear();
+ QVERIFY(!textInput->canPaste());
+
+ // test that copy functionality is disabled
+ // when echo mode is set to hide text/password mode
+ int index = 0;
+ while (index < 4) {
+ QSGTextInput::EchoMode echoMode = QSGTextInput::EchoMode(index);
+ textInput->setEchoMode(echoMode);
+ textInput->setText("My password");
+ textInput->select(0, textInput->text().length());;
+ textInput->copy();
+ if (echoMode == QSGTextInput::Normal) {
+ QVERIFY(!clipboard->text().isEmpty());
+ QCOMPARE(clipboard->text(), QString("My password"));
+ clipboard->clear();
+ } else {
+ QVERIFY(clipboard->text().isEmpty());
+ }
+ index++;
+ }
+
+ delete textInput;
+#endif
+}
+
+void tst_qsgtextinput::canPasteEmpty() {
+#ifndef QT_NO_CLIPBOARD
+
+ QApplication::clipboard()->clear();
+
+ QString componentStr = "import QtQuick 2.0\nTextInput { text: \"Hello world!\" }";
+ QDeclarativeComponent textInputComponent(&engine);
+ textInputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textInput = qobject_cast<QSGTextInput*>(textInputComponent.create());
+ QVERIFY(textInput != 0);
+
+ QLineControl lc;
+ bool cp = !lc.isReadOnly() && QApplication::clipboard()->text().length() != 0;
+ QCOMPARE(textInput->canPaste(), cp);
+
+#endif
+}
+
+void tst_qsgtextinput::canPaste() {
+#ifndef QT_NO_CLIPBOARD
+
+ QApplication::clipboard()->setText("Some text");
+
+ QString componentStr = "import QtQuick 2.0\nTextInput { text: \"Hello world!\" }";
+ QDeclarativeComponent textInputComponent(&engine);
+ textInputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textInput = qobject_cast<QSGTextInput*>(textInputComponent.create());
+ QVERIFY(textInput != 0);
+
+ QLineControl lc;
+ bool cp = !lc.isReadOnly() && QApplication::clipboard()->text().length() != 0;
+ QCOMPARE(textInput->canPaste(), cp);
+
+#endif
+}
+
+void tst_qsgtextinput::passwordCharacter()
+{
+ QString componentStr = "import QtQuick 2.0\nTextInput { text: \"Hello world!\"; font.family: \"Helvetica\"; echoMode: TextInput.Password }";
+ QDeclarativeComponent textInputComponent(&engine);
+ textInputComponent.setData(componentStr.toLatin1(), QUrl());
+ QSGTextInput *textInput = qobject_cast<QSGTextInput*>(textInputComponent.create());
+ QVERIFY(textInput != 0);
+
+ textInput->setPasswordCharacter("X");
+ qreal implicitWidth = textInput->implicitWidth();
+ textInput->setPasswordCharacter(".");
+
+ // QTBUG-12383 content is updated and redrawn
+ QVERIFY(textInput->implicitWidth() < implicitWidth);
+
+ delete textInput;
+}
+
+void tst_qsgtextinput::cursorDelegate()
+{
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/cursorTest.qml"));
+ view.show();
+ view.setFocus();
+ QSGTextInput *textInputObject = view.rootObject()->findChild<QSGTextInput*>("textInputObject");
+ QVERIFY(textInputObject != 0);
+ QVERIFY(textInputObject->findChild<QSGItem*>("cursorInstance"));
+ //Test Delegate gets created
+ textInputObject->setFocus(true);
+ QSGItem* delegateObject = textInputObject->findChild<QSGItem*>("cursorInstance");
+ QVERIFY(delegateObject);
+ //Test Delegate gets moved
+ for(int i=0; i<= textInputObject->text().length(); i++){
+ textInputObject->setCursorPosition(i);
+ QCOMPARE(textInputObject->cursorRectangle().x(), qRound(delegateObject->x()));
+ QCOMPARE(textInputObject->cursorRectangle().y(), qRound(delegateObject->y()));
+ }
+ textInputObject->setCursorPosition(0);
+ QCOMPARE(textInputObject->cursorRectangle().x(), qRound(delegateObject->x()));
+ QCOMPARE(textInputObject->cursorRectangle().y(), qRound(delegateObject->y()));
+ //Test Delegate gets deleted
+ textInputObject->setCursorDelegate(0);
+ QVERIFY(!textInputObject->findChild<QSGItem*>("cursorInstance"));
+}
+
+void tst_qsgtextinput::cursorVisible()
+{
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/cursorVisible.qml"));
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ view.setFocus();
+
+ QSGTextInput input;
+ QSignalSpy spy(&input, SIGNAL(cursorVisibleChanged(bool)));
+
+ QCOMPARE(input.isCursorVisible(), false);
+
+ input.setCursorVisible(true);
+ QCOMPARE(input.isCursorVisible(), true);
+ QCOMPARE(spy.count(), 1);
+
+ input.setCursorVisible(false);
+ QCOMPARE(input.isCursorVisible(), false);
+ QCOMPARE(spy.count(), 2);
+
+ input.setFocus(true);
+ QCOMPARE(input.isCursorVisible(), false);
+ QCOMPARE(spy.count(), 2);
+
+ input.setParentItem(view.rootObject());
+ QCOMPARE(input.isCursorVisible(), true);
+ QCOMPARE(spy.count(), 3);
+
+ input.setFocus(false);
+ QCOMPARE(input.isCursorVisible(), false);
+ QCOMPARE(spy.count(), 4);
+
+ input.setFocus(true);
+ QCOMPARE(input.isCursorVisible(), true);
+ QCOMPARE(spy.count(), 5);
+
+ view.clearFocus();
+ QCOMPARE(input.isCursorVisible(), false);
+ QCOMPARE(spy.count(), 6);
+
+ view.setFocus();
+ QCOMPARE(input.isCursorVisible(), true);
+ QCOMPARE(spy.count(), 7);
+
+ // on mac, setActiveWindow(0) on mac does not deactivate the current application
+ // (you have to switch to a different app or hide the current app to trigger this)
+#if !defined(Q_WS_MAC)
+ QApplication::setActiveWindow(0);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(0));
+ QCOMPARE(input.isCursorVisible(), false);
+ QCOMPARE(spy.count(), 8);
+
+ QApplication::setActiveWindow(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QCOMPARE(input.isCursorVisible(), true);
+ QCOMPARE(spy.count(), 9);
+#endif
+}
+
+void tst_qsgtextinput::cursorRectangle()
+{
+ QString text = "Hello World!";
+
+ QSGTextInput input;
+ input.setText(text);
+ QFontMetricsF fm(input.font());
+ input.setWidth(fm.width(text.mid(0, 5)));
+
+ QRect r;
+
+ // some tolerance for different fonts.
+#ifdef Q_OS_LINUX
+ const int error = 2;
+#else
+ const int error = 5;
+#endif
+
+
+ for (int i = 0; i <= 5; ++i) {
+ input.setCursorPosition(i);
+ r = input.cursorRectangle();
+ int textWidth = fm.width(text.mid(0, i));
+
+ QVERIFY(r.left() < textWidth + error);
+ QVERIFY(r.right() > textWidth - error);
+ QCOMPARE(input.inputMethodQuery(Qt::ImMicroFocus).toRect(), r);
+ }
+
+ // Check the cursor rectangle remains within the input bounding rect when auto scrolling.
+ QVERIFY(r.left() < input.boundingRect().width());
+ QVERIFY(r.right() >= input.width());
+
+ for (int i = 6; i < text.length(); ++i) {
+ input.setCursorPosition(i);
+ QCOMPARE(r, input.cursorRectangle());
+ QCOMPARE(input.inputMethodQuery(Qt::ImMicroFocus).toRect(), r);
+ }
+
+ for (int i = text.length() - 2; i >= 0; --i) {
+ input.setCursorPosition(i);
+ r = input.cursorRectangle();
+ QVERIFY(r.right() >= 0);
+ QCOMPARE(input.inputMethodQuery(Qt::ImMicroFocus).toRect(), r);
+ }
+}
+
+void tst_qsgtextinput::readOnly()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/readOnly.qml"));
+ canvas.show();
+ canvas.setFocus();
+
+ QVERIFY(canvas.rootObject() != 0);
+
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(qvariant_cast<QObject *>(canvas.rootObject()->property("myInput")));
+
+ QVERIFY(input != 0);
+ QTRY_VERIFY(input->hasActiveFocus() == true);
+ QVERIFY(input->isReadOnly() == true);
+ QString initial = input->text();
+ for(int k=Qt::Key_0; k<=Qt::Key_Z; k++)
+ simulateKey(&canvas, k);
+ simulateKey(&canvas, Qt::Key_Return);
+ simulateKey(&canvas, Qt::Key_Space);
+ simulateKey(&canvas, Qt::Key_Escape);
+ QCOMPARE(input->text(), initial);
+}
+
+void tst_qsgtextinput::echoMode()
+{
+ QSGView canvas(QUrl::fromLocalFile(SRCDIR "/data/echoMode.qml"));
+ canvas.show();
+ canvas.setFocus();
+ QApplication::setActiveWindow(&canvas);
+ QTest::qWaitForWindowShown(&canvas);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&canvas));
+
+ QVERIFY(canvas.rootObject() != 0);
+
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(qvariant_cast<QObject *>(canvas.rootObject()->property("myInput")));
+
+ QVERIFY(input != 0);
+ QTRY_VERIFY(input->hasActiveFocus() == true);
+ QString initial = input->text();
+ Qt::InputMethodHints ref;
+ QCOMPARE(initial, QLatin1String("ABCDefgh"));
+ QCOMPARE(input->echoMode(), QSGTextInput::Normal);
+ QCOMPARE(input->displayText(), input->text());
+ //Normal
+ ref &= ~Qt::ImhHiddenText;
+ ref &= ~(Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText);
+ QCOMPARE(input->inputMethodHints(), ref);
+ input->setEchoMode(QSGTextInput::NoEcho);
+ QCOMPARE(input->text(), initial);
+ QCOMPARE(input->displayText(), QLatin1String(""));
+ QCOMPARE(input->passwordCharacter(), QLatin1String("*"));
+ //NoEcho
+ ref |= Qt::ImhHiddenText;
+ ref |= (Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText);
+ QCOMPARE(input->inputMethodHints(), ref);
+ input->setEchoMode(QSGTextInput::Password);
+ //Password
+ ref |= Qt::ImhHiddenText;
+ ref |= (Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText);
+ QCOMPARE(input->text(), initial);
+ QCOMPARE(input->displayText(), QLatin1String("********"));
+ QCOMPARE(input->inputMethodHints(), ref);
+ input->setPasswordCharacter(QChar('Q'));
+ QCOMPARE(input->passwordCharacter(), QLatin1String("Q"));
+ QCOMPARE(input->text(), initial);
+ QCOMPARE(input->displayText(), QLatin1String("QQQQQQQQ"));
+ input->setEchoMode(QSGTextInput::PasswordEchoOnEdit);
+ //PasswordEchoOnEdit
+ ref &= ~Qt::ImhHiddenText;
+ ref |= (Qt::ImhNoAutoUppercase | Qt::ImhNoPredictiveText);
+ QCOMPARE(input->inputMethodHints(), ref);
+ QCOMPARE(input->text(), initial);
+ QCOMPARE(input->displayText(), QLatin1String("QQQQQQQQ"));
+ QCOMPARE(input->inputMethodQuery(Qt::ImSurroundingText).toString(), QLatin1String("QQQQQQQQ"));
+ QTest::keyPress(&canvas, Qt::Key_A);//Clearing previous entry is part of PasswordEchoOnEdit
+ QTest::keyRelease(&canvas, Qt::Key_A, Qt::NoModifier ,10);
+ QCOMPARE(input->text(), QLatin1String("a"));
+ QCOMPARE(input->displayText(), QLatin1String("a"));
+ QCOMPARE(input->inputMethodQuery(Qt::ImSurroundingText).toString(), QLatin1String("a"));
+ input->setFocus(false);
+ QVERIFY(input->hasActiveFocus() == false);
+ QCOMPARE(input->displayText(), QLatin1String("Q"));
+ QCOMPARE(input->inputMethodQuery(Qt::ImSurroundingText).toString(), QLatin1String("Q"));
+ input->setFocus(true);
+ QInputMethodEvent inputEvent;
+ inputEvent.setCommitString(initial);
+ QApplication::sendEvent(&canvas, &inputEvent);
+ QCOMPARE(input->text(), initial);
+ QCOMPARE(input->displayText(), initial);
+ QCOMPARE(input->inputMethodQuery(Qt::ImSurroundingText).toString(), initial);
+}
+
+void tst_qsgtextinput::simulateKey(QSGView *view, int key)
+{
+ QKeyEvent press(QKeyEvent::KeyPress, key, 0);
+ QKeyEvent release(QKeyEvent::KeyRelease, key, 0);
+
+ QApplication::sendEvent(view, &press);
+ QApplication::sendEvent(view, &release);
+}
+
+class MyInputContext : public QInputContext
+{
+public:
+ MyInputContext() : openInputPanelReceived(false), closeInputPanelReceived(false), updateReceived(false), eventType(QEvent::None) {}
+ ~MyInputContext() {}
+
+ QString identifierName() { return QString(); }
+ QString language() { return QString(); }
+
+ void reset() {}
+
+ bool isComposing() const { return false; }
+
+ bool filterEvent( const QEvent *event )
+ {
+ if (event->type() == QEvent::RequestSoftwareInputPanel)
+ openInputPanelReceived = true;
+ if (event->type() == QEvent::CloseSoftwareInputPanel)
+ closeInputPanelReceived = true;
+ return QInputContext::filterEvent(event);
+ }
+
+ void update() { updateReceived = true; }
+
+ void mouseHandler(int x, QMouseEvent *event)
+ {
+ cursor = x;
+ eventType = event->type();
+ eventPosition = event->pos();
+ eventGlobalPosition = event->globalPos();
+ eventButton = event->button();
+ eventButtons = event->buttons();
+ eventModifiers = event->modifiers();
+ }
+
+ void sendPreeditText(const QString &text, int cursor)
+ {
+ QList<QInputMethodEvent::Attribute> attributes;
+ attributes.append(QInputMethodEvent::Attribute(
+ QInputMethodEvent::Cursor, cursor, text.length(), QVariant()));
+
+ QInputMethodEvent event(text, attributes);
+ sendEvent(event);
+ }
+
+ bool openInputPanelReceived;
+ bool closeInputPanelReceived;
+ bool updateReceived;
+ int cursor;
+ QEvent::Type eventType;
+ QPoint eventPosition;
+ QPoint eventGlobalPosition;
+ Qt::MouseButton eventButton;
+ Qt::MouseButtons eventButtons;
+ Qt::KeyboardModifiers eventModifiers;
+};
+
+void tst_qsgtextinput::openInputPanelOnClick()
+{
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/openInputPanel.qml"));
+ MyInputContext ic;
+ // QSGCanvas won't set the Qt::WA_InputMethodEnabled flag unless a suitable item has focus
+ // and QWidget won't allow an input context to be set when the flag is not set.
+ view.setAttribute(Qt::WA_InputMethodEnabled, true);
+ view.setInputContext(&ic);
+ view.setAttribute(Qt::WA_InputMethodEnabled, false);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(view.rootObject());
+ QVERIFY(input);
+
+ QSGItemPrivate* pri = QSGItemPrivate::get(input);
+ QSGTextInputPrivate *inputPrivate = static_cast<QSGTextInputPrivate*>(pri);
+
+ // input panel on click
+ inputPrivate->showInputPanelOnFocus = false;
+
+ QStyle::RequestSoftwareInputPanel behavior = QStyle::RequestSoftwareInputPanel(
+ view.style()->styleHint(QStyle::SH_RequestSoftwareInputPanel));
+ QTest::mouseClick(&view, Qt::LeftButton, 0, input->pos().toPoint());
+ QApplication::processEvents();
+ if (behavior == QStyle::RSIP_OnMouseClickAndAlreadyFocused) {
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QTest::mouseClick(&view, Qt::LeftButton, 0, input->pos().toPoint());
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ } else if (behavior == QStyle::RSIP_OnMouseClick) {
+ QCOMPARE(ic.openInputPanelReceived, true);
+ }
+ ic.openInputPanelReceived = false;
+
+ // focus should not cause input panels to open or close
+ input->setFocus(false);
+ input->setFocus(true);
+ input->setFocus(false);
+ input->setFocus(true);
+ input->setFocus(false);
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+}
+
+void tst_qsgtextinput::openInputPanelOnFocus()
+{
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/openInputPanel.qml"));
+ MyInputContext ic;
+ // QSGCanvas won't set the Qt::WA_InputMethodEnabled flag unless a suitable item has focus
+ // and QWidget won't allow an input context to be set when the flag is not set.
+ view.setAttribute(Qt::WA_InputMethodEnabled, true);
+ view.setInputContext(&ic);
+ view.setAttribute(Qt::WA_InputMethodEnabled, false);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(view.rootObject());
+ QVERIFY(input);
+ QSignalSpy focusOnPressSpy(input, SIGNAL(activeFocusOnPressChanged(bool)));
+
+ QSGItemPrivate* pri = QSGItemPrivate::get(input);
+ QSGTextInputPrivate *inputPrivate = static_cast<QSGTextInputPrivate*>(pri);
+ inputPrivate->showInputPanelOnFocus = true;
+
+ // test default values
+ QVERIFY(input->focusOnPress());
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+
+ // focus on press, input panel on focus
+ QTest::mousePress(&view, Qt::LeftButton, 0, input->pos().toPoint());
+ QApplication::processEvents();
+ QVERIFY(input->hasActiveFocus());
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+
+ // no events on release
+ QTest::mouseRelease(&view, Qt::LeftButton, 0, input->pos().toPoint());
+ QCOMPARE(ic.openInputPanelReceived, false);
+ ic.openInputPanelReceived = false;
+
+ // if already focused, input panel can be opened on press
+ QVERIFY(input->hasActiveFocus());
+ QTest::mousePress(&view, Qt::LeftButton, 0, input->pos().toPoint());
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+
+ // input method should stay enabled if focus
+ // is lost to an item that also accepts inputs
+ QSGTextInput anotherInput;
+ anotherInput.setParentItem(view.rootItem());
+ anotherInput.setFocus(true);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+ QCOMPARE(view.inputContext(), (QInputContext*)&ic);
+ QVERIFY(view.testAttribute(Qt::WA_InputMethodEnabled));
+
+ // input method should be disabled if focus
+ // is lost to an item that doesn't accept inputs
+ QSGItem item;
+ item.setParentItem(view.rootItem());
+ item.setFocus(true);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QVERIFY(view.inputContext() == 0);
+ QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
+
+ // no automatic input panel events should
+ // be sent if activeFocusOnPress is false
+ input->setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
+ input->setFocusOnPress(false);
+ QCOMPARE(focusOnPressSpy.count(),1);
+ input->setFocus(false);
+ input->setFocus(true);
+ QTest::mousePress(&view, Qt::LeftButton, 0, input->pos().toPoint());
+ QTest::mouseRelease(&view, Qt::LeftButton, 0, input->pos().toPoint());
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+
+ // one show input panel event should
+ // be set when openSoftwareInputPanel is called
+ input->openSoftwareInputPanel();
+ QCOMPARE(ic.openInputPanelReceived, true);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+ ic.openInputPanelReceived = false;
+
+ // one close input panel event should
+ // be sent when closeSoftwareInputPanel is called
+ input->closeSoftwareInputPanel();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, true);
+ ic.closeInputPanelReceived = false;
+
+ // set activeFocusOnPress back to true
+ input->setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
+ input->setFocusOnPress(true);
+ QCOMPARE(focusOnPressSpy.count(),2);
+ input->setFocus(false);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QCOMPARE(ic.closeInputPanelReceived, false);
+ ic.closeInputPanelReceived = false;
+
+ // input panel should not re-open
+ // if focus has already been set
+ input->setFocus(true);
+ QCOMPARE(ic.openInputPanelReceived, true);
+ ic.openInputPanelReceived = false;
+ input->setFocus(true);
+ QCOMPARE(ic.openInputPanelReceived, false);
+
+ // input method should be disabled
+ // if TextInput loses focus
+ input->setFocus(false);
+ QApplication::processEvents();
+ QVERIFY(view.inputContext() == 0);
+ QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
+
+ // input method should not be enabled
+ // if TextEdit is read only.
+ input->setReadOnly(true);
+ ic.openInputPanelReceived = false;
+ input->setFocus(true);
+ QApplication::processEvents();
+ QCOMPARE(ic.openInputPanelReceived, false);
+ QVERIFY(view.inputContext() == 0);
+ QVERIFY(!view.testAttribute(Qt::WA_InputMethodEnabled));
+}
+
+class MyTextInput : public QSGTextInput
+{
+public:
+ MyTextInput(QSGItem *parent = 0) : QSGTextInput(parent)
+ {
+ nbPaint = 0;
+ }
+ virtual QSGNode *updatePaintNode(QSGNode *node, UpdatePaintNodeData *data)
+ {
+ nbPaint++;
+ return QSGTextInput::updatePaintNode(node, data);
+ }
+ int nbPaint;
+};
+
+void tst_qsgtextinput::setHAlignClearCache()
+{
+ QSGView view;
+ MyTextInput input;
+ input.setText("Hello world");
+ input.setParentItem(view.rootItem());
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(input.nbPaint, 1);
+ input.setHAlign(QSGTextInput::AlignRight);
+ //Changing the alignment should trigger a repaint
+ QTRY_COMPARE(input.nbPaint, 2);
+}
+
+void tst_qsgtextinput::focusOutClearSelection()
+{
+ QSGView view;
+ QSGTextInput input;
+ QSGTextInput input2;
+ input.setText(QLatin1String("Hello world"));
+ input.setFocus(true);
+ input2.setParentItem(view.rootItem());
+ input.setParentItem(view.rootItem());
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ input.select(2,5);
+ //The selection should work
+ QTRY_COMPARE(input.selectedText(), QLatin1String("llo"));
+ input2.setFocus(true);
+ QApplication::processEvents();
+ //The input lost the focus selection should be cleared
+ QTRY_COMPARE(input.selectedText(), QLatin1String(""));
+}
+
+void tst_qsgtextinput::geometrySignals()
+{
+ QDeclarativeComponent component(&engine, SRCDIR "/data/geometrySignals.qml");
+ QObject *o = component.create();
+ QVERIFY(o);
+ QCOMPARE(o->property("bindingWidth").toInt(), 400);
+ QCOMPARE(o->property("bindingHeight").toInt(), 500);
+ delete o;
+}
+
+void tst_qsgtextinput::testQtQuick11Attributes()
+{
+ QFETCH(QString, code);
+ QFETCH(QString, warning);
+ QFETCH(QString, error);
+
+ QDeclarativeEngine engine;
+ QObject *obj;
+
+ QDeclarativeComponent valid(&engine);
+ valid.setData("import QtQuick 2.0; TextInput { " + code.toUtf8() + " }", QUrl(""));
+ obj = valid.create();
+ QVERIFY(obj);
+ QVERIFY(valid.errorString().isEmpty());
+ delete obj;
+
+ QDeclarativeComponent invalid(&engine);
+ invalid.setData("import QtQuick 1.0; TextInput { " + code.toUtf8() + " }", QUrl(""));
+ QTest::ignoreMessage(QtWarningMsg, warning.toUtf8());
+ obj = invalid.create();
+ QCOMPARE(invalid.errorString(), error);
+ delete obj;
+}
+
+void tst_qsgtextinput::testQtQuick11Attributes_data()
+{
+ QTest::addColumn<QString>("code");
+ QTest::addColumn<QString>("warning");
+ QTest::addColumn<QString>("error");
+
+ QTest::newRow("canPaste") << "property bool foo: canPaste"
+ << "<Unknown File>:1: ReferenceError: Can't find variable: canPaste"
+ << "";
+
+ QTest::newRow("moveCursorSelection") << "Component.onCompleted: moveCursorSelection(0, TextEdit.SelectCharacters)"
+ << "<Unknown File>:1: ReferenceError: Can't find variable: moveCursorSelection"
+ << "";
+
+ QTest::newRow("deselect") << "Component.onCompleted: deselect()"
+ << "<Unknown File>:1: ReferenceError: Can't find variable: deselect"
+ << "";
+}
+
+void tst_qsgtextinput::preeditAutoScroll()
+{
+ QString preeditText = "califragisiticexpialidocious!";
+
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/preeditAutoScroll.qml"));
+ MyInputContext ic;
+ // QSGCanvas won't set the Qt::WA_InputMethodEnabled flag unless a suitable item has active focus
+ // and QWidget won't allow an input context to be set when the flag is not set.
+ view.setAttribute(Qt::WA_InputMethodEnabled, true);
+ view.setInputContext(&ic);
+ view.setAttribute(Qt::WA_InputMethodEnabled, false);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(view.rootObject());
+ QVERIFY(input);
+
+ QFontMetricsF fm(input->font());
+ input->setWidth(fm.width(input->text()));
+
+ // test the text is scrolled so the preedit is visible.
+ ic.sendPreeditText(preeditText.mid(0, 3), 1);
+ QVERIFY(input->positionAt(0) != 0);
+ QVERIFY(input->cursorRectangle().left() < input->boundingRect().width());
+
+ // test the text is scrolled back when the preedit is removed.
+ ic.sendEvent(QInputMethodEvent());
+ QCOMPARE(input->positionAt(0), 0);
+ QCOMPARE(input->positionAt(input->width()), 5);
+
+ // test if the preedit is larger than the text input that the
+ // character preceding the cursor is still visible.
+ qreal x = input->positionToRectangle(0).x();
+ for (int i = 0; i < 3; ++i) {
+ ic.sendPreeditText(preeditText, i + 1);
+ QVERIFY(input->cursorRectangle().right() >= fm.width(preeditText.at(i)));
+ QVERIFY(input->positionToRectangle(0).x() < x);
+ x = input->positionToRectangle(0).x();
+ }
+ for (int i = 1; i >= 0; --i) {
+ ic.sendPreeditText(preeditText, i + 1);
+ QVERIFY(input->cursorRectangle().right() >= fm.width(preeditText.at(i)));
+ QVERIFY(input->positionToRectangle(0).x() > x);
+ x = input->positionToRectangle(0).x();
+ }
+
+ // Test incrementing the preedit cursor doesn't cause further
+ // scrolling when right most text is visible.
+ ic.sendPreeditText(preeditText, preeditText.length() - 3);
+ x = input->positionToRectangle(0).x();
+ for (int i = 2; i >= 0; --i) {
+ ic.sendPreeditText(preeditText, preeditText.length() - i);
+ QCOMPARE(input->positionToRectangle(0).x(), x);
+ }
+ for (int i = 1; i < 3; ++i) {
+ ic.sendPreeditText(preeditText, preeditText.length() - i);
+ QCOMPARE(input->positionToRectangle(0).x(), x);
+ }
+
+ // Test disabling auto scroll.
+ ic.sendEvent(QInputMethodEvent());
+
+ input->setAutoScroll(false);
+ ic.sendPreeditText(preeditText.mid(0, 3), 1);
+ QCOMPARE(input->positionAt(0), 0);
+ QCOMPARE(input->positionAt(input->width()), 5);
+}
+
+void tst_qsgtextinput::preeditMicroFocus()
+{
+ QString preeditText = "super";
+
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/inputMethodEvent.qml"));
+ MyInputContext ic;
+ // QSGCanvas won't set the Qt::WA_InputMethodEnabled flag unless a suitable item has active focus
+ // and QWidget won't allow an input context to be set when the flag is not set.
+ view.setAttribute(Qt::WA_InputMethodEnabled, true);
+ view.setInputContext(&ic);
+ view.setAttribute(Qt::WA_InputMethodEnabled, false);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(view.rootObject());
+ QVERIFY(input);
+
+ QRect currentRect;
+ QRect previousRect = input->inputMethodQuery(Qt::ImMicroFocus).toRect();
+
+ // Verify that the micro focus rect is positioned the same for position 0 as
+ // it would be if there was no preedit text.
+ ic.updateReceived = false;
+ ic.sendPreeditText(preeditText, 0);
+ currentRect = input->inputMethodQuery(Qt::ImMicroFocus).toRect();
+ QCOMPARE(currentRect, previousRect);
+#if defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN)
+ QCOMPARE(ic.updateReceived, true);
+#endif
+
+ // Verify that the micro focus rect moves to the left as the cursor position
+ // is incremented.
+ for (int i = 1; i <= 5; ++i) {
+ ic.updateReceived = false;
+ ic.sendPreeditText(preeditText, i);
+ currentRect = input->inputMethodQuery(Qt::ImMicroFocus).toRect();
+ QVERIFY(previousRect.left() < currentRect.left());
+#if defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN)
+ QCOMPARE(ic.updateReceived, true);
+#endif
+ previousRect = currentRect;
+ }
+
+ // Verify that if there is no preedit cursor then the micro focus rect is the
+ // same as it would be if it were positioned at the end of the preedit text.
+ ic.sendPreeditText(preeditText, 0);
+ ic.updateReceived = false;
+ ic.sendEvent(QInputMethodEvent(preeditText, QList<QInputMethodEvent::Attribute>()));
+ currentRect = input->inputMethodQuery(Qt::ImMicroFocus).toRect();
+ QCOMPARE(currentRect, previousRect);
+#if defined(Q_WS_X11) || defined(Q_WS_QWS) || defined(Q_OS_SYMBIAN)
+ QCOMPARE(ic.updateReceived, true);
+#endif
+}
+
+void tst_qsgtextinput::inputContextMouseHandler()
+{
+ QString text = "supercalifragisiticexpialidocious!";
+
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/inputContext.qml"));
+ MyInputContext ic;
+ // QSGCanvas won't set the Qt::WA_InputMethodEnabled flag unless a suitable item has active focus
+ // and QWidget won't allow an input context to be set when the flag is not set.
+ view.setAttribute(Qt::WA_InputMethodEnabled, true);
+ view.setInputContext(&ic);
+ view.setAttribute(Qt::WA_InputMethodEnabled, false);
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(view.rootObject());
+ QVERIFY(input);
+
+ QFontMetricsF fm(input->font());
+ const qreal y = fm.height() / 2;
+
+ QPoint position2 = input->mapToScene(QPointF(fm.width(text.mid(0, 2)), y)).toPoint();
+ QPoint position8 = input->mapToScene(QPointF(fm.width(text.mid(0, 8)), y)).toPoint();
+ QPoint position20 = input->mapToScene(QPointF(fm.width(text.mid(0, 20)), y)).toPoint();
+ QPoint position27 = input->mapToScene(QPointF(fm.width(text.mid(0, 27)), y)).toPoint();
+ QPoint globalPosition2 = view.mapToGlobal(position2);
+ QPoint globalposition8 = view.mapToGlobal(position8);
+ QPoint globalposition20 = view.mapToGlobal(position20);
+ QPoint globalposition27 = view.mapToGlobal(position27);
+
+ ic.sendEvent(QInputMethodEvent(text.mid(12), QList<QInputMethodEvent::Attribute>()));
+
+ QTest::mouseDClick(&view, Qt::LeftButton, Qt::NoModifier, position2);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonDblClick);
+ QCOMPARE(ic.eventPosition, position2);
+ QCOMPARE(ic.eventGlobalPosition, globalPosition2);
+ QCOMPARE(ic.eventButton, Qt::LeftButton);
+ QCOMPARE(ic.eventModifiers, Qt::NoModifier);
+ QVERIFY(ic.cursor < 0);
+ ic.eventType = QEvent::None;
+
+ QTest::mousePress(&view, Qt::LeftButton, Qt::NoModifier, position2);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonPress);
+ QCOMPARE(ic.eventPosition, position2);
+ QCOMPARE(ic.eventGlobalPosition, globalPosition2);
+ QCOMPARE(ic.eventButton, Qt::LeftButton);
+ QCOMPARE(ic.eventModifiers, Qt::NoModifier);
+ QVERIFY(ic.cursor < 0);
+ ic.eventType = QEvent::None;
+
+ { QMouseEvent mv(QEvent::MouseMove, position8, globalposition8, Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&view, &mv); }
+ QCOMPARE(ic.eventType, QEvent::None);
+
+ { QMouseEvent mv(QEvent::MouseMove, position27, globalposition27, Qt::LeftButton, Qt::LeftButton,Qt::NoModifier);
+ QApplication::sendEvent(&view, &mv); }
+ QCOMPARE(ic.eventType, QEvent::MouseMove);
+ QCOMPARE(ic.eventPosition, position27);
+ QCOMPARE(ic.eventGlobalPosition, globalposition27);
+ QCOMPARE(ic.eventButton, Qt::LeftButton);
+ QCOMPARE(ic.eventModifiers, Qt::NoModifier);
+ QVERIFY(ic.cursor >= 14 && ic.cursor <= 16); // 15 is expected but some platforms may be off by one.
+ ic.eventType = QEvent::None;
+
+ QTest::mouseRelease(&view, Qt::LeftButton, Qt::NoModifier, position27);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonRelease);
+ QCOMPARE(ic.eventPosition, position27);
+ QCOMPARE(ic.eventGlobalPosition, globalposition27);
+ QCOMPARE(ic.eventButton, Qt::LeftButton);
+ QCOMPARE(ic.eventModifiers, Qt::NoModifier);
+ QVERIFY(ic.cursor >= 14 && ic.cursor <= 16);
+ ic.eventType = QEvent::None;
+
+ // And in the other direction.
+ QTest::mouseDClick(&view, Qt::LeftButton, Qt::ControlModifier, position27);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonDblClick);
+ QCOMPARE(ic.eventPosition, position27);
+ QCOMPARE(ic.eventGlobalPosition, globalposition27);
+ QCOMPARE(ic.eventButton, Qt::LeftButton);
+ QCOMPARE(ic.eventModifiers, Qt::ControlModifier);
+ QVERIFY(ic.cursor >= 14 && ic.cursor <= 16);
+ ic.eventType = QEvent::None;
+
+ QTest::mousePress(&view, Qt::RightButton, Qt::ControlModifier, position27);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonPress);
+ QCOMPARE(ic.eventPosition, position27);
+ QCOMPARE(ic.eventGlobalPosition, globalposition27);
+ QCOMPARE(ic.eventButton, Qt::RightButton);
+ QCOMPARE(ic.eventModifiers, Qt::ControlModifier);
+ QVERIFY(ic.cursor >= 14 && ic.cursor <= 16);
+ ic.eventType = QEvent::None;
+
+ { QMouseEvent mv(QEvent::MouseMove, position20, globalposition20, Qt::RightButton, Qt::RightButton,Qt::ControlModifier);
+ QApplication::sendEvent(&view, &mv); }
+ QCOMPARE(ic.eventType, QEvent::MouseMove);
+ QCOMPARE(ic.eventPosition, position20);
+ QCOMPARE(ic.eventGlobalPosition, globalposition20);
+ QCOMPARE(ic.eventButton, Qt::RightButton);
+ QCOMPARE(ic.eventModifiers, Qt::ControlModifier);
+ QVERIFY(ic.cursor >= 7 && ic.cursor <= 9);
+ ic.eventType = QEvent::None;
+
+ { QMouseEvent mv(QEvent::MouseMove, position2, globalPosition2, Qt::RightButton, Qt::RightButton,Qt::ControlModifier);
+ QApplication::sendEvent(&view, &mv); }
+ QCOMPARE(ic.eventType, QEvent::None);
+
+ QTest::mouseRelease(&view, Qt::RightButton, Qt::ControlModifier, position2);
+ QCOMPARE(ic.eventType, QEvent::MouseButtonRelease);
+ QCOMPARE(ic.eventPosition, position2);
+ QCOMPARE(ic.eventGlobalPosition, globalPosition2);
+ QCOMPARE(ic.eventButton, Qt::RightButton);
+ QCOMPARE(ic.eventModifiers, Qt::ControlModifier);
+ QVERIFY(ic.cursor < 0);
+ ic.eventType = QEvent::None;
+}
+
+void tst_qsgtextinput::inputMethodComposing()
+{
+ QString text = "supercalifragisiticexpialidocious!";
+
+ QSGView view(QUrl::fromLocalFile(SRCDIR "/data/inputContext.qml"));
+ view.show();
+ QApplication::setActiveWindow(&view);
+ QTest::qWaitForWindowShown(&view);
+ QTRY_COMPARE(QApplication::activeWindow(), static_cast<QWidget *>(&view));
+ QSGTextInput *input = qobject_cast<QSGTextInput *>(view.rootObject());
+ QVERIFY(input);
+ QSignalSpy spy(input, SIGNAL(inputMethodComposingChanged()));
+
+ QCOMPARE(input->isInputMethodComposing(), false);
+ {
+ QInputMethodEvent event(text.mid(3), QList<QInputMethodEvent::Attribute>());
+ QApplication::sendEvent(&view, &event);
+ }
+ QCOMPARE(input->isInputMethodComposing(), true);
+ QCOMPARE(spy.count(), 1);
+
+ {
+ QInputMethodEvent event(text.mid(12), QList<QInputMethodEvent::Attribute>());
+ QApplication::sendEvent(&view, &event);
+ }
+ QCOMPARE(spy.count(), 1);
+
+ {
+ QInputMethodEvent event;
+ QApplication::sendEvent(&view, &event);
+ }
+ QCOMPARE(input->isInputMethodComposing(), false);
+ QCOMPARE(spy.count(), 2);
+}
+
+void tst_qsgtextinput::cursorRectangleSize()
+{
+ QSGView *canvas = new QSGView(QUrl::fromLocalFile(SRCDIR "/data/positionAt.qml"));
+ QVERIFY(canvas->rootObject() != 0);
+ canvas->show();
+ canvas->setFocus();
+ QApplication::setActiveWindow(canvas);
+ QTest::qWaitForWindowShown(canvas);
+
+ QSGTextInput *textInput = qobject_cast<QSGTextInput *>(canvas->rootObject());
+ QVERIFY(textInput != 0);
+ textInput->setFocus(Qt::OtherFocusReason);
+ QRectF cursorRect = textInput->positionToRectangle(textInput->cursorPosition());
+ QRectF microFocusFromScene = canvas->inputMethodQuery(Qt::ImMicroFocus).toRectF();
+ QRectF microFocusFromApp= QApplication::focusWidget()->inputMethodQuery(Qt::ImMicroFocus).toRectF();
+
+ QCOMPARE(microFocusFromScene.size(), cursorRect.size());
+ QCOMPARE(microFocusFromApp.size(), cursorRect.size());
+
+ delete canvas;
+}
+
+QTEST_MAIN(tst_qsgtextinput)
+
+#include "tst_qsgtextinput.moc"
diff --git a/tests/auto/declarative/qsgvisualdatamodel/data/datalist.qml b/tests/auto/declarative/qsgvisualdatamodel/data/datalist.qml
new file mode 100644
index 0000000000..8ce59caddc
--- /dev/null
+++ b/tests/auto/declarative/qsgvisualdatamodel/data/datalist.qml
@@ -0,0 +1,18 @@
+import QtQuick 2.0
+
+ListView {
+ width: 100
+ height: 100
+ model: VisualDataModel {
+ id: visualModel
+ objectName: "visualModel"
+ model: myModel
+ delegate: Component {
+ Rectangle {
+ height: 25
+ width: 100
+ Text { objectName: "display"; text: display }
+ }
+ }
+ }
+}
diff --git a/tests/auto/declarative/qsgvisualdatamodel/data/modelproperties.qml b/tests/auto/declarative/qsgvisualdatamodel/data/modelproperties.qml
new file mode 100644
index 0000000000..6d86cdea2e
--- /dev/null
+++ b/tests/auto/declarative/qsgvisualdatamodel/data/modelproperties.qml
@@ -0,0 +1,19 @@
+import QtQuick 2.0
+
+ListView {
+ width: 100
+ height: 100
+ model: myModel
+ delegate: Item {
+ objectName: "delegate"
+ property variant test1: name
+ property variant test2: model.name
+ property variant test3: modelData
+ property variant test4: model.modelData
+ property variant test5: modelData.name
+ property variant test6: model
+ property variant test7: index
+ property variant test8: model.index
+ property variant test9: model.modelData.name
+ }
+}
diff --git a/tests/auto/declarative/qsgvisualdatamodel/data/modelproperties2.qml b/tests/auto/declarative/qsgvisualdatamodel/data/modelproperties2.qml
new file mode 100644
index 0000000000..6a92431cdf
--- /dev/null
+++ b/tests/auto/declarative/qsgvisualdatamodel/data/modelproperties2.qml
@@ -0,0 +1,19 @@
+import QtQuick 2.0
+
+ListView {
+ width: 100
+ height: 100
+ model: myModel
+ delegate: Item {
+ objectName: "delegate"
+ property variant test1: display
+ property variant test2: model.display
+ property variant test3: modelData
+ property variant test4: model.modelData
+ property variant test5: modelData.display
+ property variant test6: model
+ property variant test7: index
+ property variant test8: model.index
+ property variant test9: model.modelData.display
+ }
+}
diff --git a/tests/auto/declarative/qsgvisualdatamodel/data/objectlist.qml b/tests/auto/declarative/qsgvisualdatamodel/data/objectlist.qml
new file mode 100644
index 0000000000..9086e5ab57
--- /dev/null
+++ b/tests/auto/declarative/qsgvisualdatamodel/data/objectlist.qml
@@ -0,0 +1,19 @@
+import QtQuick 2.0
+
+ListView {
+ width: 100
+ height: 100
+ anchors.fill: parent
+ model: myModel
+ delegate: Component {
+ Rectangle {
+ height: 25
+ width: 100
+ color: model.modelData.color
+ Text { objectName: "name"; text: name }
+ Text { objectName: "section"; text: parent.ListView.section }
+ }
+ }
+ section.property: "name"
+ section.criteria: ViewSection.FullString
+}
diff --git a/tests/auto/declarative/qsgvisualdatamodel/data/singlerole1.qml b/tests/auto/declarative/qsgvisualdatamodel/data/singlerole1.qml
new file mode 100644
index 0000000000..d5b0fcf09b
--- /dev/null
+++ b/tests/auto/declarative/qsgvisualdatamodel/data/singlerole1.qml
@@ -0,0 +1,10 @@
+import QtQuick 2.0
+
+ListView {
+ width: 100
+ height: 100
+ model: myModel
+ delegate: Component {
+ Text { objectName: "name"; text: name }
+ }
+}
diff --git a/tests/auto/declarative/qsgvisualdatamodel/data/singlerole2.qml b/tests/auto/declarative/qsgvisualdatamodel/data/singlerole2.qml
new file mode 100644
index 0000000000..c6d3413dfd
--- /dev/null
+++ b/tests/auto/declarative/qsgvisualdatamodel/data/singlerole2.qml
@@ -0,0 +1,10 @@
+import QtQuick 2.0
+
+ListView {
+ width: 100
+ height: 100
+ model: myModel
+ delegate: Component {
+ Text { objectName: "name"; text: modelData }
+ }
+}
diff --git a/tests/auto/declarative/qsgvisualdatamodel/data/visualdatamodel.qml b/tests/auto/declarative/qsgvisualdatamodel/data/visualdatamodel.qml
new file mode 100644
index 0000000000..0bb5cd13e0
--- /dev/null
+++ b/tests/auto/declarative/qsgvisualdatamodel/data/visualdatamodel.qml
@@ -0,0 +1,11 @@
+import QtQuick 2.0
+
+VisualDataModel {
+ function setRoot() {
+ rootIndex = modelIndex(0);
+ }
+ function setRootToParent() {
+ rootIndex = parentModelIndex();
+ }
+ model: myModel
+}
diff --git a/tests/auto/declarative/qsgvisualdatamodel/qsgvisualdatamodel.pro b/tests/auto/declarative/qsgvisualdatamodel/qsgvisualdatamodel.pro
new file mode 100644
index 0000000000..7b961b6298
--- /dev/null
+++ b/tests/auto/declarative/qsgvisualdatamodel/qsgvisualdatamodel.pro
@@ -0,0 +1,18 @@
+load(qttest_p4)
+contains(QT_CONFIG,declarative): QT += declarative gui
+macx:CONFIG -= app_bundle
+
+SOURCES += tst_qsgvisualdatamodel.cpp
+
+symbian: {
+ importFiles.files = data
+ importFiles.path = .
+ DEPLOYMENT += importFiles
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
+
+CONFIG += parallel_test
+
+QT += core-private gui-private declarative-private
+QT += script-private
diff --git a/tests/auto/declarative/qsgvisualdatamodel/tst_qsgvisualdatamodel.cpp b/tests/auto/declarative/qsgvisualdatamodel/tst_qsgvisualdatamodel.cpp
new file mode 100644
index 0000000000..078c9976ed
--- /dev/null
+++ b/tests/auto/declarative/qsgvisualdatamodel/tst_qsgvisualdatamodel.cpp
@@ -0,0 +1,549 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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.h>
+#include <QtTest/QSignalSpy>
+#include <QStandardItemModel>
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/qdeclarativecontext.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtDeclarative/qsgview.h>
+#include <private/qsglistview_p.h>
+#include <private/qsgtext_p.h>
+#include <private/qsgvisualitemmodel_p.h>
+#include <private/qdeclarativevaluetype_p.h>
+#include <math.h>
+#include <QtOpenGL/QGLShaderProgram>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+static void initStandardTreeModel(QStandardItemModel *model)
+{
+ QStandardItem *item;
+ item = new QStandardItem(QLatin1String("Row 1 Item"));
+ model->insertRow(0, item);
+
+ item = new QStandardItem(QLatin1String("Row 2 Item"));
+ item->setCheckable(true);
+ model->insertRow(1, item);
+
+ QStandardItem *childItem = new QStandardItem(QLatin1String("Row 2 Child Item"));
+ item->setChild(0, childItem);
+
+ item = new QStandardItem(QLatin1String("Row 3 Item"));
+ item->setIcon(QIcon());
+ model->insertRow(2, item);
+}
+
+class SingleRoleModel : public QAbstractListModel
+{
+ Q_OBJECT
+
+public:
+ SingleRoleModel(QObject *parent = 0) {
+ QHash<int, QByteArray> roles;
+ roles.insert(Qt::DisplayRole , "name");
+ setRoleNames(roles);
+ list << "one" << "two" << "three" << "four";
+ }
+
+public slots:
+ void set(int idx, QString string) {
+ list[idx] = string;
+ emit dataChanged(index(idx,0), index(idx,0));
+ }
+
+protected:
+ int rowCount(const QModelIndex &parent = QModelIndex()) const {
+ return list.count();
+ }
+ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const {
+ if (role == Qt::DisplayRole)
+ return list.at(index.row());
+ return QVariant();
+ }
+
+private:
+ QStringList list;
+};
+
+
+class tst_qsgvisualdatamodel : public QObject
+{
+ Q_OBJECT
+public:
+ tst_qsgvisualdatamodel();
+
+private slots:
+ void initTestCase();
+ void cleanupTestCase();
+ void rootIndex();
+ void updateLayout();
+ void childChanged();
+ void objectListModel();
+ void singleRole();
+ void modelProperties();
+ void noDelegate();
+
+private:
+ QDeclarativeEngine engine;
+ template<typename T>
+ T *findItem(QSGItem *parent, const QString &objectName, int index);
+};
+void tst_qsgvisualdatamodel::initTestCase()
+{
+ QSGView canvas;
+ if (!QGLShaderProgram::hasOpenGLShaderPrograms(canvas.context()))
+ QSKIP("VisualDatamodel item needs OpenGL 2.0", SkipAll);
+}
+
+void tst_qsgvisualdatamodel::cleanupTestCase()
+{
+
+}
+class DataObject : public QObject
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QString name READ name WRITE setName NOTIFY nameChanged)
+ Q_PROPERTY(QString color READ color WRITE setColor NOTIFY colorChanged)
+
+public:
+ DataObject(QObject *parent=0) : QObject(parent) {}
+ DataObject(const QString &name, const QString &color, QObject *parent=0)
+ : QObject(parent), m_name(name), m_color(color) { }
+
+
+ QString name() const { return m_name; }
+ void setName(const QString &name) {
+ if (name != m_name) {
+ m_name = name;
+ emit nameChanged();
+ }
+ }
+
+ QString color() const { return m_color; }
+ void setColor(const QString &color) {
+ if (color != m_color) {
+ m_color = color;
+ emit colorChanged();
+ }
+ }
+
+signals:
+ void nameChanged();
+ void colorChanged();
+
+private:
+ QString m_name;
+ QString m_color;
+};
+
+tst_qsgvisualdatamodel::tst_qsgvisualdatamodel()
+{
+}
+
+void tst_qsgvisualdatamodel::rootIndex()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(SRCDIR "/data/visualdatamodel.qml"));
+
+ QStandardItemModel model;
+ initStandardTreeModel(&model);
+
+ engine.rootContext()->setContextProperty("myModel", &model);
+
+ QSGVisualDataModel *obj = qobject_cast<QSGVisualDataModel*>(c.create());
+ QVERIFY(obj != 0);
+
+ QMetaObject::invokeMethod(obj, "setRoot");
+ QVERIFY(qvariant_cast<QModelIndex>(obj->rootIndex()) == model.index(0,0));
+
+ QMetaObject::invokeMethod(obj, "setRootToParent");
+ QVERIFY(qvariant_cast<QModelIndex>(obj->rootIndex()) == QModelIndex());
+
+ QMetaObject::invokeMethod(obj, "setRoot");
+ QVERIFY(qvariant_cast<QModelIndex>(obj->rootIndex()) == model.index(0,0));
+ model.clear(); // will emit modelReset()
+ QVERIFY(qvariant_cast<QModelIndex>(obj->rootIndex()) == QModelIndex());
+
+ delete obj;
+}
+
+void tst_qsgvisualdatamodel::updateLayout()
+{
+ QSGView view;
+
+ QStandardItemModel model;
+ initStandardTreeModel(&model);
+
+ view.rootContext()->setContextProperty("myModel", &model);
+
+ view.setSource(QUrl::fromLocalFile(SRCDIR "/data/datalist.qml"));
+
+ QSGListView *listview = qobject_cast<QSGListView*>(view.rootObject());
+ QVERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ QSGText *name = findItem<QSGText>(contentItem, "display", 0);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 1 Item"));
+ name = findItem<QSGText>(contentItem, "display", 1);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 2 Item"));
+ name = findItem<QSGText>(contentItem, "display", 2);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 3 Item"));
+
+ model.invisibleRootItem()->sortChildren(0, Qt::DescendingOrder);
+
+ name = findItem<QSGText>(contentItem, "display", 0);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 3 Item"));
+ name = findItem<QSGText>(contentItem, "display", 1);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 2 Item"));
+ name = findItem<QSGText>(contentItem, "display", 2);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 1 Item"));
+}
+
+void tst_qsgvisualdatamodel::childChanged()
+{
+ QSGView view;
+
+ QStandardItemModel model;
+ initStandardTreeModel(&model);
+
+ view.rootContext()->setContextProperty("myModel", &model);
+
+ view.setSource(QUrl::fromLocalFile(SRCDIR "/data/datalist.qml"));
+
+ QSGListView *listview = qobject_cast<QSGListView*>(view.rootObject());
+ QVERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ QSGVisualDataModel *vdm = listview->findChild<QSGVisualDataModel*>("visualModel");
+ vdm->setRootIndex(QVariant::fromValue(model.indexFromItem(model.item(1,0))));
+
+ QSGText *name = findItem<QSGText>(contentItem, "display", 0);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 2 Child Item"));
+
+ model.item(1,0)->child(0,0)->setText("Row 2 updated child");
+
+ name = findItem<QSGText>(contentItem, "display", 0);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 2 updated child"));
+
+ model.item(1,0)->appendRow(new QStandardItem(QLatin1String("Row 2 Child Item 2")));
+ QTest::qWait(300);
+
+ name = findItem<QSGText>(contentItem, "display", 1);
+ QVERIFY(name != 0);
+ QCOMPARE(name->text(), QString("Row 2 Child Item 2"));
+
+ model.item(1,0)->takeRow(1);
+ name = findItem<QSGText>(contentItem, "display", 1);
+ QVERIFY(name == 0);
+
+ vdm->setRootIndex(QVariant::fromValue(QModelIndex()));
+ QTest::qWait(300);
+ name = findItem<QSGText>(contentItem, "display", 0);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 1 Item"));
+ name = findItem<QSGText>(contentItem, "display", 1);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 2 Item"));
+ name = findItem<QSGText>(contentItem, "display", 2);
+ QVERIFY(name);
+ QCOMPARE(name->text(), QString("Row 3 Item"));
+}
+
+void tst_qsgvisualdatamodel::objectListModel()
+{
+ QSGView view;
+
+ QList<QObject*> dataList;
+ dataList.append(new DataObject("Item 1", "red"));
+ dataList.append(new DataObject("Item 2", "green"));
+ dataList.append(new DataObject("Item 3", "blue"));
+ dataList.append(new DataObject("Item 4", "yellow"));
+
+ QDeclarativeContext *ctxt = view.rootContext();
+ ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
+
+ view.setSource(QUrl::fromLocalFile(SRCDIR "/data/objectlist.qml"));
+
+ QSGListView *listview = qobject_cast<QSGListView*>(view.rootObject());
+ QVERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ QSGText *name = findItem<QSGText>(contentItem, "name", 0);
+ QCOMPARE(name->text(), QString("Item 1"));
+
+ QSGText *section = findItem<QSGText>(contentItem, "section", 0);
+ QCOMPARE(section->text(), QString("Item 1"));
+
+ dataList[0]->setProperty("name", QLatin1String("Changed"));
+ QCOMPARE(name->text(), QString("Changed"));
+}
+
+void tst_qsgvisualdatamodel::singleRole()
+{
+ {
+ QSGView view;
+
+ SingleRoleModel model;
+
+ QDeclarativeContext *ctxt = view.rootContext();
+ ctxt->setContextProperty("myModel", &model);
+
+ view.setSource(QUrl::fromLocalFile(SRCDIR "/data/singlerole1.qml"));
+
+ QSGListView *listview = qobject_cast<QSGListView*>(view.rootObject());
+ QVERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ QSGText *name = findItem<QSGText>(contentItem, "name", 1);
+ QCOMPARE(name->text(), QString("two"));
+
+ model.set(1, "Changed");
+ QCOMPARE(name->text(), QString("Changed"));
+ }
+ {
+ QSGView view;
+
+ SingleRoleModel model;
+
+ QDeclarativeContext *ctxt = view.rootContext();
+ ctxt->setContextProperty("myModel", &model);
+
+ view.setSource(QUrl::fromLocalFile(SRCDIR "/data/singlerole2.qml"));
+
+ QSGListView *listview = qobject_cast<QSGListView*>(view.rootObject());
+ QVERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ QSGText *name = findItem<QSGText>(contentItem, "name", 1);
+ QCOMPARE(name->text(), QString("two"));
+
+ model.set(1, "Changed");
+ QCOMPARE(name->text(), QString("Changed"));
+ }
+}
+
+void tst_qsgvisualdatamodel::modelProperties()
+{
+ {
+ QSGView view;
+
+ SingleRoleModel model;
+
+ QDeclarativeContext *ctxt = view.rootContext();
+ ctxt->setContextProperty("myModel", &model);
+
+ view.setSource(QUrl::fromLocalFile(SRCDIR "/data/modelproperties.qml"));
+
+ QSGListView *listview = qobject_cast<QSGListView*>(view.rootObject());
+ QVERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ QSGItem *delegate = findItem<QSGItem>(contentItem, "delegate", 1);
+ QVERIFY(delegate);
+ QCOMPARE(delegate->property("test1").toString(),QString("two"));
+ QCOMPARE(delegate->property("test2").toString(),QString("two"));
+ QCOMPARE(delegate->property("test3").toString(),QString("two"));
+ QCOMPARE(delegate->property("test4").toString(),QString("two"));
+ QVERIFY(!delegate->property("test9").isValid());
+ QCOMPARE(delegate->property("test5").toString(),QString(""));
+ QVERIFY(delegate->property("test6").value<QObject*>() != 0);
+ QCOMPARE(delegate->property("test7").toInt(),1);
+ QCOMPARE(delegate->property("test8").toInt(),1);
+ }
+
+ {
+ QSGView view;
+
+ QList<QObject*> dataList;
+ dataList.append(new DataObject("Item 1", "red"));
+ dataList.append(new DataObject("Item 2", "green"));
+ dataList.append(new DataObject("Item 3", "blue"));
+ dataList.append(new DataObject("Item 4", "yellow"));
+
+ QDeclarativeContext *ctxt = view.rootContext();
+ ctxt->setContextProperty("myModel", QVariant::fromValue(dataList));
+
+ view.setSource(QUrl::fromLocalFile(SRCDIR "/data/modelproperties.qml"));
+
+ QSGListView *listview = qobject_cast<QSGListView*>(view.rootObject());
+ QVERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ QSGItem *delegate = findItem<QSGItem>(contentItem, "delegate", 1);
+ QVERIFY(delegate);
+ QCOMPARE(delegate->property("test1").toString(),QString("Item 2"));
+ QEXPECT_FAIL("", "QTBUG-13576", Continue);
+ QCOMPARE(delegate->property("test2").toString(),QString("Item 2"));
+ QVERIFY(qobject_cast<DataObject*>(delegate->property("test3").value<QObject*>()) != 0);
+ QVERIFY(qobject_cast<DataObject*>(delegate->property("test4").value<QObject*>()) != 0);
+ QCOMPARE(delegate->property("test5").toString(),QString("Item 2"));
+ QCOMPARE(delegate->property("test9").toString(),QString("Item 2"));
+ QVERIFY(delegate->property("test6").value<QObject*>() != 0);
+ QCOMPARE(delegate->property("test7").toInt(),1);
+ QCOMPARE(delegate->property("test8").toInt(),1);
+ }
+
+ {
+ QSGView view;
+
+ QStandardItemModel model;
+ initStandardTreeModel(&model);
+
+ view.rootContext()->setContextProperty("myModel", &model);
+
+ QUrl source(QUrl::fromLocalFile(SRCDIR "/data/modelproperties2.qml"));
+
+ //3 items, 3 warnings each
+ QTest::ignoreMessage(QtWarningMsg, source.toString().toLatin1() + ":13: ReferenceError: Can't find variable: modelData");
+ QTest::ignoreMessage(QtWarningMsg, source.toString().toLatin1() + ":13: ReferenceError: Can't find variable: modelData");
+ QTest::ignoreMessage(QtWarningMsg, source.toString().toLatin1() + ":13: ReferenceError: Can't find variable: modelData");
+ QTest::ignoreMessage(QtWarningMsg, source.toString().toLatin1() + ":11: ReferenceError: Can't find variable: modelData");
+ QTest::ignoreMessage(QtWarningMsg, source.toString().toLatin1() + ":11: ReferenceError: Can't find variable: modelData");
+ QTest::ignoreMessage(QtWarningMsg, source.toString().toLatin1() + ":11: ReferenceError: Can't find variable: modelData");
+ QTest::ignoreMessage(QtWarningMsg, source.toString().toLatin1() + ":17: TypeError: Result of expression 'model.modelData' [undefined] is not an object.");
+ QTest::ignoreMessage(QtWarningMsg, source.toString().toLatin1() + ":17: TypeError: Result of expression 'model.modelData' [undefined] is not an object.");
+ QTest::ignoreMessage(QtWarningMsg, source.toString().toLatin1() + ":17: TypeError: Result of expression 'model.modelData' [undefined] is not an object.");
+
+ view.setSource(source);
+
+ QSGListView *listview = qobject_cast<QSGListView*>(view.rootObject());
+ QVERIFY(listview != 0);
+
+ QSGItem *contentItem = listview->contentItem();
+ QVERIFY(contentItem != 0);
+
+ QSGItem *delegate = findItem<QSGItem>(contentItem, "delegate", 1);
+ QVERIFY(delegate);
+ QCOMPARE(delegate->property("test1").toString(),QString("Row 2 Item"));
+ QCOMPARE(delegate->property("test2").toString(),QString("Row 2 Item"));
+ QVERIFY(!delegate->property("test3").isValid());
+ QVERIFY(!delegate->property("test4").isValid());
+ QVERIFY(!delegate->property("test5").isValid());
+ QVERIFY(!delegate->property("test9").isValid());
+ QVERIFY(delegate->property("test6").value<QObject*>() != 0);
+ QCOMPARE(delegate->property("test7").toInt(),1);
+ QCOMPARE(delegate->property("test8").toInt(),1);
+ }
+
+ //### should also test QStringList and QVariantList
+}
+
+void tst_qsgvisualdatamodel::noDelegate()
+{
+ QSGView view;
+
+ QStandardItemModel model;
+ initStandardTreeModel(&model);
+
+ view.rootContext()->setContextProperty("myModel", &model);
+
+ view.setSource(QUrl::fromLocalFile(SRCDIR "/data/datalist.qml"));
+
+ QSGListView *listview = qobject_cast<QSGListView*>(view.rootObject());
+ QVERIFY(listview != 0);
+
+ QSGVisualDataModel *vdm = listview->findChild<QSGVisualDataModel*>("visualModel");
+ QVERIFY(vdm != 0);
+ QCOMPARE(vdm->count(), 3);
+
+ vdm->setDelegate(0);
+ QCOMPARE(vdm->count(), 0);
+}
+
+
+template<typename T>
+T *tst_qsgvisualdatamodel::findItem(QSGItem *parent, const QString &objectName, int index)
+{
+ const QMetaObject &mo = T::staticMetaObject;
+ //qDebug() << parent->childItems().count() << "children";
+ for (int i = 0; i < parent->childItems().count(); ++i) {
+ QSGItem *item = qobject_cast<QSGItem*>(parent->childItems().at(i));
+ if(!item)
+ continue;
+ //qDebug() << "try" << item;
+ if (mo.cast(item) && (objectName.isEmpty() || item->objectName() == objectName)) {
+ if (index != -1) {
+ QDeclarativeExpression e(qmlContext(item), item, "index");
+ if (e.evaluate().toInt() == index)
+ return static_cast<T*>(item);
+ } else {
+ return static_cast<T*>(item);
+ }
+ }
+ item = findItem<T>(item, objectName, index);
+ if (item)
+ return static_cast<T*>(item);
+ }
+
+ return 0;
+}
+
+QTEST_MAIN(tst_qsgvisualdatamodel)
+
+#include "tst_qsgvisualdatamodel.moc"
diff --git a/tests/auto/qmltest/borderimage/InvalidSciFile.qml b/tests/auto/qmltest/borderimage/InvalidSciFile.qml
new file mode 100644
index 0000000000..d8a6d89b92
--- /dev/null
+++ b/tests/auto/qmltest/borderimage/InvalidSciFile.qml
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+
+BorderImage {
+ source: "invalid.sci"
+ width: 300
+ height: 300
+}
diff --git a/tests/auto/qmltest/borderimage/colors-round.sci b/tests/auto/qmltest/borderimage/colors-round.sci
new file mode 100644
index 0000000000..5d2f49f0e1
--- /dev/null
+++ b/tests/auto/qmltest/borderimage/colors-round.sci
@@ -0,0 +1,7 @@
+border.left:10
+border.top:20
+border.right:30
+border.bottom:40
+horizontalTileRule:Round
+verticalTileRule:Repeat
+source:colors.png
diff --git a/tests/auto/qmltest/borderimage/colors.png b/tests/auto/qmltest/borderimage/colors.png
new file mode 100644
index 0000000000..dfb62f3d64
--- /dev/null
+++ b/tests/auto/qmltest/borderimage/colors.png
Binary files differ
diff --git a/tests/auto/qmltest/borderimage/invalid.sci b/tests/auto/qmltest/borderimage/invalid.sci
new file mode 100644
index 0000000000..98c72c9bf1
--- /dev/null
+++ b/tests/auto/qmltest/borderimage/invalid.sci
@@ -0,0 +1,7 @@
+border.left:10
+border.top:20
+border.down:30
+border.up:40
+horizontalTileRule:Roun
+verticalTileRule:Repea
+source:colors.png
diff --git a/tests/auto/qmltest/borderimage/tst_borderimage.qml b/tests/auto/qmltest/borderimage/tst_borderimage.qml
new file mode 100644
index 0000000000..d488fcf2b2
--- /dev/null
+++ b/tests/auto/qmltest/borderimage/tst_borderimage.qml
@@ -0,0 +1,247 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtTest 1.0
+
+Item {
+ id: top
+
+ BorderImage {
+ id: noSource
+ source: ""
+ }
+
+ property string srcImage: "colors.png"
+
+ BorderImage {
+ id: clearSource
+ source: srcImage
+ }
+
+ BorderImage {
+ id: resized
+ source: "colors.png"
+ width: 300
+ height: 300
+ }
+
+ BorderImage {
+ id: smooth
+ source: "colors.png"
+ smooth: true
+ width: 300
+ height: 300
+ }
+
+ BorderImage {
+ id: tileModes1
+ source: "colors.png"
+ width: 100
+ height: 300
+ horizontalTileMode: BorderImage.Repeat
+ verticalTileMode: BorderImage.Repeat
+ }
+
+ BorderImage {
+ id: tileModes2
+ source: "colors.png"
+ width: 300
+ height: 150
+ horizontalTileMode: BorderImage.Round
+ verticalTileMode: BorderImage.Round
+ }
+
+ TestCase {
+ name: "BorderImage"
+
+ function test_noSource() {
+ compare(noSource.source, "")
+ compare(noSource.width, 0)
+ compare(noSource.height, 0)
+ compare(noSource.horizontalTileMode, BorderImage.Stretch)
+ compare(noSource.verticalTileMode, BorderImage.Stretch)
+ }
+
+ function test_imageSource_data() {
+ return [
+ {
+ tag: "local",
+ source: "colors.png",
+ remote: false,
+ error: ""
+ },
+ {
+ tag: "local not found",
+ source: "no-such-file.png",
+ remote: false,
+ error: "SUBinline:1:21: QML BorderImage: Cannot open: SUBno-such-file.png"
+ }
+ // TODO: remote tests that need to use http
+ ]
+ }
+
+ function test_imageSource(row) {
+ var expectError = (row.error.length != 0)
+ if (expectError) {
+ var parentUrl = Qt.resolvedUrl(".")
+ ignoreWarning(row.error.replace(/SUB/g, parentUrl))
+ }
+
+ var img = Qt.createQmlObject
+ ('import QtQuick 1.0; BorderImage { source: "' +
+ row.source + '" }', top)
+
+ if (row.remote)
+ tryCompare(img, "status", BorderImage.Loading)
+
+ if (!expectError) {
+ tryCompare(img, "status", BorderImage.Ready)
+ compare(img.width, 120)
+ compare(img.height, 120)
+ compare(img.horizontalTileMode, BorderImage.Stretch)
+ compare(img.verticalTileMode, BorderImage.Stretch)
+ } else {
+ tryCompare(img, "status", BorderImage.Error)
+ }
+
+ img.destroy()
+ }
+
+ function test_clearSource() {
+ compare(clearSource.source, Qt.resolvedUrl("colors.png"))
+ compare(clearSource.width, 120)
+ compare(clearSource.height, 120)
+
+ srcImage = ""
+ compare(clearSource.source, "")
+ compare(clearSource.width, 0)
+ compare(clearSource.height, 0)
+ }
+
+ function test_resized() {
+ compare(resized.width, 300)
+ compare(resized.height, 300)
+ compare(resized.horizontalTileMode, BorderImage.Stretch)
+ compare(resized.verticalTileMode, BorderImage.Stretch)
+ }
+
+ function test_smooth() {
+ compare(smooth.smooth, true)
+ compare(smooth.width, 300)
+ compare(smooth.height, 300)
+ compare(smooth.horizontalTileMode, BorderImage.Stretch)
+ compare(smooth.verticalTileMode, BorderImage.Stretch)
+ }
+
+ function test_tileModes() {
+ compare(tileModes1.width, 100)
+ compare(tileModes1.height, 300)
+ compare(tileModes1.horizontalTileMode, BorderImage.Repeat)
+ compare(tileModes1.verticalTileMode, BorderImage.Repeat)
+
+ compare(tileModes2.width, 300)
+ compare(tileModes2.height, 150)
+ compare(tileModes2.horizontalTileMode, BorderImage.Round)
+ compare(tileModes2.verticalTileMode, BorderImage.Round)
+ }
+
+ function test_sciSource_data() {
+ return [
+ {
+ tag: "local",
+ source: "colors-round.sci",
+ remote: false,
+ valid: true
+ },
+ {
+ tag: "local not found",
+ source: "no-such-file.sci",
+ remote: false,
+ valid: false
+ }
+ // TODO: remote tests that need to use http
+ ]
+ }
+
+ function test_sciSource(row) {
+ var img = Qt.createQmlObject
+ ('import QtQuick 1.0; BorderImage { source: "' +
+ row.source + '"; width: 300; height: 300 }', top)
+
+ if (row.remote)
+ tryCompare(img, "status", BorderImage.Loading)
+
+ compare(img.source, Qt.resolvedUrl(row.source))
+ compare(img.width, 300)
+ compare(img.height, 300)
+
+ if (row.valid) {
+ tryCompare(img, "status", BorderImage.Ready)
+ compare(img.border.left, 10)
+ compare(img.border.top, 20)
+ compare(img.border.right, 30)
+ compare(img.border.bottom, 40)
+ compare(img.horizontalTileMode, BorderImage.Round)
+ compare(img.verticalTileMode, BorderImage.Repeat)
+ } else {
+ tryCompare(img, "status", BorderImage.Error)
+ }
+
+ img.destroy()
+ }
+
+
+ function test_invalidSciFile() {
+ ignoreWarning("QSGGridScaledImage: Invalid tile rule specified. Using Stretch.") // for "Roun"
+ ignoreWarning("QSGGridScaledImage: Invalid tile rule specified. Using Stretch.") // for "Repea"
+
+ var component = Qt.createComponent("InvalidSciFile.qml")
+ var invalidSciFile = component.createObject(top)
+
+ compare(invalidSciFile.status, Image.Error)
+ compare(invalidSciFile.width, 300)
+ compare(invalidSciFile.height, 300)
+ compare(invalidSciFile.horizontalTileMode, BorderImage.Stretch)
+ compare(invalidSciFile.verticalTileMode, BorderImage.Stretch)
+ }
+ }
+}
diff --git a/tests/auto/qmltest/buttonclick/Button.qml b/tests/auto/qmltest/buttonclick/Button.qml
new file mode 100644
index 0000000000..6b195ff7c4
--- /dev/null
+++ b/tests/auto/qmltest/buttonclick/Button.qml
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+
+Rectangle {
+ id: container
+
+ property string text: "Button"
+
+ signal clicked
+
+ width: buttonLabel.width + 20; height: buttonLabel.height + 5
+ border { width: 1; color: "black" }
+ smooth: true
+ radius: 8
+
+ // color the button with a gradient
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "blue" }
+ GradientStop { position: 1.0; color: "lightblue" }
+ }
+
+ MouseArea {
+ id: mouseArea
+ anchors.fill: parent
+ onClicked: container.clicked();
+ }
+
+ Text {
+ id: buttonLabel
+ anchors.centerIn: container
+ color: "white"
+ text: container.text
+ }
+}
diff --git a/tests/auto/qmltest/buttonclick/tst_buttonclick.qml b/tests/auto/qmltest/buttonclick/tst_buttonclick.qml
new file mode 100644
index 0000000000..a875daa7d7
--- /dev/null
+++ b/tests/auto/qmltest/buttonclick/tst_buttonclick.qml
@@ -0,0 +1,66 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtTest 1.0
+
+Button {
+ id: button
+ onClicked: text = "Clicked"
+
+ SignalSpy {
+ id: spy
+ target: button
+ signalName: "clicked"
+ }
+
+ TestCase {
+ name: "ButtonClick"
+ when: windowShown
+
+ function test_click() {
+ compare(spy.count, 0)
+ button.clicked();
+ compare(button.text, "Clicked");
+ compare(spy.count, 1)
+ }
+ }
+}
diff --git a/tests/auto/qmltest/createbenchmark/item.qml b/tests/auto/qmltest/createbenchmark/item.qml
new file mode 100644
index 0000000000..e3a3491f41
--- /dev/null
+++ b/tests/auto/qmltest/createbenchmark/item.qml
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the QtDeclarative 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+
+Item {
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+ Item {}
+}
diff --git a/tests/auto/qmltest/createbenchmark/tst_createbenchmark.qml b/tests/auto/qmltest/createbenchmark/tst_createbenchmark.qml
new file mode 100644
index 0000000000..b484020d3c
--- /dev/null
+++ b/tests/auto/qmltest/createbenchmark/tst_createbenchmark.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtTest 1.0
+
+TestCase {
+ id: top
+ name: "CreateBenchmark"
+
+ function benchmark_create_component() {
+ var component = Qt.createComponent("item.qml")
+ var obj = component.createObject(top)
+ obj.destroy()
+ component.destroy()
+ }
+}
diff --git a/tests/auto/qmltest/events/tst_events.qml b/tests/auto/qmltest/events/tst_events.qml
new file mode 100644
index 0000000000..bc358d95a6
--- /dev/null
+++ b/tests/auto/qmltest/events/tst_events.qml
@@ -0,0 +1,86 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtTest 1.0
+
+Rectangle {
+ width: 50; height: 50
+ id: top
+ focus: true
+
+ property bool leftKeyPressed: false
+ property bool leftKeyReleased: false
+
+ Keys.onLeftPressed: {
+ leftKeyPressed = true
+ }
+
+ Keys.onReleased: {
+ if (event.key == Qt.Key_Left)
+ leftKeyReleased = true
+ }
+
+ property bool mouseHasBeenClicked: false
+
+ MouseArea {
+ anchors.fill: parent
+ onClicked: {
+ mouseHasBeenClicked = true
+ }
+ }
+
+ TestCase {
+ name: "Events"
+ when: windowShown // Must have this line for events to work.
+
+ function test_key_click() {
+ keyClick(Qt.Key_Left)
+ tryCompare(top, "leftKeyPressed", true)
+ tryCompare(top, "leftKeyReleased", true)
+ }
+
+ function test_mouse_click() {
+ mouseClick(top, 25, 30)
+ tryCompare(top, "mouseHasBeenClicked", true)
+ }
+ }
+}
diff --git a/tests/auto/qmltest/qdeclarativebinding/tst_binding.qml b/tests/auto/qmltest/qdeclarativebinding/tst_binding.qml
new file mode 100644
index 0000000000..5c883c52d1
--- /dev/null
+++ b/tests/auto/qmltest/qdeclarativebinding/tst_binding.qml
@@ -0,0 +1,75 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtTest 1.0
+
+Rectangle {
+ id: screen
+ width: 320; height: 240
+ property string text
+ property bool changeColor: false
+
+ Text { id: s1; text: "Hello" }
+ Rectangle { id: r1; width: 1; height: 1; color: "yellow" }
+ Rectangle { id: r2; width: 1; height: 1; color: "red" }
+
+ Binding { target: screen; property: "text"; value: s1.text; id: binding1 }
+ Binding { target: screen; property: "color"; value: r1.color }
+ Binding { target: screen; property: "color"; when: screen.changeColor == true; value: r2.color; id: binding3 }
+
+ TestCase {
+ name: "Binding"
+
+ function test_binding() {
+ compare(screen.color, "#ffff00") // Yellow
+ compare(screen.text, "Hello")
+ verify(!binding3.when)
+
+ screen.changeColor = true
+ compare(screen.color, "#ff0000") // Red
+
+ verify(binding1.target == screen)
+ compare(binding1.property, "text")
+ compare(binding1.value, "Hello")
+ }
+ }
+}
diff --git a/tests/auto/qmltest/qdeclarativebinding/tst_binding2.qml b/tests/auto/qmltest/qdeclarativebinding/tst_binding2.qml
new file mode 100644
index 0000000000..85e1951ba7
--- /dev/null
+++ b/tests/auto/qmltest/qdeclarativebinding/tst_binding2.qml
@@ -0,0 +1,70 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtTest 1.0
+
+Rectangle {
+ id: screen
+ width: 320; height: 240
+ property string text
+ property bool changeColor: false
+
+ Text { id: s1; text: "Hello" }
+ Rectangle { id: r1; width: 1; height: 1; color: "yellow" }
+ Rectangle { id: r2; width: 1; height: 1; color: "red" }
+
+ Binding { target: screen; property: "text"; value: s1.text }
+ Binding { target: screen; property: "color"; value: r1.color }
+ Binding { target: screen; property: "color"; value: r2.color; when: screen.changeColor == true }
+
+ TestCase {
+ name: "Binding2"
+
+ function test_binding2() {
+ compare(screen.color, "#ffff00") // Yellow
+ compare(screen.text, "Hello")
+
+ screen.changeColor = true
+ compare(screen.color, "#ff0000") // Red
+ }
+ }
+}
diff --git a/tests/auto/qmltest/qmltest.pro b/tests/auto/qmltest/qmltest.pro
new file mode 100644
index 0000000000..1b7dad2ace
--- /dev/null
+++ b/tests/auto/qmltest/qmltest.pro
@@ -0,0 +1,13 @@
+TEMPLATE=app
+TARGET=tst_qmltest
+CONFIG += warn_on qmltestcase
+SOURCES += tst_qmltest.cpp
+
+OTHER_FILES += \
+ selftests/tst_selftests.qml \
+ qdeclarativebinding/tst_binding2.qml \
+ qdeclarativebinding/tst_binding.qml \
+ selftests/tst_compare.qml \
+ selftests/tst_compare_quickobjects.qml
+
+CONFIG+=insignificant_test
diff --git a/tests/auto/qmltest/selftests/tst_compare.qml b/tests/auto/qmltest/selftests/tst_compare.qml
new file mode 100644
index 0000000000..b775b75143
--- /dev/null
+++ b/tests/auto/qmltest/selftests/tst_compare.qml
@@ -0,0 +1,1391 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtTest 1.0
+
+TestCase {
+ name: "SelfTests_compare"
+
+ function test_primitives_and_constants() {
+ compare(qtest_compareInternal(null, null), true, "null");
+ compare(qtest_compareInternal(null, {}), false, "null");
+ compare(qtest_compareInternal(null, undefined), false, "null");
+ compare(qtest_compareInternal(null, 0), false, "null");
+ compare(qtest_compareInternal(null, false), false, "null");
+ compare(qtest_compareInternal(null, ''), false, "null");
+ compare(qtest_compareInternal(null, []), false, "null");
+
+ compare(qtest_compareInternal(undefined, undefined), true, "undefined");
+ compare(qtest_compareInternal(undefined, null), false, "undefined");
+ compare(qtest_compareInternal(undefined, 0), false, "undefined");
+ compare(qtest_compareInternal(undefined, false), false, "undefined");
+ compare(qtest_compareInternal(undefined, {}), false, "undefined");
+ compare(qtest_compareInternal(undefined, []), false, "undefined");
+ compare(qtest_compareInternal(undefined, ""), false, "undefined");
+
+ // Nan usually doest not equal to Nan using the '==' operator.
+ // Only isNaN() is able to do it.
+ compare(qtest_compareInternal(0/0, 0/0), true, "NaN"); // NaN VS NaN
+ compare(qtest_compareInternal(1/0, 2/0), true, "Infinity"); // Infinity VS Infinity
+ compare(qtest_compareInternal(-1/0, 2/0), false, "-Infinity, Infinity"); // -Infinity VS Infinity
+ compare(qtest_compareInternal(-1/0, -2/0), true, "-Infinity, -Infinity"); // -Infinity VS -Infinity
+ compare(qtest_compareInternal(0/0, 1/0), false, "NaN, Infinity"); // Nan VS Infinity
+ compare(qtest_compareInternal(1/0, 0/0), false, "NaN, Infinity"); // Nan VS Infinity
+ compare(qtest_compareInternal(0/0, null), false, "NaN");
+ compare(qtest_compareInternal(0/0, undefined), false, "NaN");
+ compare(qtest_compareInternal(0/0, 0), false, "NaN");
+ compare(qtest_compareInternal(0/0, false), false, "NaN");
+ //compare(qtest_compareInternal(0/0, function () {}), false, "NaN"); // Do we really need that?
+ compare(qtest_compareInternal(1/0, null), false, "NaN, Infinity");
+ compare(qtest_compareInternal(1/0, undefined), false, "NaN, Infinity");
+ compare(qtest_compareInternal(1/0, 0), false, "NaN, Infinity");
+ compare(qtest_compareInternal(1/0, 1), false, "NaN, Infinity");
+ compare(qtest_compareInternal(1/0, false), false, "NaN, Infinity");
+ compare(qtest_compareInternal(1/0, true), false, "NaN, Infinity");
+ //compare(qtest_compareInternal(1/0, function () {}), false, "NaN"); // Do we really need that?
+
+ compare(qtest_compareInternal(0, 0), true, "number");
+ compare(qtest_compareInternal(0, 1), false, "number");
+ compare(qtest_compareInternal(1, 0), false, "number");
+ compare(qtest_compareInternal(1, 1), true, "number");
+ compare(qtest_compareInternal(1.1, 1.1), true, "number");
+ compare(qtest_compareInternal(0.0000005, 0.0000005), true, "number");
+ compare(qtest_compareInternal(0, ''), false, "number");
+ compare(qtest_compareInternal(0, '0'), false, "number");
+ compare(qtest_compareInternal(1, '1'), false, "number");
+ compare(qtest_compareInternal(0, false), false, "number");
+ compare(qtest_compareInternal(1, true), false, "number");
+
+ compare(qtest_compareInternal(true, true), true, "boolean");
+ compare(qtest_compareInternal(true, false), false, "boolean");
+ compare(qtest_compareInternal(false, true), false, "boolean");
+ compare(qtest_compareInternal(false, 0), false, "boolean");
+ compare(qtest_compareInternal(false, null), false, "boolean");
+ compare(qtest_compareInternal(false, undefined), false, "boolean");
+ compare(qtest_compareInternal(true, 1), false, "boolean");
+ compare(qtest_compareInternal(true, null), false, "boolean");
+ compare(qtest_compareInternal(true, undefined), false, "boolean");
+
+ compare(qtest_compareInternal('', ''), true, "string");
+ compare(qtest_compareInternal('a', 'a'), true, "string");
+ compare(qtest_compareInternal("foobar", "foobar"), true, "string");
+ compare(qtest_compareInternal("foobar", "foo"), false, "string");
+ compare(qtest_compareInternal('', 0), false, "string");
+ compare(qtest_compareInternal('', false), false, "string");
+ compare(qtest_compareInternal('', null), false, "string");
+ compare(qtest_compareInternal('', undefined), false, "string");
+
+ // Short annotation VS new annotation
+ compare(qtest_compareInternal(0, new Number()), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new Number(), 0), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(1, new Number(1)), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new Number(1), 1), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new Number(0), 1), false, "short annotation VS new annotation");
+ compare(qtest_compareInternal(0, new Number(1)), false, "short annotation VS new annotation");
+
+ compare(qtest_compareInternal(new String(), ""), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal("", new String()), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new String("My String"), "My String"), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal("My String", new String("My String")), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal("Bad String", new String("My String")), false, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new String("Bad String"), "My String"), false, "short annotation VS new annotation");
+
+ compare(qtest_compareInternal(false, new Boolean()), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new Boolean(), false), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(true, new Boolean(true)), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new Boolean(true), true), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(true, new Boolean(1)), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(false, new Boolean(false)), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new Boolean(false), false), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(false, new Boolean(0)), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(true, new Boolean(false)), false, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new Boolean(false), true), false, "short annotation VS new annotation");
+
+ compare(qtest_compareInternal(new Object(), {}), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal({}, new Object()), true, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new Object(), {a:1}), false, "short annotation VS new annotation");
+ compare(qtest_compareInternal({a:1}, new Object()), false, "short annotation VS new annotation");
+ compare(qtest_compareInternal({a:undefined}, new Object()), false, "short annotation VS new annotation");
+ compare(qtest_compareInternal(new Object(), {a:undefined}), false, "short annotation VS new annotation");
+ }
+
+ function test_objects_basics() {
+ compare(qtest_compareInternal({}, {}), true);
+ compare(qtest_compareInternal({}, null), false);
+ compare(qtest_compareInternal({}, undefined), false);
+ compare(qtest_compareInternal({}, 0), false);
+ compare(qtest_compareInternal({}, false), false);
+
+ // This test is a hard one, it is very important
+ // REASONS:
+ // 1) They are of the same type "object"
+ // 2) [] instanceof Object is true
+ // 3) Their properties are the same (doesn't exists)
+ compare(qtest_compareInternal({}, []), false);
+
+ compare(qtest_compareInternal({a:1}, {a:1}), true);
+ compare(qtest_compareInternal({a:1}, {a:"1"}), false);
+ compare(qtest_compareInternal({a:[]}, {a:[]}), true);
+ compare(qtest_compareInternal({a:{}}, {a:null}), false);
+ compare(qtest_compareInternal({a:1}, {}), false);
+ compare(qtest_compareInternal({}, {a:1}), false);
+
+ // Hard ones
+ compare(qtest_compareInternal({a:undefined}, {}), false);
+ compare(qtest_compareInternal({}, {a:undefined}), false);
+ compare(qtest_compareInternal(
+ {
+ a: [{ bar: undefined }]
+ },
+ {
+ a: [{ bat: undefined }]
+ }
+ ), false);
+ }
+
+ function test_arrays_basics() {
+ compare(qtest_compareInternal([], []), true);
+
+ // May be a hard one, can invoke a crash at execution.
+ // because their types are both "object" but null isn't
+ // like a true object, it doesn't have any property at all.
+ compare(qtest_compareInternal([], null), false);
+
+ compare(qtest_compareInternal([], undefined), false);
+ compare(qtest_compareInternal([], false), false);
+ compare(qtest_compareInternal([], 0), false);
+ compare(qtest_compareInternal([], ""), false);
+
+ // May be a hard one, but less hard
+ // than {} with [] (note the order)
+ compare(qtest_compareInternal([], {}), false);
+
+ compare(qtest_compareInternal([null],[]), false);
+ compare(qtest_compareInternal([undefined],[]), false);
+ compare(qtest_compareInternal([],[null]), false);
+ compare(qtest_compareInternal([],[undefined]), false);
+ compare(qtest_compareInternal([null],[undefined]), false);
+ compare(qtest_compareInternal([[]],[[]]), true);
+ compare(qtest_compareInternal([[],[],[]],[[],[],[]]), true);
+ compare(qtest_compareInternal(
+ [[],[],[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],
+ [[],[],[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]),
+ true);
+ compare(qtest_compareInternal(
+ [[],[],[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],
+ [[],[],[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]), // shorter
+ false);
+ compare(qtest_compareInternal(
+ [[],[],[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[{}]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]],
+ [[],[],[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]), // deepest element not an array
+ false);
+
+ // same multidimensional
+ compare(qtest_compareInternal(
+ [1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,[
+ [6,7,8,9, [
+ [
+ 1,2,3,4,[
+ 2,3,4,[
+ 1,2,[
+ 1,2,3,4,[
+ 1,2,3,4,5,6,7,8,9,[
+ 0
+ ],1,2,3,4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],5,6,7
+ ]
+ ]
+ ]
+ ]
+ ]]],
+ [1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,[
+ [6,7,8,9, [
+ [
+ 1,2,3,4,[
+ 2,3,4,[
+ 1,2,[
+ 1,2,3,4,[
+ 1,2,3,4,5,6,7,8,9,[
+ 0
+ ],1,2,3,4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],5,6,7
+ ]
+ ]
+ ]
+ ]
+ ]]]),
+ true, "Multidimensional");
+
+ // different multidimensional
+ compare(qtest_compareInternal(
+ [1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,[
+ [6,7,8,9, [
+ [
+ 1,2,3,4,[
+ 2,3,4,[
+ 1,2,[
+ 1,2,3,4,[
+ 1,2,3,4,5,6,7,8,9,[
+ 0
+ ],1,2,3,4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],5,6,7
+ ]
+ ]
+ ]
+ ]
+ ]]],
+ [1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,[
+ [6,7,8,9, [
+ [
+ 1,2,3,4,[
+ 2,3,4,[
+ 1,2,[
+ '1',2,3,4,[ // string instead of number
+ 1,2,3,4,5,6,7,8,9,[
+ 0
+ ],1,2,3,4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],5,6,7
+ ]
+ ]
+ ]
+ ]
+ ]]]),
+ false, "Multidimensional");
+
+ // different multidimensional
+ compare(qtest_compareInternal(
+ [1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,[
+ [6,7,8,9, [
+ [
+ 1,2,3,4,[
+ 2,3,4,[
+ 1,2,[
+ 1,2,3,4,[
+ 1,2,3,4,5,6,7,8,9,[
+ 0
+ ],1,2,3,4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],5,6,7
+ ]
+ ]
+ ]
+ ]
+ ]]],
+ [1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,6,7,8,9, [
+ 1,2,3,4,5,[
+ [6,7,8,9, [
+ [
+ 1,2,3,4,[
+ 2,3,[ // missing an element (4)
+ 1,2,[
+ 1,2,3,4,[
+ 1,2,3,4,5,6,7,8,9,[
+ 0
+ ],1,2,3,4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],4,5,6,7,8,9
+ ],5,6,7,8,9
+ ],5,6,7
+ ]
+ ]
+ ]
+ ]
+ ]]]),
+ false, "Multidimensional");
+ }
+
+ function test_date_instances() {
+ // Date, we don't need to test Date.parse() because it returns a number.
+ // Only test the Date instances by setting them a fix date.
+ // The date use is midnight January 1, 1970
+
+ var d1 = new Date();
+ d1.setTime(0); // fix the date
+
+ var d2 = new Date();
+ d2.setTime(0); // fix the date
+
+ var d3 = new Date(); // The very now
+
+ // Anyway their types differs, just in case the code fails in the order in which it deals with date
+ compare(qtest_compareInternal(d1, 0), false); // d1.valueOf() returns 0, but d1 and 0 are different
+ // test same values date and different instances equality
+ compare(qtest_compareInternal(d1, d2), true);
+ // test different date and different instances difference
+ compare(qtest_compareInternal(d1, d3), false);
+
+ // try to fool equiv by adding a valueOf function to an object
+ // that would return the same value of a real date instance.
+ var d4 = new Date();
+ d4.setFullYear(2010);
+ d4.setMonth(1);
+ d4.setDate(1);
+ d4.setHours(1);
+ d4.setMinutes(1);
+ d4.setSeconds(1);
+ d4.setMilliseconds(1);
+ var o4 = {
+ valueOf: function () {
+ return d4.valueOf();
+ }
+ }
+ compare(qtest_compareInternal(d4, o4), false); // o4 isn't an instance of Date
+ }
+
+
+ function test_regexp() {
+ // Must test cases that imply those traps:
+ // var a = /./;
+ // a instanceof Object; // Oops
+ // a instanceof RegExp; // Oops
+ // typeof a === "function"; // Oops, false in IE and Opera, true in FF and Safari ("object")
+
+ // Tests same regex with same modifiers in different order
+ var r = /foo/;
+ var r5 = /foo/gim;
+ var r6 = /foo/gmi;
+ var r7 = /foo/igm;
+ var r8 = /foo/img;
+ var r9 = /foo/mig;
+ var r10 = /foo/mgi;
+ var ri1 = /foo/i;
+ var ri2 = /foo/i;
+ var rm1 = /foo/m;
+ var rm2 = /foo/m;
+ var rg1 = /foo/g;
+ var rg2 = /foo/g;
+
+ compare(qtest_compareInternal(r5, r6), true, "Modifier order");
+ compare(qtest_compareInternal(r5, r7), true, "Modifier order");
+ compare(qtest_compareInternal(r5, r8), true, "Modifier order");
+ compare(qtest_compareInternal(r5, r9), true, "Modifier order");
+ compare(qtest_compareInternal(r5, r10), true, "Modifier order");
+ compare(qtest_compareInternal(r, r5), false, "Modifier");
+
+ compare(qtest_compareInternal(ri1, ri2), true, "Modifier");
+ compare(qtest_compareInternal(r, ri1), false, "Modifier");
+ compare(qtest_compareInternal(ri1, rm1), false, "Modifier");
+ compare(qtest_compareInternal(r, rm1), false, "Modifier");
+ compare(qtest_compareInternal(rm1, ri1), false, "Modifier");
+ compare(qtest_compareInternal(rm1, rm2), true, "Modifier");
+ compare(qtest_compareInternal(rg1, rm1), false, "Modifier");
+ compare(qtest_compareInternal(rm1, rg1), false, "Modifier");
+ compare(qtest_compareInternal(rg1, rg2), true, "Modifier");
+
+ // Different regex, same modifiers
+ var r11 = /[a-z]/gi;
+ var r13 = /[0-9]/gi; // oops! different
+ compare(qtest_compareInternal(r11, r13), false, "Regex pattern");
+
+ var r14 = /0/ig;
+ var r15 = /"0"/ig; // oops! different
+ compare(qtest_compareInternal(r14, r15), false, "Regex pattern");
+
+ var r1 = /[\n\r\u2028\u2029]/g;
+ var r2 = /[\n\r\u2028\u2029]/g;
+ var r3 = /[\n\r\u2028\u2028]/g; // differs from r1
+ var r4 = /[\n\r\u2028\u2029]/; // differs from r1
+
+ compare(qtest_compareInternal(r1, r2), true, "Regex pattern");
+ compare(qtest_compareInternal(r1, r3), false, "Regex pattern");
+ compare(qtest_compareInternal(r1, r4), false, "Regex pattern");
+
+ // More complex regex
+ var regex1 = "^[-_.a-z0-9]+@([-_a-z0-9]+\\.)+([A-Za-z][A-Za-z]|[A-Za-z][A-Za-z][A-Za-z])|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$";
+ var regex2 = "^[-_.a-z0-9]+@([-_a-z0-9]+\\.)+([A-Za-z][A-Za-z]|[A-Za-z][A-Za-z][A-Za-z])|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$";
+ // regex 3 is different: '.' not escaped
+ var regex3 = "^[-_.a-z0-9]+@([-_a-z0-9]+.)+([A-Za-z][A-Za-z]|[A-Za-z][A-Za-z][A-Za-z])|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$";
+
+ var r21 = new RegExp(regex1);
+ var r22 = new RegExp(regex2);
+ var r23 = new RegExp(regex3); // diff from r21, not same pattern
+ var r23a = new RegExp(regex3, "gi"); // diff from r23, not same modifier
+ var r24a = new RegExp(regex3, "ig"); // same as r23a
+
+ compare(qtest_compareInternal(r21, r22), true, "Complex Regex");
+ compare(qtest_compareInternal(r21, r23), false, "Complex Regex");
+ compare(qtest_compareInternal(r23, r23a), false, "Complex Regex");
+ compare(qtest_compareInternal(r23a, r24a), true, "Complex Regex");
+
+ // typeof r1 is "function" in some browsers and "object" in others so we must cover this test
+ var re = / /;
+ compare(qtest_compareInternal(re, function () {}), false, "Regex internal");
+ compare(qtest_compareInternal(re, {}), false, "Regex internal");
+ }
+
+
+ function test_complex_objects() {
+
+ function fn1() {
+ return "fn1";
+ }
+ function fn2() {
+ return "fn2";
+ }
+
+ // Try to invert the order of some properties to make sure it is covered.
+ // It can failed when properties are compared between unsorted arrays.
+ compare(qtest_compareInternal(
+ {
+ a: 1,
+ b: null,
+ c: [{}],
+ d: {
+ a: 3.14159,
+ b: false,
+ c: {
+ e: fn1,
+ f: [[[]]],
+ g: {
+ j: {
+ k: {
+ n: {
+ r: "r",
+ s: [1,2,3],
+ t: undefined,
+ u: 0,
+ v: {
+ w: {
+ x: {
+ y: "Yahoo!",
+ z: null
+ }
+ }
+ }
+ },
+ q: [],
+ p: 1/0,
+ o: 99
+ },
+ l: undefined,
+ m: null
+ }
+ },
+ d: 0,
+ i: true,
+ h: "false"
+ }
+ },
+ e: undefined,
+ g: "",
+ h: "h",
+ f: {},
+ i: []
+ },
+ {
+ a: 1,
+ b: null,
+ c: [{}],
+ d: {
+ b: false,
+ a: 3.14159,
+ c: {
+ d: 0,
+ e: fn1,
+ f: [[[]]],
+ g: {
+ j: {
+ k: {
+ n: {
+ r: "r",
+ t: undefined,
+ u: 0,
+ s: [1,2,3],
+ v: {
+ w: {
+ x: {
+ z: null,
+ y: "Yahoo!"
+ }
+ }
+ }
+ },
+ o: 99,
+ p: 1/0,
+ q: []
+ },
+ l: undefined,
+ m: null
+ }
+ },
+ i: true,
+ h: "false"
+ }
+ },
+ e: undefined,
+ g: "",
+ f: {},
+ h: "h",
+ i: []
+ }
+ ), true);
+
+ compare(qtest_compareInternal(
+ {
+ a: 1,
+ b: null,
+ c: [{}],
+ d: {
+ a: 3.14159,
+ b: false,
+ c: {
+ d: 0,
+ e: fn1,
+ f: [[[]]],
+ g: {
+ j: {
+ k: {
+ n: {
+ //r: "r", // different: missing a property
+ s: [1,2,3],
+ t: undefined,
+ u: 0,
+ v: {
+ w: {
+ x: {
+ y: "Yahoo!",
+ z: null
+ }
+ }
+ }
+ },
+ o: 99,
+ p: 1/0,
+ q: []
+ },
+ l: undefined,
+ m: null
+ }
+ },
+ h: "false",
+ i: true
+ }
+ },
+ e: undefined,
+ f: {},
+ g: "",
+ h: "h",
+ i: []
+ },
+ {
+ a: 1,
+ b: null,
+ c: [{}],
+ d: {
+ a: 3.14159,
+ b: false,
+ c: {
+ d: 0,
+ e: fn1,
+ f: [[[]]],
+ g: {
+ j: {
+ k: {
+ n: {
+ r: "r",
+ s: [1,2,3],
+ t: undefined,
+ u: 0,
+ v: {
+ w: {
+ x: {
+ y: "Yahoo!",
+ z: null
+ }
+ }
+ }
+ },
+ o: 99,
+ p: 1/0,
+ q: []
+ },
+ l: undefined,
+ m: null
+ }
+ },
+ h: "false",
+ i: true
+ }
+ },
+ e: undefined,
+ f: {},
+ g: "",
+ h: "h",
+ i: []
+ }
+ ), false);
+
+ compare(qtest_compareInternal(
+ {
+ a: 1,
+ b: null,
+ c: [{}],
+ d: {
+ a: 3.14159,
+ b: false,
+ c: {
+ d: 0,
+ e: fn1,
+ f: [[[]]],
+ g: {
+ j: {
+ k: {
+ n: {
+ r: "r",
+ s: [1,2,3],
+ t: undefined,
+ u: 0,
+ v: {
+ w: {
+ x: {
+ y: "Yahoo!",
+ z: null
+ }
+ }
+ }
+ },
+ o: 99,
+ p: 1/0,
+ q: []
+ },
+ l: undefined,
+ m: null
+ }
+ },
+ h: "false",
+ i: true
+ }
+ },
+ e: undefined,
+ f: {},
+ g: "",
+ h: "h",
+ i: []
+ },
+ {
+ a: 1,
+ b: null,
+ c: [{}],
+ d: {
+ a: 3.14159,
+ b: false,
+ c: {
+ d: 0,
+ e: fn1,
+ f: [[[]]],
+ g: {
+ j: {
+ k: {
+ n: {
+ r: "r",
+ s: [1,2,3],
+ //t: undefined, // different: missing a property with an undefined value
+ u: 0,
+ v: {
+ w: {
+ x: {
+ y: "Yahoo!",
+ z: null
+ }
+ }
+ }
+ },
+ o: 99,
+ p: 1/0,
+ q: []
+ },
+ l: undefined,
+ m: null
+ }
+ },
+ h: "false",
+ i: true
+ }
+ },
+ e: undefined,
+ f: {},
+ g: "",
+ h: "h",
+ i: []
+ }
+ ), false);
+
+ compare(qtest_compareInternal(
+ {
+ a: 1,
+ b: null,
+ c: [{}],
+ d: {
+ a: 3.14159,
+ b: false,
+ c: {
+ d: 0,
+ e: fn1,
+ f: [[[]]],
+ g: {
+ j: {
+ k: {
+ n: {
+ r: "r",
+ s: [1,2,3],
+ t: undefined,
+ u: 0,
+ v: {
+ w: {
+ x: {
+ y: "Yahoo!",
+ z: null
+ }
+ }
+ }
+ },
+ o: 99,
+ p: 1/0,
+ q: []
+ },
+ l: undefined,
+ m: null
+ }
+ },
+ h: "false",
+ i: true
+ }
+ },
+ e: undefined,
+ f: {},
+ g: "",
+ h: "h",
+ i: []
+ },
+ {
+ a: 1,
+ b: null,
+ c: [{}],
+ d: {
+ a: 3.14159,
+ b: false,
+ c: {
+ d: 0,
+ e: fn1,
+ f: [[[]]],
+ g: {
+ j: {
+ k: {
+ n: {
+ r: "r",
+ s: [1,2,3],
+ t: undefined,
+ u: 0,
+ v: {
+ w: {
+ x: {
+ y: "Yahoo!",
+ z: null
+ }
+ }
+ }
+ },
+ o: 99,
+ p: 1/0,
+ q: {} // different was []
+ },
+ l: undefined,
+ m: null
+ }
+ },
+ h: "false",
+ i: true
+ }
+ },
+ e: undefined,
+ f: {},
+ g: "",
+ h: "h",
+ i: []
+ }
+ ), false);
+
+ var same1 = {
+ a: [
+ "string", null, 0, "1", 1, {
+ prop: null,
+ foo: [1,2,null,{}, [], [1,2,3]],
+ bar: undefined
+ }, 3, "Hey!", "Κάνε πάντα γνωρίζουμε ας των, μηχανής επιδιόρθωσης επιδιορθώσεις ώς μια. Κλπ ας"
+ ],
+ unicode: "老 汉语中存在 港澳和海外的华人圈中 贵州 我去了书店 现在尚有争",
+ b: "b",
+ c: fn1
+ };
+
+ var same2 = {
+ a: [
+ "string", null, 0, "1", 1, {
+ prop: null,
+ foo: [1,2,null,{}, [], [1,2,3]],
+ bar: undefined
+ }, 3, "Hey!", "Κάνε πάντα γνωρίζουμε ας των, μηχανής επιδιόρθωσης επιδιορθώσεις ώς μια. Κλπ ας"
+ ],
+ unicode: "老 汉语中存在 港澳和海外的华人圈中 贵州 我去了书店 现在尚有争",
+ b: "b",
+ c: fn1
+ };
+
+ var diff1 = {
+ a: [
+ "string", null, 0, "1", 1, {
+ prop: null,
+ foo: [1,2,null,{}, [], [1,2,3,4]], // different: 4 was add to the array
+ bar: undefined
+ }, 3, "Hey!", "Κάνε πάντα γνωρίζουμε ας των, μηχανής επιδιόρθωσης επιδιορθώσεις ώς μια. Κλπ ας"
+ ],
+ unicode: "老 汉语中存在 港澳和海外的华人圈中 贵州 我去了书店 现在尚有争",
+ b: "b",
+ c: fn1
+ };
+
+ var diff2 = {
+ a: [
+ "string", null, 0, "1", 1, {
+ prop: null,
+ foo: [1,2,null,{}, [], [1,2,3]],
+ newprop: undefined, // different: newprop was added
+ bar: undefined
+ }, 3, "Hey!", "Κάνε πάντα γνωρίζουμε ας των, μηχανής επιδιόρθωσης επιδιορθώσεις ώς μια. Κλπ ας"
+ ],
+ unicode: "老 汉语中存在 港澳和海外的华人圈中 贵州 我去了书店 现在尚有争",
+ b: "b",
+ c: fn1
+ };
+
+ var diff3 = {
+ a: [
+ "string", null, 0, "1", 1, {
+ prop: null,
+ foo: [1,2,null,{}, [], [1,2,3]],
+ bar: undefined
+ }, 3, "Hey!", "Κάνε πάντα γνωρίζουμε ας των, μηχανής επιδιόρθωσης επιδιορθώσεις ώς μια. Κλπ α" // different: missing last char
+ ],
+ unicode: "老 汉语中存在 港澳和海外的华人圈中 贵州 我去了书店 现在尚有争",
+ b: "b",
+ c: fn1
+ };
+
+ var diff4 = {
+ a: [
+ "string", null, 0, "1", 1, {
+ prop: null,
+ foo: [1,2,undefined,{}, [], [1,2,3]], // different: undefined instead of null
+ bar: undefined
+ }, 3, "Hey!", "Κάνε πάντα γνωρίζουμε ας των, μηχανής επιδιόρθωσης επιδιορθώσεις ώς μια. Κλπ ας"
+ ],
+ unicode: "老 汉语中存在 港澳和海外的华人圈中 贵州 我去了书店 现在尚有争",
+ b: "b",
+ c: fn1
+ };
+
+ var diff5 = {
+ a: [
+ "string", null, 0, "1", 1, {
+ prop: null,
+ foo: [1,2,null,{}, [], [1,2,3]],
+ bat: undefined // different: property name not "bar"
+ }, 3, "Hey!", "Κάνε πάντα γνωρίζουμε ας των, μηχανής επιδιόρθωσης επιδιορθώσεις ώς μια. Κλπ ας"
+ ],
+ unicode: "老 汉语中存在 港澳和海外的华人圈中 贵州 我去了书店 现在尚有争",
+ b: "b",
+ c: fn1
+ };
+
+ compare(qtest_compareInternal(same1, same2), true);
+ compare(qtest_compareInternal(same2, same1), true);
+ compare(qtest_compareInternal(same2, diff1), false);
+ compare(qtest_compareInternal(diff1, same2), false);
+
+ compare(qtest_compareInternal(same1, diff1), false);
+ compare(qtest_compareInternal(same1, diff2), false);
+ compare(qtest_compareInternal(same1, diff3), false);
+ compare(qtest_compareInternal(same1, diff3), false);
+ compare(qtest_compareInternal(same1, diff4), false);
+ compare(qtest_compareInternal(same1, diff5), false);
+ compare(qtest_compareInternal(diff5, diff1), false);
+ }
+
+
+ function test_complex_arrays() {
+
+ function fn() {
+ }
+
+ compare(qtest_compareInternal(
+ [1, 2, 3, true, {}, null, [
+ {
+ a: ["", '1', 0]
+ },
+ 5, 6, 7
+ ], "foo"],
+ [1, 2, 3, true, {}, null, [
+ {
+ a: ["", '1', 0]
+ },
+ 5, 6, 7
+ ], "foo"]),
+ true);
+
+ compare(qtest_compareInternal(
+ [1, 2, 3, true, {}, null, [
+ {
+ a: ["", '1', 0]
+ },
+ 5, 6, 7
+ ], "foo"],
+ [1, 2, 3, true, {}, null, [
+ {
+ b: ["", '1', 0] // not same property name
+ },
+ 5, 6, 7
+ ], "foo"]),
+ false);
+
+ var a = [{
+ b: fn,
+ c: false,
+ "do": "reserved word",
+ "for": {
+ ar: [3,5,9,"hey!", [], {
+ ar: [1,[
+ 3,4,6,9, null, [], []
+ ]],
+ e: fn,
+ f: undefined
+ }]
+ },
+ e: 0.43445
+ }, 5, "string", 0, fn, false, null, undefined, 0, [
+ 4,5,6,7,8,9,11,22,33,44,55,"66", null, [], [[[[[3]]]], "3"], {}, 1/0
+ ], [], [[[], "foo", null, {
+ n: 1/0,
+ z: {
+ a: [3,4,5,6,"yep!", undefined, undefined],
+ b: {}
+ }
+ }, {}]]];
+
+ compare(qtest_compareInternal(a,
+ [{
+ b: fn,
+ c: false,
+ "do": "reserved word",
+ "for": {
+ ar: [3,5,9,"hey!", [], {
+ ar: [1,[
+ 3,4,6,9, null, [], []
+ ]],
+ e: fn,
+ f: undefined
+ }]
+ },
+ e: 0.43445
+ }, 5, "string", 0, fn, false, null, undefined, 0, [
+ 4,5,6,7,8,9,11,22,33,44,55,"66", null, [], [[[[[3]]]], "3"], {}, 1/0
+ ], [], [[[], "foo", null, {
+ n: 1/0,
+ z: {
+ a: [3,4,5,6,"yep!", undefined, undefined],
+ b: {}
+ }
+ }, {}]]]), true);
+
+ compare(qtest_compareInternal(a,
+ [{
+ b: fn,
+ c: false,
+ "do": "reserved word",
+ "for": {
+ ar: [3,5,9,"hey!", [], {
+ ar: [1,[
+ 3,4,6,9, null, [], []
+ ]],
+ e: fn,
+ f: undefined
+ }]
+ },
+ e: 0.43445
+ }, 5, "string", 0, fn, false, null, undefined, 0, [
+ 4,5,6,7,8,9,11,22,33,44,55,"66", null, [], [[[[[2]]]], "3"], {}, 1/0 // different: [[[[[2]]]]] instead of [[[[[3]]]]]
+ ], [], [[[], "foo", null, {
+ n: 1/0,
+ z: {
+ a: [3,4,5,6,"yep!", undefined, undefined],
+ b: {}
+ }
+ }, {}]]]), false);
+
+ compare(qtest_compareInternal(a,
+ [{
+ b: fn,
+ c: false,
+ "do": "reserved word",
+ "for": {
+ ar: [3,5,9,"hey!", [], {
+ ar: [1,[
+ 3,4,6,9, null, [], []
+ ]],
+ e: fn,
+ f: undefined
+ }]
+ },
+ e: 0.43445
+ }, 5, "string", 0, fn, false, null, undefined, 0, [
+ 4,5,6,7,8,9,11,22,33,44,55,"66", null, [], [[[[[3]]]], "3"], {}, 1/0
+ ], [], [[[], "foo", null, {
+ n: -1/0, // different, -Infinity instead of Infinity
+ z: {
+ a: [3,4,5,6,"yep!", undefined, undefined],
+ b: {}
+ }
+ }, {}]]]), false);
+
+ compare(qtest_compareInternal(a,
+ [{
+ b: fn,
+ c: false,
+ "do": "reserved word",
+ "for": {
+ ar: [3,5,9,"hey!", [], {
+ ar: [1,[
+ 3,4,6,9, null, [], []
+ ]],
+ e: fn,
+ f: undefined
+ }]
+ },
+ e: 0.43445
+ }, 5, "string", 0, fn, false, null, undefined, 0, [
+ 4,5,6,7,8,9,11,22,33,44,55,"66", null, [], [[[[[3]]]], "3"], {}, 1/0
+ ], [], [[[], "foo", { // different: null is missing
+ n: 1/0,
+ z: {
+ a: [3,4,5,6,"yep!", undefined, undefined],
+ b: {}
+ }
+ }, {}]]]), false);
+
+ compare(qtest_compareInternal(a,
+ [{
+ b: fn,
+ c: false,
+ "do": "reserved word",
+ "for": {
+ ar: [3,5,9,"hey!", [], {
+ ar: [1,[
+ 3,4,6,9, null, [], []
+ ]],
+ e: fn
+ // different: missing property f: undefined
+ }]
+ },
+ e: 0.43445
+ }, 5, "string", 0, fn, false, null, undefined, 0, [
+ 4,5,6,7,8,9,11,22,33,44,55,"66", null, [], [[[[[3]]]], "3"], {}, 1/0
+ ], [], [[[], "foo", null, {
+ n: 1/0,
+ z: {
+ a: [3,4,5,6,"yep!", undefined, undefined],
+ b: {}
+ }
+ }, {}]]]), false);
+ }
+
+
+ function test_prototypal_inheritance() {
+ function Gizmo(id) {
+ this.id = id;
+ }
+
+ function Hoozit(id) {
+ this.id = id;
+ }
+ Hoozit.prototype = new Gizmo();
+
+ var gizmo = new Gizmo("ok");
+ var hoozit = new Hoozit("ok");
+
+ // Try this test many times after test on instances that hold function
+ // to make sure that our code does not mess with last object constructor memoization.
+ compare(qtest_compareInternal(function () {}, function () {}), false);
+
+ // Hoozit inherit from Gizmo
+ // hoozit instanceof Hoozit; // true
+ // hoozit instanceof Gizmo; // true
+ compare(qtest_compareInternal(hoozit, gizmo), true);
+
+ Gizmo.prototype.bar = true; // not a function just in case we skip them
+
+ // Hoozit inherit from Gizmo
+ // They are equivalent
+ compare(qtest_compareInternal(hoozit, gizmo), true);
+
+ // Make sure this is still true !important
+ // The reason for this is that I forgot to reset the last
+ // caller to where it were called from.
+ compare(qtest_compareInternal(function () {}, function () {}), false);
+
+ // Make sure this is still true !important
+ compare(qtest_compareInternal(hoozit, gizmo), true);
+
+ Hoozit.prototype.foo = true; // not a function just in case we skip them
+
+ // Gizmo does not inherit from Hoozit
+ // gizmo instanceof Gizmo; // true
+ // gizmo instanceof Hoozit; // false
+ // They are not equivalent
+ compare(qtest_compareInternal(hoozit, gizmo), false);
+
+ // Make sure this is still true !important
+ compare(qtest_compareInternal(function () {}, function () {}), false);
+ }
+
+
+ function test_instances() {
+ function A() {}
+ var a1 = new A();
+ var a2 = new A();
+
+ function B() {
+ this.fn = function () {};
+ }
+ var b1 = new B();
+ var b2 = new B();
+
+ compare(qtest_compareInternal(a1, a2), true, "Same property, same constructor");
+
+ // b1.fn and b2.fn are functions but they are different references
+ // But we decided to skip function for instances.
+ expectFail("", "Don't know if we want to take over function checking like in QUnit")
+ compare(qtest_compareInternal(b1, b2), true, "Same property, same constructor");
+ compare(qtest_compareInternal(a1, b1), false, "Same properties but different constructor"); // failed
+
+ function Car(year) {
+ var privateVar = 0;
+ this.year = year;
+ this.isOld = function() {
+ return year > 10;
+ };
+ }
+
+ function Human(year) {
+ var privateVar = 1;
+ this.year = year;
+ this.isOld = function() {
+ return year > 80;
+ };
+ }
+
+ var car = new Car(30);
+ var carSame = new Car(30);
+ var carDiff = new Car(10);
+ var human = new Human(30);
+
+ var diff = {
+ year: 30
+ };
+
+ var same = {
+ year: 30,
+ isOld: function () {}
+ };
+
+ compare(qtest_compareInternal(car, car), true);
+ compare(qtest_compareInternal(car, carDiff), false);
+ compare(qtest_compareInternal(car, carSame), true);
+ compare(qtest_compareInternal(car, human), false);
+ }
+
+
+ function test_complex_instances_nesting() {
+ //"Complex Instances Nesting (with function value in literals and/or in nested instances)"
+ function A(fn) {
+ this.a = {};
+ this.fn = fn;
+ this.b = {a: []};
+ this.o = {};
+ this.fn1 = fn;
+ }
+ function B(fn) {
+ this.fn = fn;
+ this.fn1 = function () {};
+ this.a = new A(function () {});
+ }
+
+ function fnOutside() {
+ }
+
+ function C(fn) {
+ function fnInside() {
+ }
+ this.x = 10;
+ this.fn = fn;
+ this.fn1 = function () {};
+ this.fn2 = fnInside;
+ this.fn3 = {
+ a: true,
+ b: fnOutside // ok make reference to a function in all instances scope
+ };
+ this.o1 = {};
+
+ // This function will be ignored.
+ // Even if it is not visible for all instances (e.g. locked in a closures),
+ // it is from a property that makes part of an instance (e.g. from the C constructor)
+ this.b1 = new B(function () {});
+ this.b2 = new B({
+ x: {
+ b2: new B(function() {})
+ }
+ });
+ }
+
+ function D(fn) {
+ function fnInside() {
+ }
+ this.x = 10;
+ this.fn = fn;
+ this.fn1 = function () {};
+ this.fn2 = fnInside;
+ this.fn3 = {
+ a: true,
+ b: fnOutside, // ok make reference to a function in all instances scope
+
+ // This function won't be ingored.
+ // It isn't visible for all C insances
+ // and it is not in a property of an instance. (in an Object instances e.g. the object literal)
+ c: fnInside
+ };
+ this.o1 = {};
+
+ // This function will be ignored.
+ // Even if it is not visible for all instances (e.g. locked in a closures),
+ // it is from a property that makes part of an instance (e.g. from the C constructor)
+ this.b1 = new B(function () {});
+ this.b2 = new B({
+ x: {
+ b2: new B(function() {})
+ }
+ });
+ }
+
+ function E(fn) {
+ function fnInside() {
+ }
+ this.x = 10;
+ this.fn = fn;
+ this.fn1 = function () {};
+ this.fn2 = fnInside;
+ this.fn3 = {
+ a: true,
+ b: fnOutside // ok make reference to a function in all instances scope
+ };
+ this.o1 = {};
+
+ // This function will be ignored.
+ // Even if it is not visible for all instances (e.g. locked in a closures),
+ // it is from a property that makes part of an instance (e.g. from the C constructor)
+ this.b1 = new B(function () {});
+ this.b2 = new B({
+ x: {
+ b1: new B({a: function() {}}),
+ b2: new B(function() {})
+ }
+ });
+ }
+
+
+ var a1 = new A(function () {});
+ var a2 = new A(function () {});
+ expectFail("", "Don't know if we want to take over function checking like in QUnit")
+ compare(qtest_compareInternal(a1, a2), true);
+
+ compare(qtest_compareInternal(a1, a2), true); // different instances
+
+ var b1 = new B(function () {});
+ var b2 = new B(function () {});
+ compare(qtest_compareInternal(a1, a2), true);
+
+ var c1 = new C(function () {});
+ var c2 = new C(function () {});
+ compare(qtest_compareInternal(c1, c2), true);
+
+ var d1 = new D(function () {});
+ var d2 = new D(function () {});
+ compare(qtest_compareInternal(d1, d2), false);
+
+ var e1 = new E(function () {});
+ var e2 = new E(function () {});
+ compare(qtest_compareInternal(e1, e2), false);
+
+ }
+}
diff --git a/tests/auto/qmltest/selftests/tst_compare_quickobjects.qml b/tests/auto/qmltest/selftests/tst_compare_quickobjects.qml
new file mode 100644
index 0000000000..7a8dc74347
--- /dev/null
+++ b/tests/auto/qmltest/selftests/tst_compare_quickobjects.qml
@@ -0,0 +1,81 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtTest 1.0
+
+TestCase {
+ name: "SelfTests_compare_QuickObjects"
+ id: testParent
+
+ Rectangle {
+ id: item1
+ color: "#000000"
+ }
+ Rectangle {
+ id: item2
+ color: "#000000"
+ }
+ Rectangle {
+ id: item3
+ color: "#ffffff"
+ }
+
+ Component {
+ id: item4
+
+ Rectangle {
+ color: "#ffffff"
+ }
+ }
+
+ function test_quickobjects() {
+ compare(qtest_compareInternal(item1, item1), true, "Identical QtQuick instances");
+ compare(qtest_compareInternal(item1, item3), false, "QtQuick instances with different properties");
+
+ expectFail("", "Unsure if we want this.");
+ compare(qtest_compareInternal(item1, item2), true, "QtQuick instances with same properties");
+
+ expectFail("", "Unsure if we want this.");
+ compare(qtest_compareInternal(item4.createObject(testParent),
+ item4.createObject(testParent)), true, "QtQuick dynamic instances");
+ }
+}
diff --git a/tests/auto/qmltest/selftests/tst_selftests.qml b/tests/auto/qmltest/selftests/tst_selftests.qml
new file mode 100644
index 0000000000..16a539e895
--- /dev/null
+++ b/tests/auto/qmltest/selftests/tst_selftests.qml
@@ -0,0 +1,307 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+import QtTest 1.0
+
+TestCase {
+ name: "SelfTests"
+
+ // Replace the TestResult functions in "testCase" with hooks
+ // that record the events but don't send them to QTestLib.
+ QtObject {
+ id: functions
+ property string failmsg: "cleaned"
+ property string actual: ""
+ property string expected: ""
+ property variant functionsToRun: []
+
+ function fail(msg, file, line) {
+ failmsg = msg
+ }
+
+ function verify(cond, msg, file, line) {
+ if (cond) {
+ failmsg = "verify-ok"
+ return true
+ } else {
+ failmsg = msg
+ return false
+ }
+ }
+
+ function compare(success, msg, act, exp, file, line) {
+ if (success) {
+ failmsg = "compare-ok"
+ actual = ""
+ expected = ""
+ return true
+ } else {
+ failmsg = msg
+ actual = act
+ expected = exp
+ return false
+ }
+ }
+
+ function skipSingle(msg, file, line) {
+ failmsg = "skipSingle:" + msg
+ }
+
+ function skipAll(msg, file, line) {
+ failmsg = "skipAll:" + msg
+ }
+ }
+
+ TestCase {
+ id: testCase
+ when: false
+ optional: true
+ qtest_results: functions
+ }
+
+ function init() {
+ compare(functions.failmsg, "cleaned") // Checks for previous cleanup()
+ functions.failmsg = "invalid"
+ }
+
+ function cleanup() {
+ functions.failmsg = "cleaned"
+ }
+
+ function test_fail() {
+ compare(functions.failmsg, "invalid") // Checks that init() was run
+
+ var caught = false
+ try {
+ testCase.fail("foo")
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "foo")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false
+ try {
+ testCase.fail()
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false
+ try {
+ testCase.fail(false)
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "false")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false
+ try {
+ testCase.fail(3)
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "3")
+ caught = true
+ }
+ verify(caught)
+ }
+
+ function test_verify() {
+ compare(functions.failmsg, "invalid") // Checks that init() was run
+
+ try {
+ testCase.verify(true)
+ } catch (e) {
+ fail("verify(true) did not succeed")
+ }
+ compare(functions.failmsg, "verify-ok")
+
+ var caught = false;
+ try {
+ testCase.verify(false, "foo")
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "foo")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false;
+ try {
+ testCase.verify(false)
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "")
+ caught = true
+ }
+ verify(caught)
+ }
+
+ function test_compare() {
+ compare(functions.failmsg, "invalid") // Checks that init() was run
+
+ try {
+ testCase.compare(23, 23)
+ } catch (e) {
+ fail("compare(23, 23) did not succeed")
+ }
+ compare(functions.failmsg, "compare-ok")
+
+ var caught = false;
+ try {
+ testCase.compare(23, 42, "foo")
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "foo")
+ compare(functions.actual, "23")
+ compare(functions.expected, "42")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false;
+ try {
+ testCase.compare("abcdef", 42)
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "Compared values are not the same")
+ compare(functions.actual, "abcdef")
+ compare(functions.expected, "42")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false;
+ try {
+ testCase.compare(Qt.vector3d(1, 2, 3), Qt.vector3d(-1, 2, 3), "x")
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "x")
+ compare(functions.actual, "Qt.vector3d(1, 2, 3)")
+ compare(functions.expected, "Qt.vector3d(-1, 2, 3)")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false;
+ try {
+ testCase.compare(Qt.vector3d(1, 2, 3), Qt.vector3d(1, -2, 3), "y")
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "y")
+ compare(functions.actual, "Qt.vector3d(1, 2, 3)")
+ compare(functions.expected, "Qt.vector3d(1, -2, 3)")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false;
+ try {
+ testCase.compare(Qt.vector3d(1, 2, 3), Qt.vector3d(1, 2, -3), "z")
+ } catch (e) {
+ compare(e.message, "QtQuickTest::fail")
+ compare(functions.failmsg, "z")
+ compare(functions.actual, "Qt.vector3d(1, 2, 3)")
+ compare(functions.expected, "Qt.vector3d(1, 2, -3)")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false;
+ try {
+ testCase.compare(Qt.vector3d(1, 2, 3), Qt.vector3d(1, 2, 3))
+ } catch (e) {
+ fail("vector compare did not succeed")
+ }
+ compare(functions.failmsg, "compare-ok")
+ }
+
+ function test_skip() {
+ compare(functions.failmsg, "invalid") // Checks that init() was run
+
+ var caught = false
+ try {
+ testCase.skip("foo")
+ } catch (e) {
+ compare(e.message, "QtQuickTest::skip")
+ compare(functions.failmsg, "skipSingle:foo")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false
+ try {
+ testCase.skip()
+ } catch (e) {
+ compare(e.message, "QtQuickTest::skip")
+ compare(functions.failmsg, "skipSingle:")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false
+ try {
+ testCase.skipAll("foo")
+ } catch (e) {
+ compare(e.message, "QtQuickTest::skip")
+ compare(functions.failmsg, "skipAll:foo")
+ caught = true
+ }
+ verify(caught)
+
+ caught = false
+ try {
+ testCase.skipAll()
+ } catch (e) {
+ compare(e.message, "QtQuickTest::skip")
+ compare(functions.failmsg, "skipAll:")
+ caught = true
+ }
+ verify(caught)
+ }
+}
diff --git a/tests/auto/qmltest/tst_qmltest.cpp b/tests/auto/qmltest/tst_qmltest.cpp
new file mode 100644
index 0000000000..37d47ac0d0
--- /dev/null
+++ b/tests/auto/qmltest/tst_qmltest.cpp
@@ -0,0 +1,43 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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 <QtQuickTest/quicktest.h>
+QUICK_TEST_MAIN(qmlauto)
diff --git a/tests/benchmarks/declarative/binding/data/creation.txt b/tests/benchmarks/declarative/binding/data/creation.txt
new file mode 100644
index 0000000000..05704fa341
--- /dev/null
+++ b/tests/benchmarks/declarative/binding/data/creation.txt
@@ -0,0 +1,9 @@
+import Test 1.0
+
+MyQmlObject {
+ id: myObject
+ property int myValue: 1
+ object: myObject
+
+ result: ###
+}
diff --git a/tests/benchmarks/declarative/binding/data/objectproperty.txt b/tests/benchmarks/declarative/binding/data/objectproperty.txt
index 6133dd648b..06409f2dd1 100644
--- a/tests/benchmarks/declarative/binding/data/objectproperty.txt
+++ b/tests/benchmarks/declarative/binding/data/objectproperty.txt
@@ -2,6 +2,7 @@ import Test 1.0
MyQmlObject {
id: myObject
+ object: myObject
result: ###
}
diff --git a/tests/benchmarks/declarative/binding/tst_binding.cpp b/tests/benchmarks/declarative/binding/tst_binding.cpp
index 7b8627b21b..5dce36d31d 100644
--- a/tests/benchmarks/declarative/binding/tst_binding.cpp
+++ b/tests/benchmarks/declarative/binding/tst_binding.cpp
@@ -41,6 +41,7 @@
#include <qtest.h>
#include <QDeclarativeEngine>
+#include <QDeclarativeContext>
#include <QDeclarativeComponent>
#include <QFile>
#include <QDebug>
@@ -70,9 +71,12 @@ private slots:
void objectproperty();
void basicproperty_data();
void basicproperty();
+ void creation_data();
+ void creation();
private:
QDeclarativeEngine engine;
+ MyQmlObject tstObject;
};
tst_binding::tst_binding()
@@ -86,6 +90,7 @@ tst_binding::~tst_binding()
void tst_binding::initTestCase()
{
registerTypes();
+ engine.rootContext()->setContextProperty("tstObject", &tstObject);
}
void tst_binding::cleanupTestCase()
@@ -162,5 +167,28 @@ void tst_binding::basicproperty()
}
}
+void tst_binding::creation_data()
+{
+ QTest::addColumn<QString>("file");
+ QTest::addColumn<QString>("binding");
+
+ QTest::newRow("constant") << SRCDIR "/data/creation.txt" << "10";
+ QTest::newRow("ownProperty") << SRCDIR "/data/creation.txt" << "myObject.value";
+ QTest::newRow("declaredProperty") << SRCDIR "/data/creation.txt" << "myObject.myValue";
+ QTest::newRow("contextProperty") << SRCDIR "/data/creation.txt" << "tstObject.value";
+}
+
+void tst_binding::creation()
+{
+ QFETCH(QString, file);
+ QFETCH(QString, binding);
+
+ COMPONENT(file, binding);
+
+ QBENCHMARK {
+ c.create();
+ }
+}
+
QTEST_MAIN(tst_binding)
#include "tst_binding.moc"
diff --git a/tests/benchmarks/declarative/compilation/tst_compilation.cpp b/tests/benchmarks/declarative/compilation/tst_compilation.cpp
index 0411df45ad..98008d8bf8 100644
--- a/tests/benchmarks/declarative/compilation/tst_compilation.cpp
+++ b/tests/benchmarks/declarative/compilation/tst_compilation.cpp
@@ -40,9 +40,18 @@
****************************************************************************/
#include <qtest.h>
-#include <QDeclarativeEngine>
-#include <QDeclarativeComponent>
+
+#include <QtDeclarative/qdeclarativeengine.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+#include <QtDeclarative/private/qdeclarativejsengine_p.h>
+#include <QtDeclarative/private/qdeclarativejsnodepool_p.h>
+#include <QtDeclarative/private/qdeclarativejsparser_p.h>
+#include <QtDeclarative/private/qdeclarativejslexer_p.h>
+#include <QtDeclarative/private/qdeclarativescriptparser_p.h>
+
#include <QFile>
+#include <QDebug>
+#include <QTextStream>
#ifdef Q_OS_SYMBIAN
// In Symbian OS test data is located in applications private dir
@@ -58,6 +67,12 @@ public:
private slots:
void boomblock();
+ void jsparser_data();
+ void jsparser();
+
+ void scriptparser_data();
+ void scriptparser();
+
private:
QDeclarativeEngine engine;
};
@@ -90,6 +105,61 @@ void tst_compilation::boomblock()
}
}
+void tst_compilation::jsparser_data()
+{
+ QTest::addColumn<QString>("file");
+
+ QTest::newRow("boomblock") << QString(SRCDIR + QLatin1String("/data/BoomBlock.qml"));
+}
+
+void tst_compilation::jsparser()
+{
+ QFETCH(QString, file);
+
+ QFile f(file);
+ QVERIFY(f.open(QIODevice::ReadOnly));
+ QByteArray data = f.readAll();
+
+ QTextStream stream(data, QIODevice::ReadOnly);
+ const QString code = stream.readAll();
+
+ QBENCHMARK {
+ QDeclarativeJS::Engine engine;
+ QDeclarativeJS::NodePool nodePool(file, &engine);
+
+ QDeclarativeJS::Lexer lexer(&engine);
+ lexer.setCode(code, -1);
+
+ QDeclarativeJS::Parser parser(&engine);
+ parser.parse();
+ parser.ast();
+ }
+}
+
+void tst_compilation::scriptparser_data()
+{
+ QTest::addColumn<QString>("file");
+
+ QTest::newRow("boomblock") << QString(SRCDIR + QLatin1String("/data/BoomBlock.qml"));
+}
+
+void tst_compilation::scriptparser()
+{
+ QFETCH(QString, file);
+
+ QFile f(file);
+ QVERIFY(f.open(QIODevice::ReadOnly));
+ QByteArray data = f.readAll();
+
+ QUrl url = QUrl::fromLocalFile(file);
+
+ QBENCHMARK {
+ QDeclarativeScriptParser parser;
+ parser.parse(data, url);
+ parser.tree();
+ }
+}
+
QTEST_MAIN(tst_compilation)
#include "tst_compilation.moc"
diff --git a/tests/benchmarks/declarative/declarative.pro b/tests/benchmarks/declarative/declarative.pro
index cb02a35c27..a827978d63 100644
--- a/tests/benchmarks/declarative/declarative.pro
+++ b/tests/benchmarks/declarative/declarative.pro
@@ -3,6 +3,7 @@ TEMPLATE = subdirs
SUBDIRS += \
binding \
creation \
+ holistic \
pointers \
qdeclarativecomponent \
qdeclarativeimage \
diff --git a/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicFour.qml b/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicFour.qml
new file mode 100644
index 0000000000..81a666bf47
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicFour.qml
@@ -0,0 +1,78 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+ id: root
+ property int dynamicWidth: 100
+ property int dynamicHeight: rect1.height + rect2.height
+ property int widthSignaledProperty: 10
+ property int heightSignaledProperty: 10
+
+ Rectangle {
+ id: rect1
+ width: root.dynamicWidth + 20
+ height: width + (5*3) - 8 + (width/9)
+ color: "red"
+ border.color: "black"
+ border.width: 5
+ radius: 10
+ }
+
+ Rectangle {
+ id: rect2
+ width: rect1.width - 50
+ height: width + (5*4) - 6 + (width/3)
+ color: "red"
+ border.color: "black"
+ border.width: 5
+ radius: 10
+ }
+
+ onDynamicWidthChanged: {
+ widthSignaledProperty = widthSignaledProperty + (6*5) - 2;
+ }
+
+ onDynamicHeightChanged: {
+ heightSignaledProperty = widthSignaledProperty + heightSignaledProperty + (5*3) - 7;
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicOne.qml b/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicOne.qml
new file mode 100644
index 0000000000..6e726b12d4
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicOne.qml
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+ id: root
+ property int dynamicWidth: 10
+
+ Rectangle {
+ width: 100
+ height: root.dynamicWidth + (5*3) - 8 + (root.dynamicWidth/10)
+ color: "red"
+ border.color: "black"
+ border.width: 5
+ radius: 10
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicThree.qml b/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicThree.qml
new file mode 100644
index 0000000000..19000d78fa
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicThree.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+ id: root
+ property int dynamicWidth: 10
+ property int widthSignaledProperty: 20
+
+ Rectangle {
+ width: 100
+ height: root.dynamicWidth + (5*3) - 8 + (root.dynamicWidth/10)
+ color: "red"
+ border.color: "black"
+ border.width: 5
+ radius: 10
+ }
+
+ onDynamicWidthChanged: {
+ widthSignaledProperty = dynamicWidth + (20/4) + 7 - 1;
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicTwo.qml b/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicTwo.qml
new file mode 100644
index 0000000000..4f7340589b
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/dynamicTargets/DynamicTwo.qml
@@ -0,0 +1,68 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+ id: root
+ property int dynamicWidth: 100
+ property int dynamicHeight: rect1.height + rect2.height
+
+ Rectangle {
+ id: rect1
+ width: root.dynamicWidth + 20
+ height: width + (5*3) - 8 + (width/9)
+ color: "red"
+ border.color: "black"
+ border.width: 5
+ radius: 10
+ }
+
+ Rectangle {
+ id: rect2
+ width: rect1.width - 50
+ height: width + (5*4) - 6 + (width/3)
+ color: "red"
+ border.color: "black"
+ border.width: 5
+ radius: 10
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/Mlbsi.qml b/tests/benchmarks/declarative/holistic/data/jsImports/Mlbsi.qml
new file mode 100644
index 0000000000..2ce9728d6a
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/Mlbsi.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "mlbsi.js" as MlbsiJs
+
+Item {
+ id: testQtObject
+ property int importedScriptFunctionValue: MlbsiJs.testFunc(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/Mldsi.qml b/tests/benchmarks/declarative/holistic/data/jsImports/Mldsi.qml
new file mode 100644
index 0000000000..c4455a46dc
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/Mldsi.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "mldsi.js" as MldsiJs
+
+Item {
+ id: testQtObject
+ property int importedScriptFunctionValue: MldsiJs.testFunc(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/Mlsi.qml b/tests/benchmarks/declarative/holistic/data/jsImports/Mlsi.qml
new file mode 100644
index 0000000000..99bb222e7a
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/Mlsi.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "mlsi.js" as MlsiJs
+
+Item {
+ id: testQtObject
+ property int importedScriptFunctionValue: MlsiJs.testFunc(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/ModuleBm.qml b/tests/benchmarks/declarative/holistic/data/jsImports/ModuleBm.qml
new file mode 100644
index 0000000000..bdae3564fc
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/ModuleBm.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "moduleBm.js" as ModuleBmJs
+
+Item {
+ id: testQtObject
+ property int importedScriptFunctionValue: ModuleBmJs.testFunc(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/Msbsi.qml b/tests/benchmarks/declarative/holistic/data/jsImports/Msbsi.qml
new file mode 100644
index 0000000000..05026cbf71
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/Msbsi.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "msbsi.js" as MsbsiJs
+
+Item {
+ id: testQtObject
+ property int importedScriptFunctionValue: MsbsiJs.testFunc(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/Msdsi.qml b/tests/benchmarks/declarative/holistic/data/jsImports/Msdsi.qml
new file mode 100644
index 0000000000..cd6ae72a56
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/Msdsi.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "msdsi.js" as MsdsiJs
+
+Item {
+ id: testQtObject
+ property int importedScriptFunctionValue: MsdsiJs.testFunc(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/Mssi.qml b/tests/benchmarks/declarative/holistic/data/jsImports/Mssi.qml
new file mode 100644
index 0000000000..604f2ebd6e
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/Mssi.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "mssi.js" as MssiJs
+
+Item {
+ id: testQtObject
+ property int importedScriptFunctionValue: MssiJs.testFunc(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/PragmaBm.qml b/tests/benchmarks/declarative/holistic/data/jsImports/PragmaBm.qml
new file mode 100644
index 0000000000..24709b93c2
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/PragmaBm.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "pragmaBmOne.js" as PragmaBmOneJs
+import "pragmaBmTwo.js" as PragmaBmTwoJs
+
+Item {
+ id: testQtObject
+
+ // value = 20 + 2 + 9 + (nbr times shared testFunc has been called previously == 0)
+ property int importedScriptFunctionValueOne: PragmaBmOneJs.testFuncOne(20)
+
+ // value = 20 + 3 + 9 + (nbr times shared testFunc has been called previously == 1)
+ property int importedScriptFunctionValueTwo: PragmaBmTwoJs.testFuncTwo(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/PragmaModuleBm.qml b/tests/benchmarks/declarative/holistic/data/jsImports/PragmaModuleBm.qml
new file mode 100644
index 0000000000..cac23cf412
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/PragmaModuleBm.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "pragmaModuleBm.js" as PragmaModuleBmJs
+
+Item {
+ id: testQtObject
+
+ // value = 20 + (Qt.test.Enum3 == 2) + 9 + (nbr times shared testFunc has been called previously = 0) + 9 + (nbr times shared testFunc has been called previously = 1)
+ property int importedScriptFunctionValue: PragmaModuleBmJs.testFuncThree(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/Slsi.qml b/tests/benchmarks/declarative/holistic/data/jsImports/Slsi.qml
new file mode 100644
index 0000000000..50d6de784e
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/Slsi.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "slsi.js" as SlsiJs
+
+Item {
+ id: testQtObject
+ property int importedScriptFunctionValue: SlsiJs.testFunc(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/Sssi.qml b/tests/benchmarks/declarative/holistic/data/jsImports/Sssi.qml
new file mode 100644
index 0000000000..b92a5a7cc9
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/Sssi.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+import "sssi.js" as SssiJs
+
+Item {
+ id: testQtObject
+ property int importedScriptFunctionValue: SssiJs.testFunc(20)
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi.js
new file mode 100644
index 0000000000..c4ea363cb7
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi.js
@@ -0,0 +1,133 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports many other (non-nested) single, small, scripts.
+
+.import "mlbsi1.js" as Mlbsi1
+.import "mlbsi2.js" as Mlbsi2
+.import "mlbsi3.js" as Mlbsi3
+.import "mlbsi4.js" as Mlbsi4
+.import "mlbsi5.js" as Mlbsi5
+.import "mlbsi6.js" as Mlbsi6
+.import "mlbsi7.js" as Mlbsi7
+.import "mlbsi8.js" as Mlbsi8
+.import "mlbsi9.js" as Mlbsi9
+.import "mlbsi10.js" as Mlbsi10
+.import "mlbsi11.js" as Mlbsi11
+.import "mlbsi12.js" as Mlbsi12
+.import "mlbsi13.js" as Mlbsi13
+.import "mlbsi14.js" as Mlbsi14
+.import "mlbsi15.js" as Mlbsi15
+
+function testFunc(seedValue) {
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ var retn = cumulativeTotal * 0.53;
+ retn += Mlbsi1.testFunc(seedValue);
+ retn += Mlbsi2.testFunc(seedValue);
+ retn += Mlbsi3.testFunc(seedValue);
+ retn += Mlbsi4.testFunc(seedValue);
+ retn += Mlbsi5.testFunc(seedValue);
+ retn += Mlbsi6.testFunc(retn);
+ retn += Mlbsi7.testFunc(seedValue);
+ retn += Mlbsi8.testFunc(seedValue);
+ retn += Mlbsi9.testFunc(retn);
+ retn += Mlbsi10.testFunc(seedValue);
+ retn += Mlbsi11.testFunc(seedValue);
+ retn += Mlbsi12.testFunc(seedValue);
+ retn += Mlbsi13.testFunc(seedValue);
+ retn += Mlbsi14.testFunc(seedValue);
+ retn += Mlbsi15.testFunc(seedValue);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000017 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000017 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi1.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi1.js
new file mode 100644
index 0000000000..ad91dbf11e
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi1.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.145);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00001 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00001 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi10.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi10.js
new file mode 100644
index 0000000000..ce67b15163
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi10.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1045);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000010 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000010 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi11.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi11.js
new file mode 100644
index 0000000000..54836c520c
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi11.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1145);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000011 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000011 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi12.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi12.js
new file mode 100644
index 0000000000..c48a81854c
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi12.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1245);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000012 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000012 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi13.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi13.js
new file mode 100644
index 0000000000..f228e129fd
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi13.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1345);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000013 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000013 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi14.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi14.js
new file mode 100644
index 0000000000..e97c58ad90
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi14.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1445);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000014 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000014 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi15.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi15.js
new file mode 100644
index 0000000000..7c08c62f82
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi15.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1545);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000015 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000015 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi2.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi2.js
new file mode 100644
index 0000000000..19154f0580
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi2.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.245);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00002 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00002 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi3.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi3.js
new file mode 100644
index 0000000000..473a8b1145
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi3.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.345);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00003 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00003 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi4.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi4.js
new file mode 100644
index 0000000000..96f8851226
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi4.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.445);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00004 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00004 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi5.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi5.js
new file mode 100644
index 0000000000..0aa4a3b4de
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi5.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.545);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00005 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00005 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi6.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi6.js
new file mode 100644
index 0000000000..550e4054f7
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi6.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.645);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00006 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00006 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi7.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi7.js
new file mode 100644
index 0000000000..a3502c2bdb
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi7.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.745);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00007 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00007 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi8.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi8.js
new file mode 100644
index 0000000000..af9c574e7c
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi8.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.845);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00008 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00008 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi9.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi9.js
new file mode 100644
index 0000000000..1f233a6eed
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlbsi9.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.945);
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00009 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00009 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi.js
new file mode 100644
index 0000000000..59df07c1c9
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi.js
@@ -0,0 +1,105 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+
+.import "mldsi1.js" as Mldsi1
+
+function testFunc(seedValue) {
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ var retn = cumulativeTotal * 0.5;
+ retn *= Mldsi1.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000017 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000017 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi1.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi1.js
new file mode 100644
index 0000000000..94d186b88c
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi1.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi2.js" as Msdsi2
+
+function testFunc(seedValue) {
+ var retn = 0.15;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi2.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00001 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00001 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi10.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi10.js
new file mode 100644
index 0000000000..5a60306209
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi10.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi11.js" as Msdsi11
+
+function testFunc(seedValue) {
+ var retn = 0.105;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi11.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000010 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000010 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi11.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi11.js
new file mode 100644
index 0000000000..8a7b95304c
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi11.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi12.js" as Msdsi12
+
+function testFunc(seedValue) {
+ var retn = 0.115;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi12.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000011 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000011 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi12.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi12.js
new file mode 100644
index 0000000000..30f371649f
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi12.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi13.js" as Msdsi13
+
+function testFunc(seedValue) {
+ var retn = 0.125;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi13.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000012 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000012 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi13.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi13.js
new file mode 100644
index 0000000000..65f3e4a952
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi13.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi14.js" as Msdsi14
+
+function testFunc(seedValue) {
+ var retn = 0.135;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi14.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000013 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000013 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi14.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi14.js
new file mode 100644
index 0000000000..5dd6dcfe49
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi14.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi15.js" as Msdsi15
+
+function testFunc(seedValue) {
+ var retn = 0.145;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi15.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000014 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000014 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi15.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi15.js
new file mode 100644
index 0000000000..c6873d8e72
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi15.js
@@ -0,0 +1,104 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It is imported by another script.
+
+function testFunc(seedValue) {
+ var retn = 0.155;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= (seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.000015 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.000015 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi2.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi2.js
new file mode 100644
index 0000000000..a876ebee7d
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi2.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi3.js" as Msdsi3
+
+function testFunc(seedValue) {
+ var retn = 0.25;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi3.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00002 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00002 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi3.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi3.js
new file mode 100644
index 0000000000..cab8b2662d
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi3.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi4.js" as Msdsi4
+
+function testFunc(seedValue) {
+ var retn = 0.35;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi4.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00003 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00003 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi4.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi4.js
new file mode 100644
index 0000000000..69c14a0278
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi4.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi5.js" as Msdsi5
+
+function testFunc(seedValue) {
+ var retn = 0.45;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi5.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00004 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00004 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi5.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi5.js
new file mode 100644
index 0000000000..889766f3ce
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi5.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi6.js" as Msdsi6
+
+function testFunc(seedValue) {
+ var retn = 0.55;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi6.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00005 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00005 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi6.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi6.js
new file mode 100644
index 0000000000..332b60679e
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi6.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi7.js" as Msdsi7
+
+function testFunc(seedValue) {
+ var retn = 0.65;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi7.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00006 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00006 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi7.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi7.js
new file mode 100644
index 0000000000..0b1ef645b0
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi7.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi8.js" as Msdsi8
+
+function testFunc(seedValue) {
+ var retn = 0.75;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi8.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00007 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00007 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi8.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi8.js
new file mode 100644
index 0000000000..2f4145aba9
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi8.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi9.js" as Msdsi9
+
+function testFunc(seedValue) {
+ var retn = 0.85;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi9.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00008 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00008 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mldsi9.js b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi9.js
new file mode 100644
index 0000000000..d06a00d31c
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mldsi9.js
@@ -0,0 +1,107 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports other large scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi10.js" as Msdsi10
+
+function testFunc(seedValue) {
+ var retn = 0.95;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn *= (1 + (cumulativeTotal * 0.001));
+ retn *= Msdsi10.testFunc(seedValue + retn);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00009 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00009 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mlsi.js b/tests/benchmarks/declarative/holistic/data/jsImports/mlsi.js
new file mode 100644
index 0000000000..fbc9b41882
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mlsi.js
@@ -0,0 +1,138 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports many other (non-nested) single, large, scripts,
+// and also imports many other nested, large scripts.
+
+.import "mldsi4.js" as Mldsi4
+.import "mldsi9.js" as Mldsi9
+.import "mlbsi1.js" as Mlbsi1
+.import "mlbsi2.js" as Mlbsi2
+.import "mlbsi3.js" as Mlbsi3
+.import "mlbsi4.js" as Mlbsi4
+.import "mlbsi5.js" as Mlbsi5
+.import "mlbsi6.js" as Mlbsi6
+.import "mlbsi7.js" as Mlbsi7
+.import "mlbsi8.js" as Mlbsi8
+.import "mlbsi9.js" as Mlbsi9
+.import "mlbsi10.js" as Mlbsi10
+.import "mlbsi11.js" as Mlbsi11
+.import "mlbsi12.js" as Mlbsi12
+.import "mlbsi13.js" as Mlbsi13
+.import "mlbsi14.js" as Mlbsi14
+.import "mlbsi15.js" as Mlbsi15
+
+function testFunc(seedValue) {
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ var retn = cumulativeTotal;
+ retn += Mlbsi1.testFunc(seedValue);
+ retn += Mlbsi2.testFunc(seedValue);
+ retn += Mlbsi3.testFunc(retn);
+ retn += Mlbsi4.testFunc(seedValue);
+ retn += Mlbsi5.testFunc(seedValue);
+ retn += Mlbsi6.testFunc(seedValue);
+ retn *= Mldsi9.testFunc(retn);
+ retn += Mlbsi7.testFunc(seedValue);
+ retn += Mlbsi8.testFunc(retn);
+ retn += Mlbsi9.testFunc(seedValue);
+ retn += Mlbsi10.testFunc(seedValue);
+ retn += Mlbsi11.testFunc(seedValue);
+ retn *= Mldsi4.testFunc(retn);
+ retn += Mlbsi12.testFunc(seedValue);
+ retn += Mlbsi13.testFunc(retn);
+ retn += Mlbsi14.testFunc(seedValue);
+ retn += Mlbsi15.testFunc(seedValue);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00001 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00001 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/moduleBm.js b/tests/benchmarks/declarative/holistic/data/jsImports/moduleBm.js
new file mode 100644
index 0000000000..7de7e89b9a
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/moduleBm.js
@@ -0,0 +1,109 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+.import Qt.test 1.0 as QtTest
+
+function testFunc(seedValue) {
+ var retn = QtTest.EnumValue3;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn += (cumulativeTotal * 0.45);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00001 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00001 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
+
+
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi.js
new file mode 100644
index 0000000000..c60ce88dd9
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi.js
@@ -0,0 +1,79 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports many other (non-nested) single, small, scripts.
+
+.import "msbsi1.js" as Msbsi1
+.import "msbsi2.js" as Msbsi2
+.import "msbsi3.js" as Msbsi3
+.import "msbsi4.js" as Msbsi4
+.import "msbsi5.js" as Msbsi5
+.import "msbsi6.js" as Msbsi6
+.import "msbsi7.js" as Msbsi7
+.import "msbsi8.js" as Msbsi8
+.import "msbsi9.js" as Msbsi9
+.import "msbsi10.js" as Msbsi10
+.import "msbsi11.js" as Msbsi11
+.import "msbsi12.js" as Msbsi12
+.import "msbsi13.js" as Msbsi13
+.import "msbsi14.js" as Msbsi14
+.import "msbsi15.js" as Msbsi15
+
+function testFunc(seedValue) {
+ var retn = 10 * (seedValue * 0.45);
+ retn += Msbsi1.testFunc(seedValue);
+ retn += Msbsi2.testFunc(seedValue);
+ retn += Msbsi3.testFunc(seedValue);
+ retn += Msbsi4.testFunc(seedValue);
+ retn += Msbsi5.testFunc(seedValue);
+ retn += Msbsi6.testFunc(seedValue);
+ retn += Msbsi7.testFunc(seedValue);
+ retn += Msbsi8.testFunc(seedValue);
+ retn += Msbsi9.testFunc(seedValue);
+ retn += Msbsi10.testFunc(seedValue);
+ retn += Msbsi11.testFunc(seedValue);
+ retn += Msbsi12.testFunc(seedValue);
+ retn += Msbsi13.testFunc(seedValue);
+ retn += Msbsi14.testFunc(seedValue);
+ retn += Msbsi15.testFunc(seedValue);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi1.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi1.js
new file mode 100644
index 0000000000..422558121d
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi1.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.145);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi10.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi10.js
new file mode 100644
index 0000000000..0ee3a369d6
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi10.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1045);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi11.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi11.js
new file mode 100644
index 0000000000..40e993c9bd
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi11.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1145);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi12.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi12.js
new file mode 100644
index 0000000000..ba8d9d6bda
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi12.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1245);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi13.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi13.js
new file mode 100644
index 0000000000..9544c9fe74
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi13.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1345);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi14.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi14.js
new file mode 100644
index 0000000000..df70f05452
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi14.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1445);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi15.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi15.js
new file mode 100644
index 0000000000..82c1ac581d
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi15.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.1545);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi2.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi2.js
new file mode 100644
index 0000000000..cf10dcb52e
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi2.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.245);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi3.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi3.js
new file mode 100644
index 0000000000..d743c44f6a
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi3.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.345);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi4.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi4.js
new file mode 100644
index 0000000000..df8f977ba5
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi4.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.445);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi5.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi5.js
new file mode 100644
index 0000000000..3c00c1cdf0
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi5.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.545);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi6.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi6.js
new file mode 100644
index 0000000000..0aa0e93dbd
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi6.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.645);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi7.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi7.js
new file mode 100644
index 0000000000..933fca8a72
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi7.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.745);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi8.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi8.js
new file mode 100644
index 0000000000..4f76257e72
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi8.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.845);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msbsi9.js b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi9.js
new file mode 100644
index 0000000000..3b2433e076
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msbsi9.js
@@ -0,0 +1,53 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+// It is imported from another script.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.945);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi.js
new file mode 100644
index 0000000000..13182480c6
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi.js
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+
+.import "msdsi1.js" as Msdsi1
+
+function testFunc(seedValue) {
+ var retn = 0.5;
+ retn *= Msdsi1.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi1.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi1.js
new file mode 100644
index 0000000000..1d987567cc
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi1.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi2.js" as Msdsi2
+
+function testFunc(seedValue) {
+ var retn = 0.15;
+ retn *= Msdsi2.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi10.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi10.js
new file mode 100644
index 0000000000..90b3e8173b
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi10.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi11.js" as Msdsi11
+
+function testFunc(seedValue) {
+ var retn = 0.105;
+ retn *= Msdsi11.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi11.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi11.js
new file mode 100644
index 0000000000..1df1dae7e0
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi11.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi12.js" as Msdsi12
+
+function testFunc(seedValue) {
+ var retn = 0.115;
+ retn *= Msdsi12.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi12.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi12.js
new file mode 100644
index 0000000000..4c5d6bcdb4
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi12.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi13.js" as Msdsi13
+
+function testFunc(seedValue) {
+ var retn = 0.125;
+ retn *= Msdsi13.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi13.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi13.js
new file mode 100644
index 0000000000..858233dec7
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi13.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi14.js" as Msdsi14
+
+function testFunc(seedValue) {
+ var retn = 0.135;
+ retn *= Msdsi14.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi14.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi14.js
new file mode 100644
index 0000000000..bafceb0931
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi14.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi15.js" as Msdsi15
+
+function testFunc(seedValue) {
+ var retn = 0.145;
+ retn *= Msdsi15.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi15.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi15.js
new file mode 100644
index 0000000000..c3d2c0ba01
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi15.js
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It is imported by another script.
+
+function testFunc(seedValue) {
+ var retn = 0.155;
+ retn *= (seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi2.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi2.js
new file mode 100644
index 0000000000..2d63a9d0a8
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi2.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi3.js" as Msdsi3
+
+function testFunc(seedValue) {
+ var retn = 0.25;
+ retn *= Msdsi3.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi3.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi3.js
new file mode 100644
index 0000000000..c281240f15
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi3.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi4.js" as Msdsi4
+
+function testFunc(seedValue) {
+ var retn = 0.35;
+ retn *= Msdsi4.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi4.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi4.js
new file mode 100644
index 0000000000..eb44d0f5e2
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi4.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi5.js" as Msdsi5
+
+function testFunc(seedValue) {
+ var retn = 0.45;
+ retn *= Msdsi5.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi5.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi5.js
new file mode 100644
index 0000000000..fd3abc3a7a
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi5.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi6.js" as Msdsi6
+
+function testFunc(seedValue) {
+ var retn = 0.55;
+ retn *= Msdsi6.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi6.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi6.js
new file mode 100644
index 0000000000..eb5adde3ca
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi6.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi7.js" as Msdsi7
+
+function testFunc(seedValue) {
+ var retn = 0.65;
+ retn *= Msdsi7.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi7.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi7.js
new file mode 100644
index 0000000000..32e41dc642
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi7.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi8.js" as Msdsi8
+
+function testFunc(seedValue) {
+ var retn = 0.75;
+ retn *= Msdsi8.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi8.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi8.js
new file mode 100644
index 0000000000..ecdb97f5b2
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi8.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi9.js" as Msdsi9
+
+function testFunc(seedValue) {
+ var retn = 0.85;
+ retn *= Msdsi9.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/msdsi9.js b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi9.js
new file mode 100644
index 0000000000..9082cddd3e
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/msdsi9.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports other small scripts which are deeply nested.
+// It is imported by another script.
+
+.import "msdsi10.js" as Msdsi10
+
+function testFunc(seedValue) {
+ var retn = 0.95;
+ retn *= Msdsi10.testFunc(seedValue + retn);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/mssi.js b/tests/benchmarks/declarative/holistic/data/jsImports/mssi.js
new file mode 100644
index 0000000000..2254c5c585
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/mssi.js
@@ -0,0 +1,84 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It imports many other (non-nested) single, small, scripts,
+// and also imports many other nested, small scripts.
+
+.import "msdsi4.js" as Msdsi4
+.import "msdsi9.js" as Msdsi9
+.import "msbsi1.js" as Msbsi1
+.import "msbsi2.js" as Msbsi2
+.import "msbsi3.js" as Msbsi3
+.import "msbsi4.js" as Msbsi4
+.import "msbsi5.js" as Msbsi5
+.import "msbsi6.js" as Msbsi6
+.import "msbsi7.js" as Msbsi7
+.import "msbsi8.js" as Msbsi8
+.import "msbsi9.js" as Msbsi9
+.import "msbsi10.js" as Msbsi10
+.import "msbsi11.js" as Msbsi11
+.import "msbsi12.js" as Msbsi12
+.import "msbsi13.js" as Msbsi13
+.import "msbsi14.js" as Msbsi14
+.import "msbsi15.js" as Msbsi15
+
+function testFunc(seedValue) {
+ var retn = 10 * (seedValue * 0.85);
+ retn += Msbsi1.testFunc(seedValue);
+ retn += Msbsi2.testFunc(seedValue);
+ retn += Msbsi3.testFunc(retn);
+ retn += Msbsi4.testFunc(seedValue);
+ retn += Msbsi5.testFunc(seedValue);
+ retn += Msbsi6.testFunc(seedValue);
+ retn *= Msdsi9.testFunc(retn);
+ retn += Msbsi7.testFunc(seedValue);
+ retn += Msbsi8.testFunc(retn);
+ retn += Msbsi9.testFunc(seedValue);
+ retn += Msbsi10.testFunc(seedValue);
+ retn += Msbsi11.testFunc(seedValue);
+ retn *= Msdsi4.testFunc(retn);
+ retn += Msbsi12.testFunc(seedValue);
+ retn += Msbsi13.testFunc(retn);
+ retn += Msbsi14.testFunc(seedValue);
+ retn += Msbsi15.testFunc(seedValue);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/pragmaBmOne.js b/tests/benchmarks/declarative/holistic/data/jsImports/pragmaBmOne.js
new file mode 100644
index 0000000000..e3c54000bb
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/pragmaBmOne.js
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports a shared library script.
+.import "pragmaLib.js" as PragmaLibJs
+
+function testFuncOne(seedValue) {
+ var retn = seedValue + 2;
+ retn += PragmaLibJs.testFunc();
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/pragmaBmTwo.js b/tests/benchmarks/declarative/holistic/data/jsImports/pragmaBmTwo.js
new file mode 100644
index 0000000000..9a28fafbca
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/pragmaBmTwo.js
@@ -0,0 +1,50 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports a shared library script.
+.import "pragmaLib.js" as PragmaLibJs
+
+function testFuncTwo(seedValue) {
+ var retn = seedValue + 3;
+ retn += PragmaLibJs.testFunc();
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/pragmaLib.js b/tests/benchmarks/declarative/holistic/data/jsImports/pragmaLib.js
new file mode 100644
index 0000000000..a247d75ed1
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/pragmaLib.js
@@ -0,0 +1,119 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+// It is a shared script, with data which should be shared.
+.pragma library
+
+var sharedValue = 9;
+
+function testFunc() {
+ var retn = sharedValue;
+ sharedValue += 1; // increment the shared value
+ return retn;
+}
+
+function testFuncBig(seedValue) {
+ var retn = sharedValue;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn += (cumulativeTotal * 0.45);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ sharedValue += 1; // increment the shared value
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00001 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00001 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
+
+
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/pragmaModuleBm.js b/tests/benchmarks/declarative/holistic/data/jsImports/pragmaModuleBm.js
new file mode 100644
index 0000000000..6f363082da
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/pragmaModuleBm.js
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It imports a QML module and two other scripts.
+// Each of those two other scripts imports a single script,
+// which is a .pragma library script (shared between the two).
+
+.import Qt.test 1.0 as QtTest
+.import "pragmaBmOne.js" as PragmaBmOneJs
+.import "pragmaBmTwo.js" as PragmaBmTwoJs
+
+function testFuncThree(seedValue) {
+ var retn = seedValue + QtTest.EnumValue3;
+ retn += PragmaBmOneJs.testFuncOne(seedValue);
+ retn += PragmaBmTwoJs.testFuncTwo(seedValue);
+ return retn;
+}
+
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/slsi.js b/tests/benchmarks/declarative/holistic/data/jsImports/slsi.js
new file mode 100644
index 0000000000..c1741087fa
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/slsi.js
@@ -0,0 +1,108 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, large, imported script.
+// It doesn't import any other scripts.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ var firstFactor = calculateFirstFactor(seedValue);
+ var secondFactor = calculateSecondFactor(seedValue);
+ var modificationTerm = calculateModificationTerm(seedValue);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (seedValue * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (seedValue * 50)) {
+ break;
+ }
+ }
+ }
+ retn += (cumulativeTotal * 0.45);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
+
+function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00001 / seedValue));
+ return firstFactor;
+}
+
+function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00001 / seedValue));
+ return secondFactor;
+}
+
+function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((calculateFirstFactor(seedValue) * seedValue) / 3) + (4*calculateSecondFactor(seedValue) * seedValue * 1.33)) + (calculateSecondFactor(seedValue) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+}
+
+
diff --git a/tests/benchmarks/declarative/holistic/data/jsImports/sssi.js b/tests/benchmarks/declarative/holistic/data/jsImports/sssi.js
new file mode 100644
index 0000000000..b52e88dc53
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsImports/sssi.js
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This JavaScript file is a single, small, imported script.
+// It doesn't import any other scripts.
+
+function testFunc(seedValue) {
+ var retn = 5;
+ retn += (seedValue * 0.45);
+ retn *= (1 + (3.1415962 / seedValue));
+ retn /= 2.41497;
+ retn -= (seedValue * -1);
+ return retn;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsTargets/JsOne.qml b/tests/benchmarks/declarative/holistic/data/jsTargets/JsOne.qml
new file mode 100644
index 0000000000..fcdd0819d1
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsTargets/JsOne.qml
@@ -0,0 +1,61 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+ id: root
+ property int dynamicWidth: 10
+ property int widthSignaledProperty: 20
+
+ Rectangle {
+ width: 100
+ height: 50
+ color: "red"
+ border.color: "black"
+ border.width: 5
+ radius: 10
+ }
+
+ onDynamicWidthChanged: {
+ widthSignaledProperty = dynamicWidth + (20/4) + 7 - 1;
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/jsTargets/JsTwo.qml b/tests/benchmarks/declarative/holistic/data/jsTargets/JsTwo.qml
new file mode 100644
index 0000000000..980c76f21e
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/jsTargets/JsTwo.qml
@@ -0,0 +1,118 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+ id: root
+ property int dynamicWidth: 10
+ property int widthSignaledProperty: 20
+
+ Rectangle {
+ width: 100
+ height: 50
+ color: "red"
+ border.color: "black"
+ border.width: 5
+ radius: 10
+ }
+
+ function calculateFirstFactor(seedValue) {
+ var firstFactor = (0.45 * (9.3 / 3.1) - 0.90);
+ firstFactor *= (1 + (0.00001 / seedValue));
+ return firstFactor;
+ }
+
+ function calculateSecondFactor(seedValue) {
+ var secondFactor = 0.78 * (6.3 / 2.1) - (0.39 * 4);
+ secondFactor *= (1 + (0.00001 / seedValue));
+ return secondFactor;
+ }
+
+ function calculateModificationTerm(seedValue) {
+ var modificationTerm = (12 + (9*7) - 54 + 16 - ((root.calculateFirstFactor(seedValue + 0.3) * seedValue) / 3) + (4*root.calculateSecondFactor(seedValue+2) * seedValue * 1.33)) + (root.calculateSecondFactor(seedValue+1) * seedValue);
+ modificationTerm = modificationTerm + (33/2) + 19 - (9*2) - (61*3) + 177;
+ return modificationTerm;
+ }
+
+ onDynamicWidthChanged: {
+ // do a bit of maths
+ var firstFactor = root.calculateFirstFactor(8);
+ var secondFactor = root.calculateSecondFactor(dynamicWidth / firstFactor);
+ var modificationTerm = root.calculateModificationTerm(dynamicWidth / secondFactor);
+
+ // do some regexp matching
+ var someString = "This is a random string which we'll perform regular expression matching on to reduce considerably. This is meant to be part of a complex javascript expression whose evaluation takes considerably longer than the creation cost of QScriptValue.";
+ var regexpPattern = new RegExp("is", "i");
+ var regexpOutputLength = 0;
+ var temp = regexpPattern.exec(someString);
+ while (temp == "is") {
+ regexpOutputLength += 4;
+ regexpOutputLength *= 2;
+ temp = regexpPattern.exec(someString);
+ if (regexpOutputLength > (dynamicWidth * 3)) {
+ temp = "break";
+ }
+ }
+
+ // spin in a for loop for a while
+ var i = 0;
+ var j = 0;
+ var cumulativeTotal = 3;
+ for (i = 20; i > 1; i--) {
+ for (j = 31; j > 5; j--) {
+ var branchVariable = i + j;
+ if (branchVariable % 3 == 0) {
+ cumulativeTotal -= secondFactor;
+ } else {
+ cumulativeTotal += firstFactor;
+ }
+
+ if (cumulativeTotal > (dynamicWidth * 50)) {
+ break;
+ }
+ }
+ }
+
+ // and update the property
+ widthSignaledProperty = (dynamicWidth + (20/4) + 7 - 1) * modificationTerm + regexpOutputLength - (cumulativeTotal / 73);
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/largeTargets/gridview-example.qml b/tests/benchmarks/declarative/holistic/data/largeTargets/gridview-example.qml
new file mode 100644
index 0000000000..e904c0a647
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/largeTargets/gridview-example.qml
@@ -0,0 +1,91 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+ width: 300; height: 400
+ color: "white"
+
+ ListModel {
+ id: appModel
+ ListElement { name: "Music"; shade: "blue" }
+ ListElement { name: "Movies"; shade: "red" }
+ ListElement { name: "Camera"; shade: "green" }
+ ListElement { name: "Calendar"; shade: "yellow" }
+ ListElement { name: "Messaging"; shade: "cyan" }
+ ListElement { name: "Todo List"; shade: "magenta" }
+ ListElement { name: "Contacts"; shade: "black" }
+ }
+
+ Component {
+ id: appDelegate
+
+ Item {
+ width: 100; height: 100
+
+ Rectangle {
+ id: myColoredIcon
+ width: 20
+ height: 20
+ y: 20; anchors.horizontalCenter: parent.horizontalCenter
+ color: shade
+ }
+ Text {
+ anchors { top: myColoredIcon.bottom; horizontalCenter: parent.horizontalCenter }
+ text: name
+ }
+ }
+ }
+
+ Component {
+ id: appHighlight
+ Rectangle { width: 80; height: 80; color: "lightsteelblue" }
+ }
+
+ GridView {
+ anchors.fill: parent
+ cellWidth: 100; cellHeight: 100
+ highlight: appHighlight
+ focus: true
+ model: appModel
+ delegate: appDelegate
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/largeTargets/layoutdirection.qml b/tests/benchmarks/declarative/holistic/data/largeTargets/layoutdirection.qml
new file mode 100644
index 0000000000..9b6a652c14
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/largeTargets/layoutdirection.qml
@@ -0,0 +1,151 @@
+/****************************************************************************
+**
+** Copyright (C) 2010 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:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.1
+
+Rectangle {
+
+ width: column.width + 100
+ height: column.height + 100
+ property int direction: Qt.application.layoutDirection
+
+ Column {
+ id: column
+ spacing: 10
+ anchors.centerIn: parent
+ width: 230
+
+ Text {
+ text: "Row"
+ anchors.horizontalCenter: parent.horizontalCenter
+ }
+ Row {
+ layoutDirection: direction
+ spacing: 10
+ move: Transition {
+ NumberAnimation {
+ properties: "x"
+ }
+ }
+ Repeater {
+ model: 4
+ Loader {
+ property int value: index
+ sourceComponent: delegate
+ }
+ }
+ }
+ Text {
+ text: "Grid"
+ anchors.horizontalCenter: parent.horizontalCenter
+ }
+ Grid {
+ layoutDirection: direction
+ spacing: 10; columns: 4
+ move: Transition {
+ NumberAnimation {
+ properties: "x"
+ }
+ }
+ Repeater {
+ model: 11
+ Loader {
+ property int value: index
+ sourceComponent: delegate
+ }
+ }
+ }
+ Text {
+ text: "Flow"
+ anchors.horizontalCenter: parent.horizontalCenter
+ }
+ Flow {
+ layoutDirection: direction
+ spacing: 10; width: parent.width
+ move: Transition {
+ NumberAnimation {
+ properties: "x"
+ }
+ }
+ Repeater {
+ model: 10
+ Loader {
+ property int value: index
+ sourceComponent: delegate
+ }
+ }
+ }
+ Rectangle {
+ height: 50; width: parent.width
+ color: mouseArea.pressed ? "black" : "gray"
+ Text {
+ text: direction ? "Right to left" : "Left to right"
+ color: "white"
+ font.pixelSize: 16
+ anchors.centerIn: parent
+ }
+ MouseArea {
+ id: mouseArea
+ onClicked: {
+ if (direction == Qt.LeftToRight) {
+ direction = Qt.RightToLeft;
+ } else {
+ direction = Qt.LeftToRight;
+ }
+ }
+ anchors.fill: parent
+ }
+ }
+ }
+
+ Component {
+ id: delegate
+ Rectangle {
+ width: 50; height: 50
+ color: Qt.rgba(0.8/(parent.value+1),0.8/(parent.value+1),0.8/(parent.value+1),1.0)
+ Text {
+ text: parent.parent.value+1
+ color: "white"
+ font.pixelSize: 20
+ anchors.centerIn: parent
+ }
+ }
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/largeTargets/mousearea-example.qml b/tests/benchmarks/declarative/holistic/data/largeTargets/mousearea-example.qml
new file mode 100644
index 0000000000..9bca78ff60
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/largeTargets/mousearea-example.qml
@@ -0,0 +1,112 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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:BSD$
+** You may use this file under the terms of the BSD license as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
+** the names of its contributors may be used to endorse or promote
+** products derived from this software without specific prior written
+** permission.
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+ id: box
+ width: 350; height: 250
+
+ Rectangle {
+ id: redSquare
+ width: 80; height: 80
+ anchors.top: parent.top; anchors.left: parent.left; anchors.margins: 10
+ color: "red"
+
+ Text { text: "Click"; font.pixelSize: 16; anchors.centerIn: parent }
+
+ MouseArea {
+ anchors.fill: parent
+ hoverEnabled: true
+ acceptedButtons: Qt.LeftButton | Qt.RightButton
+
+ onEntered: info.text = 'Entered'
+ onExited: info.text = 'Exited (pressed=' + pressed + ')'
+
+ onPressed: {
+ info.text = 'Pressed (button=' + (mouse.button == Qt.RightButton ? 'right' : 'left')
+ + ' shift=' + (mouse.modifiers & Qt.ShiftModifier ? 'true' : 'false') + ')'
+ var posInBox = redSquare.mapToItem(box, mouse.x, mouse.y)
+ posInfo.text = + mouse.x + ',' + mouse.y + ' in square'
+ + ' (' + posInBox.x + ',' + posInBox.y + ' in window)'
+ }
+
+ onReleased: {
+ info.text = 'Released (isClick=' + mouse.isClick + ' wasHeld=' + mouse.wasHeld + ')'
+ posInfo.text = ''
+ }
+
+ onPressAndHold: info.text = 'Press and hold'
+ onClicked: info.text = 'Clicked (wasHeld=' + mouse.wasHeld + ')'
+ onDoubleClicked: info.text = 'Double clicked'
+ }
+ }
+
+ Rectangle {
+ id: blueSquare
+ width: 80; height: 80
+ x: box.width - width - 10; y: 10 // making this item draggable, so don't use anchors
+ color: "blue"
+
+ Text { text: "Drag"; font.pixelSize: 16; color: "white"; anchors.centerIn: parent }
+
+ MouseArea {
+ anchors.fill: parent
+ drag.target: blueSquare
+ drag.axis: Drag.XandYAxis
+ drag.minimumX: 0
+ drag.maximumX: box.width - parent.width
+ drag.minimumY: 0
+ drag.maximumY: box.height - parent.width
+ }
+ }
+
+ Text {
+ id: info
+ anchors.bottom: posInfo.top; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30
+
+ onTextChanged: console.log(text)
+ }
+
+ Text {
+ id: posInfo
+ anchors.bottom: parent.bottom; anchors.horizontalCenter: parent.horizontalCenter; anchors.margins: 30
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/resolutionTargets/ResolveOne.qml b/tests/benchmarks/declarative/holistic/data/resolutionTargets/ResolveOne.qml
new file mode 100644
index 0000000000..7a5ea39fff
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/resolutionTargets/ResolveOne.qml
@@ -0,0 +1,111 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+// This file has some nested items and does a lot of id resolution.
+// This will allow us to benchmark the cost of resolving names in
+// bindings.
+
+import QtQuick 1.0
+
+Item {
+ id: root
+ property int baseWidth: 500
+ property int baseHeight: 600
+ property string baseColor: "red"
+
+ Item {
+ id: childOne
+ property int baseWidth: root.baseWidth - 1
+ property int baseHeight: root.baseHeight - 1
+ property string baseColor: root.baseColor
+
+ Item {
+ id: childTwo
+ property int baseWidth: root.baseWidth - 2
+ property int baseHeight: childOne.baseHeight - 1
+ property string baseColor: childOne.baseColor
+
+ Item {
+ id: childThree
+ property int baseWidth: childOne.baseWidth - 2
+ property int baseHeight: root.baseHeight - 3
+ property string baseColor: "blue"
+
+ Item {
+ id: childFour
+ property int baseWidth: childTwo.baseWidth - 2
+ property int baseHeight: childThree.baseHeight - 1
+ property string baseColor: "earthy " + root.baseColor
+
+ Item {
+ id: childFive
+ property int baseWidth: root.baseWidth - 5
+ property int baseHeight: childFour.baseHeight - 1
+ property string baseColor: "carnelian " + childTwo.baseColor
+ }
+ }
+
+ Item {
+ id: childSix
+ property int baseWidth: parent.baseWidth - 3
+ property int baseHeight: root.baseHeight - 6
+ property string baseColor: "rust " + root.baseColor
+
+ Item {
+ id: childSeven
+ property int baseWidth: childOne.baseWidth - 6
+ property int baseHeight: childTwo.baseHeight - 5
+ property string baseColor: "sky " + childThree.baseColor
+ }
+ }
+ }
+ }
+ }
+
+ Rectangle {
+ width: childOne.baseWidth
+ height: childOne.baseHeight
+ color: parent.baseColor
+ border.color: "black"
+ border.width: 5
+ radius: 10
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/CppToJs.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/CppToJs.qml
new file mode 100644
index 0000000000..11c6b37f05
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/CppToJs.qml
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import "cppToJs.js" as CppToJs
+
+Item {
+ id: jsConsumer
+ property int sideEffect: 10
+
+ function callJsFunction() {
+ jsConsumer.sideEffect = jsConsumer.sideEffect + CppToJs.nextValue;
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/CppToQml.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/CppToQml.qml
new file mode 100644
index 0000000000..23adcd957b
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/CppToQml.qml
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+ id: root
+ property int arbitrary: 10
+ property int dependent: arbitrary + 5
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppEight.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppEight.qml
new file mode 100644
index 0000000000..1379f62771
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppEight.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a nonconst CPP function with an integer return value and an integer argument.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + arbitraryVariantProvider.modifyVariantChangeCount(arbitraryVariantConsumer.sideEffect);
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppEleven.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppEleven.qml
new file mode 100644
index 0000000000..53479e9cb6
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppEleven.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property variant someVariant;
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a nonconst CPP function with variant return value and variant + integer arguments.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + 3;
+ var tempVariant = arbitraryVariantProvider.setVariantToFilledPixmap(sideEffect + 183, sideEffect + 134, sideEffect + 38, sideEffect + 77, sideEffect + 21);
+ someVariant = arbitraryVariantProvider.setVariantAddCount(sideEffect, tempVariant);
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppFive.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppFive.qml
new file mode 100644
index 0000000000..52320eb91e
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppFive.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a const CPP function with an integer return value and no arguments.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + arbitraryVariantProvider.variantChangeCount();
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppFour.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppFour.qml
new file mode 100644
index 0000000000..ab567012e3
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppFour.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a nonconst CPP function with no return value and an integer argument.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + 2;
+ arbitraryVariantProvider.setVariantChangeCount(arbitraryVariantConsumer.sideEffect);
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppNine.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppNine.qml
new file mode 100644
index 0000000000..d8f99f4623
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppNine.qml
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property variant someVariant;
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a const CPP function with variant return value and integer arguments.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + 3;
+ someVariant = arbitraryVariantProvider.possibleVariant(sideEffect, sideEffect * 2, sideEffect * 5);
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppOne.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppOne.qml
new file mode 100644
index 0000000000..057b50c8ec
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppOne.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a const CPP function with no return value and no arguments.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + 2;
+ arbitraryVariantProvider.doNothing();
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppSeven.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppSeven.qml
new file mode 100644
index 0000000000..9f9735bf36
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppSeven.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a const CPP function with an integer return value and an integer argument.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + arbitraryVariantProvider.countPlus(arbitraryVariantConsumer.sideEffect);
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppSix.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppSix.qml
new file mode 100644
index 0000000000..f5cd9bf722
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppSix.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a nonconst CPP function with an integer return value and no arguments.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + arbitraryVariantProvider.modifyVariantChangeCount();
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppTen.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppTen.qml
new file mode 100644
index 0000000000..b9f90e0596
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppTen.qml
@@ -0,0 +1,56 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property variant someVariant;
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a nonconst CPP function with variant return value and integer arguments.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + 3;
+ someVariant = arbitraryVariantProvider.setVariantToFilledPixmap(sideEffect + 183, sideEffect + 134, sideEffect + 38, sideEffect + 77, sideEffect + 21);
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppThree.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppThree.qml
new file mode 100644
index 0000000000..65ed8b9925
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppThree.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a const CPP function with no return value and an integer argument.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + 2;
+ arbitraryVariantProvider.doNothing(arbitraryVariantConsumer.sideEffect);
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppTwo.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppTwo.qml
new file mode 100644
index 0000000000..221e196eb8
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/JsToCppTwo.qml
@@ -0,0 +1,55 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: arbitraryVariantConsumer
+ property MyArbitraryVariantProvider a: MyArbitraryVariantProvider { id: arbitraryVariantProvider }
+ property int sideEffect: 10
+
+ function callCppFunction() {
+ // in this case, we call a nonconst CPP function with no return value and no arguments.
+ arbitraryVariantConsumer.sideEffect = arbitraryVariantConsumer.sideEffect + 2;
+ arbitraryVariantProvider.incrementVariantChangeCount();
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/ScarceOne.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/ScarceOne.qml
new file mode 100644
index 0000000000..531849dcce
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/ScarceOne.qml
@@ -0,0 +1,57 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: scarceResourceConsumer
+
+ property MyScarceResourceProvider a: MyScarceResourceProvider { id: scarceResourceProvider }
+
+ property variant ssr;
+ property variant lsr;
+
+ function copyScarceResources() {
+ ssr = scarceResourceProvider.smallScarceResource;
+ lsr = scarceResourceProvider.largeScarceResource;
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/ScarceTwo.qml b/tests/benchmarks/declarative/holistic/data/scopeSwitching/ScarceTwo.qml
new file mode 100644
index 0000000000..a9ef7e355d
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/ScarceTwo.qml
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import Qt.test 1.0
+
+Item {
+ id: scarceResourceConsumer
+
+ property MyScarceResourceProvider a: MyScarceResourceProvider { id: scarceResourceProvider }
+
+ property variant ssr: scarceResourceProvider.smallScarceResource
+ property variant lsr: scarceResourceProvider.largeScarceResource
+}
diff --git a/tests/benchmarks/declarative/holistic/data/scopeSwitching/cppToJs.js b/tests/benchmarks/declarative/holistic/data/scopeSwitching/cppToJs.js
new file mode 100644
index 0000000000..ace7ec5f5e
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/scopeSwitching/cppToJs.js
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+.pragma library
+
+var generatedValue = 5;
+
+function generateNextValue() {
+ generatedValue += 1;
+ return generatedValue;
+}
diff --git a/tests/benchmarks/declarative/holistic/data/smallTargets/SmallFour.qml b/tests/benchmarks/declarative/holistic/data/smallTargets/SmallFour.qml
new file mode 100644
index 0000000000..fac4966d41
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/smallTargets/SmallFour.qml
@@ -0,0 +1,49 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Text {
+ text: "Hello World!"
+ font.family: "Helvetica"
+ font.pointSize: 24
+ color: "red"
+}
diff --git a/tests/benchmarks/declarative/holistic/data/smallTargets/SmallOne.qml b/tests/benchmarks/declarative/holistic/data/smallTargets/SmallOne.qml
new file mode 100644
index 0000000000..e055fd94f7
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/smallTargets/SmallOne.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+ width: 100
+ height: 100
+ color: "red"
+ border.color: "black"
+ border.width: 5
+ radius: 10
+}
diff --git a/tests/benchmarks/declarative/holistic/data/smallTargets/SmallThree.qml b/tests/benchmarks/declarative/holistic/data/smallTargets/SmallThree.qml
new file mode 100644
index 0000000000..70ed0ef046
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/smallTargets/SmallThree.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+ width: 100; height: 100
+ gradient: Gradient {
+ GradientStop { position: 0.0; color: "red" }
+ GradientStop { position: 0.33; color: "yellow" }
+ GradientStop { position: 1.0; color: "green" }
+ }
+}
diff --git a/tests/benchmarks/declarative/holistic/data/smallTargets/SmallTwo.qml b/tests/benchmarks/declarative/holistic/data/smallTargets/SmallTwo.qml
new file mode 100644
index 0000000000..c473ce53a6
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/data/smallTargets/SmallTwo.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Rectangle {
+ width: 100
+ height: 100
+ color: "blue"
+ border.color: "black"
+ border.width: 5
+ radius: 10
+}
diff --git a/tests/benchmarks/declarative/holistic/holistic.pro b/tests/benchmarks/declarative/holistic/holistic.pro
new file mode 100644
index 0000000000..7f27696d60
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/holistic.pro
@@ -0,0 +1,19 @@
+load(qttest_p4)
+TEMPLATE = app
+TARGET = tst_holistic
+QT += declarative script network
+macx:CONFIG -= app_bundle
+
+CONFIG += release
+
+SOURCES += tst_holistic.cpp \
+ testtypes.cpp
+HEADERS += testtypes.h
+
+symbian {
+ data.files += data
+ data.path = .
+ DEPLOYMENT += data
+} else {
+ DEFINES += SRCDIR=\\\"$$PWD\\\"
+}
diff --git a/tests/benchmarks/declarative/holistic/testtypes.cpp b/tests/benchmarks/declarative/holistic/testtypes.cpp
new file mode 100644
index 0000000000..5c232430f7
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/testtypes.cpp
@@ -0,0 +1,98 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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 "testtypes.h"
+#include <QWidget>
+#include <QPlainTextEdit>
+#include <QDeclarativeEngine>
+#include <QScriptEngine>
+
+static QScriptValue script_api(QDeclarativeEngine *engine, QScriptEngine *scriptEngine)
+{
+ Q_UNUSED(engine)
+ Q_UNUSED(scriptEngine)
+
+ static int testProperty = 13;
+ QScriptValue v = scriptEngine->newObject();
+ v.setProperty("scriptTestProperty", testProperty++);
+ return v;
+}
+
+static QObject *qobject_api(QDeclarativeEngine *engine, QScriptEngine *scriptEngine)
+{
+ Q_UNUSED(engine)
+ Q_UNUSED(scriptEngine)
+
+ testQObjectApi *o = new testQObjectApi();
+ o->setQObjectTestProperty(20);
+ return o;
+}
+
+static QObject *qobject_api_engine_parent(QDeclarativeEngine *engine, QScriptEngine *scriptEngine)
+{
+ Q_UNUSED(scriptEngine)
+
+ static int testProperty = 26;
+ testQObjectApi *o = new testQObjectApi(engine);
+ o->setQObjectTestProperty(testProperty++);
+ return o;
+}
+
+void registerTypes()
+{
+ qmlRegisterType<MyQmlObject>("Qt.test", 1,0, "MyQmlObjectAlias");
+ qmlRegisterType<MyQmlObject>("Qt.test", 1,0, "MyQmlObject");
+
+ qmlRegisterType<QPlainTextEdit>("Qt.test",1,0,"QPlainTextEdit");
+ qRegisterMetaType<MyQmlObject::MyType>("MyQmlObject::MyType");
+
+ qmlRegisterType<ScarceResourceProvider>("Qt.test", 1,0, "MyScarceResourceProvider");
+ qmlRegisterType<ArbitraryVariantProvider>("Qt.test", 1,0, "MyArbitraryVariantProvider");
+
+ qmlRegisterModuleApi("Qt.test",1,0,script_api); // register (script) module API for an existing uri which contains elements
+ qmlRegisterModuleApi("Qt.test",1,0,qobject_api); // register (qobject) for an existing uri for which another module API was previously regd. Should replace!
+ qmlRegisterModuleApi("Qt.test.scriptApi",1,0,script_api); // register (script) module API for a uri which doesn't contain elements
+ qmlRegisterModuleApi("Qt.test.qobjectApi",1,0,qobject_api); // register (qobject) module API for a uri which doesn't contain elements
+ qmlRegisterModuleApi("Qt.test.qobjectApi",1,3,qobject_api); // register (qobject) module API for a uri which doesn't contain elements, minor version set
+ qmlRegisterModuleApi("Qt.test.qobjectApi",2,0,qobject_api); // register (qobject) module API for a uri which doesn't contain elements, major version set
+ qmlRegisterModuleApi("Qt.test.qobjectApiParented",1,0,qobject_api_engine_parent); // register (parented qobject) module API for a uri which doesn't contain elements
+}
+
+//#include "testtypes.moc"
diff --git a/tests/benchmarks/declarative/holistic/testtypes.h b/tests/benchmarks/declarative/holistic/testtypes.h
new file mode 100644
index 0000000000..e3e0ffa482
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/testtypes.h
@@ -0,0 +1,355 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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$
+**
+****************************************************************************/
+#ifndef TESTTYPES_H
+#define TESTTYPES_H
+
+#include <QtCore/qobject.h>
+#include <QtDeclarative/qdeclarative.h>
+#include <QtDeclarative/qdeclarativeexpression.h>
+#include <QtCore/qpoint.h>
+#include <QtCore/qsize.h>
+#include <QtDeclarative/qdeclarativelist.h>
+#include <QtCore/qrect.h>
+#include <QtGui/qmatrix.h>
+#include <QtGui/qcolor.h>
+#include <QtGui/qpixmap.h>
+#include <QtGui/qvector3d.h>
+#include <QtCore/qdatetime.h>
+#include <QtScript/qscriptvalue.h>
+#include <QtDeclarative/qdeclarativescriptstring.h>
+#include <QtDeclarative/qdeclarativecomponent.h>
+
+class MyQmlAttachedObject : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int value READ value CONSTANT)
+ Q_PROPERTY(int value2 READ value2 WRITE setValue2)
+public:
+ MyQmlAttachedObject(QObject *parent) : QObject(parent), m_value2(0) {}
+
+ int value() const { return 19; }
+ int value2() const { return m_value2; }
+ void setValue2(int v) { m_value2 = v; }
+
+ void emitMySignal() { emit mySignal(); }
+
+signals:
+ void mySignal();
+
+private:
+ int m_value2;
+};
+
+class MyQmlObject : public QObject
+{
+ Q_OBJECT
+ Q_ENUMS(MyEnum)
+ Q_ENUMS(MyEnum2)
+ Q_PROPERTY(int deleteOnSet READ deleteOnSet WRITE setDeleteOnSet)
+ Q_PROPERTY(bool trueProperty READ trueProperty CONSTANT)
+ Q_PROPERTY(bool falseProperty READ falseProperty CONSTANT)
+ Q_PROPERTY(int value READ value WRITE setValue)
+ Q_PROPERTY(int console READ console CONSTANT)
+ Q_PROPERTY(QString stringProperty READ stringProperty WRITE setStringProperty NOTIFY stringChanged)
+ Q_PROPERTY(QObject *objectProperty READ objectProperty WRITE setObjectProperty NOTIFY objectChanged)
+ Q_PROPERTY(QDeclarativeListProperty<QObject> objectListProperty READ objectListProperty CONSTANT)
+ Q_PROPERTY(int resettableProperty READ resettableProperty WRITE setResettableProperty RESET resetProperty)
+ Q_PROPERTY(QRegExp regExp READ regExp WRITE setRegExp)
+ Q_PROPERTY(int nonscriptable READ nonscriptable WRITE setNonscriptable SCRIPTABLE false)
+
+public:
+ MyQmlObject(): myinvokableObject(0), m_methodCalled(false), m_methodIntCalled(false), m_object(0), m_value(0), m_resetProperty(13) {}
+
+ enum MyEnum { EnumValue1 = 0, EnumValue2 = 1 };
+ enum MyEnum2 { EnumValue3 = 2, EnumValue4 = 3 };
+
+ bool trueProperty() const { return true; }
+ bool falseProperty() const { return false; }
+
+ QString stringProperty() const { return m_string; }
+ void setStringProperty(const QString &s)
+ {
+ if (s == m_string)
+ return;
+ m_string = s;
+ emit stringChanged();
+ }
+
+ QObject *objectProperty() const { return m_object; }
+ void setObjectProperty(QObject *obj) {
+ if (obj == m_object)
+ return;
+ m_object = obj;
+ emit objectChanged();
+ }
+
+ QDeclarativeListProperty<QObject> objectListProperty() { return QDeclarativeListProperty<QObject>(this, m_objectQList); }
+
+ bool methodCalled() const { return m_methodCalled; }
+ bool methodIntCalled() const { return m_methodIntCalled; }
+
+ QString string() const { return m_string; }
+
+ static MyQmlAttachedObject *qmlAttachedProperties(QObject *o) {
+ return new MyQmlAttachedObject(o);
+ }
+
+ int deleteOnSet() const { return 1; }
+ void setDeleteOnSet(int v) { if(v) delete this; }
+
+ int value() const { return m_value; }
+ void setValue(int v) { m_value = v; }
+
+ int resettableProperty() const { return m_resetProperty; }
+ void setResettableProperty(int v) { m_resetProperty = v; }
+ void resetProperty() { m_resetProperty = 13; }
+
+ QRegExp regExp() { return m_regExp; }
+ void setRegExp(const QRegExp &regExp) { m_regExp = regExp; }
+
+ int console() const { return 11; }
+
+ int nonscriptable() const { return 0; }
+ void setNonscriptable(int) {}
+
+ MyQmlObject *myinvokableObject;
+ Q_INVOKABLE MyQmlObject *returnme() { return this; }
+
+ struct MyType {
+ int value;
+ };
+ QVariant variant() const { return m_variant; }
+
+signals:
+ void basicSignal();
+ void argumentSignal(int a, QString b, qreal c);
+ void stringChanged();
+ void objectChanged();
+ void anotherBasicSignal();
+ void thirdBasicSignal();
+ void signalWithUnknownType(const MyQmlObject::MyType &arg);
+
+public slots:
+ void deleteMe() { delete this; }
+ void methodNoArgs() { m_methodCalled = true; }
+ void method(int a) { if(a == 163) m_methodIntCalled = true; }
+ void setString(const QString &s) { m_string = s; }
+ void myinvokable(MyQmlObject *o) { myinvokableObject = o; }
+ void variantMethod(const QVariant &v) { m_variant = v; }
+
+private:
+ friend class tst_qdeclarativeecmascript;
+ bool m_methodCalled;
+ bool m_methodIntCalled;
+
+ QObject *m_object;
+ QString m_string;
+ QList<QObject *> m_objectQList;
+ int m_value;
+ int m_resetProperty;
+ QRegExp m_regExp;
+ QVariant m_variant;
+};
+
+QML_DECLARE_TYPEINFO(MyQmlObject, QML_HAS_ATTACHED_PROPERTIES)
+Q_DECLARE_METATYPE(MyQmlObject::MyType)
+
+class testQObjectApi : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY (int qobjectTestProperty READ qobjectTestProperty NOTIFY qobjectTestPropertyChanged)
+
+public:
+ testQObjectApi(QObject* parent = 0)
+ : QObject(parent), m_testProperty(0)
+ {
+ }
+
+ ~testQObjectApi() {}
+
+ int qobjectTestProperty() const { return m_testProperty; }
+ void setQObjectTestProperty(int tp) { m_testProperty = tp; emit qobjectTestPropertyChanged(tp); }
+
+signals:
+ void qobjectTestPropertyChanged(int testProperty);
+
+private:
+ int m_testProperty;
+};
+
+class ArbitraryVariantProvider : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QVariant arbitraryVariant READ arbitraryVariant WRITE setArbitraryVariant NOTIFY arbitraryVariantChanged)
+
+public:
+ ArbitraryVariantProvider(QObject *parent = 0)
+ : QObject(parent), m_value(QVariant(QString(QLatin1String("random string value")))), m_count(1)
+ {
+ }
+
+ ~ArbitraryVariantProvider() {}
+
+ // the variant provided by the provider
+ QVariant arbitraryVariant() const { return m_value; }
+ void setArbitraryVariant(const QVariant& value) { m_value = value; emit arbitraryVariantChanged(); }
+ Q_INVOKABLE int changeVariant()
+ {
+ QPixmap pv(150, 150);
+ pv.fill(Qt::green);
+ int choice = qrand() % 4;
+ switch (choice) {
+ case 0: setArbitraryVariant(QVariant(QString(QLatin1String("string variant value")))); break;
+ case 1: setArbitraryVariant(QVariant(QColor(110, 120, 130))); break;
+ case 2: setArbitraryVariant(QVariant(55)); break;
+ default: setArbitraryVariant(QVariant(pv)); break;
+ }
+
+ m_count += 1;
+ return m_count;
+ }
+ Q_INVOKABLE QVariant setVariantToFilledPixmap(int width, int height, int r, int g, int b)
+ {
+ QPixmap pv(width % 300, height % 300);
+ pv.fill(QColor(r % 256, g % 256, b % 256));
+ m_value = pv;
+ m_count += 1;
+ return m_value;
+ }
+ Q_INVOKABLE QVariant setVariantAddCount(int addToCount, const QVariant& newValue)
+ {
+ m_value = newValue;
+ m_count += addToCount;
+ return m_value;
+ }
+ Q_INVOKABLE QVariant possibleVariant(int randomFactorOne, int randomFactorTwo, int randomFactorThree) const
+ {
+ QVariant retn;
+ QPixmap pv(randomFactorOne % 300, randomFactorTwo % 300);
+ pv.fill(QColor(randomFactorOne % 256, randomFactorTwo % 256, randomFactorThree % 256));
+ int choice = qrand() % 4;
+ switch (choice) {
+ case 0: retn = QVariant(QString(QLatin1String("string variant value"))); break;
+ case 1: retn = QVariant(QColor(randomFactorThree % 256, randomFactorTwo % 256, randomFactorOne % 256)); break;
+ case 2: retn = QVariant((55 + randomFactorThree)); break;
+ default: retn = QVariant(pv); break;
+ }
+ return retn;
+ }
+
+ // the following functions cover permutations of return value and arguments.
+ // functions with no return value:
+ Q_INVOKABLE void doNothing() const { /* does nothing */ } // no args, const
+ Q_INVOKABLE void incrementVariantChangeCount() { m_count = m_count + 1; } // no args, nonconst
+ Q_INVOKABLE void doNothing(int) const { /* does nothing. */ } // arg, const
+ Q_INVOKABLE void setVariantChangeCount(int newCount) { m_count = newCount; } // arg, nonconst
+ // functions with return value:
+ Q_INVOKABLE int variantChangeCount() const { return m_count; } // no args, const
+ Q_INVOKABLE int modifyVariantChangeCount() { m_count += 3; return m_count; } // no args, nonconst
+ Q_INVOKABLE int countPlus(int value) const { return m_count + value; } // arg, const
+ Q_INVOKABLE int modifyVariantChangeCount(int modifier) { m_count += modifier; return m_count; } // arg, nonconst.
+
+signals:
+ void arbitraryVariantChanged();
+
+private:
+ QVariant m_value;
+ int m_count;
+};
+
+class ScarceResourceProvider : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QPixmap smallScarceResource READ smallScarceResource WRITE setSmallScarceResource NOTIFY smallScarceResourceChanged)
+ Q_PROPERTY(QPixmap largeScarceResource READ largeScarceResource WRITE setLargeScarceResource NOTIFY largeScarceResourceChanged)
+
+public:
+ ScarceResourceProvider(QObject *parent = 0)
+ : QObject(parent), m_small(100, 100), m_large(1000, 1000), m_colour(1)
+ {
+ m_small.fill(Qt::blue);
+ m_large.fill(Qt::blue);
+ }
+
+ ~ScarceResourceProvider() {}
+
+ QPixmap smallScarceResource() const { return m_small; }
+ void setSmallScarceResource(QPixmap v) { m_small = v; emit smallScarceResourceChanged(); }
+ bool smallScarceResourceIsDetached() const { return m_small.isDetached(); }
+
+ QPixmap largeScarceResource() const { return m_large; }
+ void setLargeScarceResource(QPixmap v) { m_large = v; emit largeScarceResourceChanged(); }
+ bool largeScarceResourceIsDetached() const { return m_large.isDetached(); }
+
+ Q_INVOKABLE void changeResources()
+ {
+ QPixmap newSmall(100, 100);
+ QPixmap newLarge(1000, 1000);
+
+ if (m_colour == 1) {
+ m_colour = 2;
+ newSmall.fill(Qt::red);
+ newLarge.fill(Qt::red);
+ } else {
+ m_colour = 1;
+ newSmall.fill(Qt::blue);
+ newLarge.fill(Qt::blue);
+ }
+
+ setSmallScarceResource(newSmall);
+ setLargeScarceResource(newLarge);
+ }
+
+signals:
+ void smallScarceResourceChanged();
+ void largeScarceResourceChanged();
+
+private:
+ QPixmap m_small;
+ QPixmap m_large;
+
+ int m_colour;
+};
+
+void registerTypes();
+
+#endif // TESTTYPES_H
+
diff --git a/tests/benchmarks/declarative/holistic/tst_holistic.cpp b/tests/benchmarks/declarative/holistic/tst_holistic.cpp
new file mode 100644
index 0000000000..63dc11fc4b
--- /dev/null
+++ b/tests/benchmarks/declarative/holistic/tst_holistic.cpp
@@ -0,0 +1,612 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 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 "testtypes.h"
+
+#include <qtest.h>
+#include <QDeclarativeEngine>
+#include <QDeclarativeComponent>
+#include <QDeclarativeContext>
+#include <QDeclarativeProperty>
+#include <QFile>
+#include <QDebug>
+
+#ifdef Q_OS_SYMBIAN
+// In Symbian OS test data is located in applications private dir
+#define SRCDIR "."
+#endif
+
+// Conceptually, there are several different "holistic" areas to benchmark:
+// 1) Loading
+// - read file from disk
+// - parse/lex file
+// - handle nested imports
+// 2) Compilation
+// - create meta object templates etc
+// - compile to bytecode and cache it
+// 3) Instantiation
+// - running the bytecode to create an object tree, assign properties, etc
+// - and, importantly, to evaluate bindings for the first time (incl. js expressions)
+// 4) Dynamicism
+// - bindings evaluation
+// - signal handlers
+//
+// Aside from this, we also need to determine:
+// 1) JavaScript Metrics
+// - simple expressions
+// - complex expressions
+// - instantiation vs evaluation time
+// - imports and nested imports
+// 2) Context-switch costs
+// - how expensive is it to call a cpp function from QML
+// - how expensive is it to call a js function from cpp via QML
+// - how expensive is it to pass around objects between them
+// 3) Complete creation time.
+// - loading + compilation + instantiation (for "application startup time" metric)
+//
+// In some cases, we want to include "initialization costs";
+// i.e., we need to tell the engine not to cache type data resulting
+// in compilation between rounds, and we need to tell the engine not
+// to cache whatever it caches between instantiations of components.
+// The reason for this is that it is often the "first start of application"
+// performance which we're attempting to benchmark.
+
+// define some custom types we use in test data functions.
+typedef QList<QString> PropertyNameList;
+Q_DECLARE_METATYPE(PropertyNameList);
+typedef QList<QVariant> PropertyValueList;
+Q_DECLARE_METATYPE(PropertyValueList);
+
+class tst_holistic : public QObject
+{
+ Q_OBJECT
+
+public:
+ tst_holistic();
+
+private slots:
+ void initTestCase()
+ {
+ registerTypes();
+ qRegisterMetaType<PropertyNameList>("PropertyNameList");
+ qRegisterMetaType<PropertyValueList>("PropertyValueList");
+ }
+
+ void compilation_data();
+ void compilation();
+ void instantiation_data() { compilation_data(); }
+ void instantiation();
+ void creation_data() { compilation_data(); }
+ void creation();
+ void dynamicity_data();
+ void dynamicity();
+
+ void cppToJsDirect_data();
+ void cppToJsDirect();
+ void cppToJsIndirect();
+
+ void typeResolution_data();
+ void typeResolution();
+
+private:
+ QDeclarativeEngine engine;
+};
+
+tst_holistic::tst_holistic()
+{
+}
+
+inline QUrl TEST_FILE(const QString &filename)
+{
+ return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename);
+}
+
+
+void tst_holistic::compilation_data()
+{
+ QTest::addColumn<QStringList>("files");
+ QTest::addColumn<int>("repetitions");
+
+ QStringList f;
+
+ // Benchmarks: a single, small component once with no caching.
+ f << QString(SRCDIR + QLatin1String("/data/smallTargets/SmallOne.qml"));
+ QTest::newRow("single small component") << f << 1;
+
+ // Benchmarks: a single, small component ten times with caching.
+ QTest::newRow("single small component cached") << f << 10; f.clear();
+
+ // Benchmarks: a single, large component once with no caching.
+ f << QString(SRCDIR + QLatin1String("/data/largeTargets/mousearea-example.qml"));
+ QTest::newRow("single large component") << f << 1;
+
+ // Benchmarks: a single, large component ten times with caching.
+ QTest::newRow("single large component cached") << f << 10; f.clear();
+
+ // Benchmarks: 4 small components once each with no caching
+ f << QString(SRCDIR + QLatin1String("/data/smallTargets/SmallOne.qml"));
+ f << QString(SRCDIR + QLatin1String("/data/smallTargets/SmallTwo.qml"));
+ f << QString(SRCDIR + QLatin1String("/data/smallTargets/SmallThree.qml"));
+ f << QString(SRCDIR + QLatin1String("/data/smallTargets/SmallFour.qml"));
+ QTest::newRow("multiple small components") << f << 1;
+
+ // Benchmarks: 4 small components ten times each with caching
+ QTest::newRow("multiple small components cached") << f << 10; f.clear();
+
+ // Benchmarks: 3 large components once each with no caching.
+ f << QString(SRCDIR + QLatin1String("/data/largeTargets/mousearea-example.qml"));
+ f << QString(SRCDIR + QLatin1String("/data/largeTargets/gridview-example.qml"));
+ f << QString(SRCDIR + QLatin1String("/data/largeTargets/layoutdirection.qml"));
+ QTest::newRow("multiple large components") << f << 1;
+
+ // Benchmarks: 3 large components ten times each with caching.
+ QTest::newRow("multiple large components cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports a single small js file, no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/Sssi.qml"));
+ QTest::newRow("single small js import") << f << 1;
+
+ // Benchmarks: single small component which imports a single small js file, 10 reps, with caching
+ QTest::newRow("single small js import, cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports multiple small js files (no deep nesting), no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/Msbsi.qml"));
+ QTest::newRow("multiple small js imports, shallow") << f << 1;
+
+ // Benchmarks: single small component which imports multiple small js files (no deep nesting), 10 reps, with caching
+ QTest::newRow("multiple small js imports, shallow, cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports multiple small js files (with deep nesting), no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/Msdsi.qml"));
+ QTest::newRow("multiple small js imports, deeply nested") << f << 1;
+
+ // Benchmarks: single small component which imports multiple small js files (with deep nesting), 10 reps, with caching
+ QTest::newRow("multiple small js imports, deeply nested, cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports multiple small js files (nested and unnested), no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/Mssi.qml"));
+ QTest::newRow("muliple small js imports, both") << f << 1;
+
+ // Benchmarks: single small component which imports multiple small js files (nested and unnested), 10 reps, with caching
+ QTest::newRow("muliple small js imports, both, cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports a single large js file, no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/Slsi.qml"));
+ QTest::newRow("single large js import") << f << 1;
+
+ // Benchmarks: single small component which imports a single large js file, 10 reps, with caching
+ QTest::newRow("single large js import, cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports multiple large js files (no deep nesting), no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/Mlbsi.qml"));
+ QTest::newRow("multiple large js imports, shallow") << f << 1;
+
+ // Benchmarks: single small component which imports multiple large js files (no deep nesting), 10 reps, with caching
+ QTest::newRow("multiple large js imports, shallow, cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports multiple large js files (with deep nesting), no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/Mldsi.qml"));
+ QTest::newRow("multiple large js imports, deeply nested") << f << 1;
+
+ // Benchmarks: single small component which imports multiple large js files (with deep nesting), 10 reps, with caching
+ QTest::newRow("multiple large js imports, deeply nested, cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports multiple large js files (nested and unnested), no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/Mlsi.qml"));
+ QTest::newRow("multiple large js imports, both") << f << 1;
+
+ // Benchmarks: single small component which imports multiple large js files (nested and unnested), 10 reps, with caching
+ QTest::newRow("multiple large js imports, both, cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports multiple js files which all import a .pragma library js file, no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/PragmaBm.qml"));
+ QTest::newRow(".pragma library js import") << f << 1;
+
+ // Benchmarks: single small component which imports multiple js files which all import a .pragma library js file, 10 reps, with caching
+ QTest::newRow(".pragma library js import, cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports a js file which imports a QML module, no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/ModuleBm.qml"));
+ QTest::newRow("import js with QML import") << f << 1;
+
+ // Benchmarks: single small component which imports a js file which imports a QML module, 10 reps, with caching
+ QTest::newRow("import js with QML import, cached") << f << 10; f.clear();
+
+ // Benchmarks: single small component which imports multiple js files which all import a .pragma library js file and a QML module, no caching
+ f << QString(SRCDIR + QLatin1String("/data/jsImports/PragmaModuleBm.qml"));
+ QTest::newRow("import js with QML import and .pragma library") << f << 1;
+
+ // Benchmarks: single small component which imports multiple js files which all import a .pragma library js file and a QML module, 10 reps, with caching
+ QTest::newRow("import js with QML import and .pragma library, cached") << f << 10; f.clear();
+}
+
+void tst_holistic::compilation()
+{
+ // This function benchmarks the cost of loading and compiling specified QML files.
+ // If "repetitions" is non-zero, each file from "files" will be compiled "repetitions"
+ // times, without clearing the engine's component cache between compilations.
+
+ QFETCH(QStringList, files);
+ QFETCH(int, repetitions);
+ Q_ASSERT(files.size() > 0);
+ Q_ASSERT(repetitions > 0);
+
+ QBENCHMARK {
+ engine.clearComponentCache();
+ for (int i = 0; i < repetitions; ++i) {
+ for (int j = 0; j < files.size(); ++j) {
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(files.at(j)));
+ }
+ }
+ }
+}
+
+void tst_holistic::instantiation()
+{
+ // This function benchmarks the cost of instantiating components compiled from specified QML files.
+ // If "repetitions" is non-zero, each component compiled from "files" will be instantiated "repetitions"
+ // times, without clearing the component's instantiation cache between instantiations.
+
+ QFETCH(QStringList, files);
+ QFETCH(int, repetitions);
+ Q_ASSERT(files.size() > 0);
+ Q_ASSERT(repetitions > 0);
+
+ QList<QDeclarativeComponent*> components;
+ for (int i = 0; i < files.size(); ++i) {
+ QDeclarativeComponent *c = new QDeclarativeComponent(&engine, QUrl::fromLocalFile(files.at(i)));
+ components.append(c);
+ }
+
+ QBENCHMARK {
+ // XXX TODO: clear each component's instantiation cache
+
+ for (int i = 0; i < repetitions; ++i) {
+ for (int j = 0; j < components.size(); ++j) {
+ QObject *obj = components.at(j)->create();
+ delete obj;
+ }
+ }
+ }
+
+ // cleanup
+ for (int i = 0; i < components.size(); ++i) {
+ delete components.at(i);
+ }
+}
+
+void tst_holistic::creation()
+{
+ // This function benchmarks the cost of loading, compiling and instantiating specified QML files.
+ // If "repetitions" is non-zero, each file from "files" will be created "repetitions"
+ // times, without clearing the engine's component cache between component creation.
+
+ QFETCH(QStringList, files);
+ QFETCH(int, repetitions);
+ Q_ASSERT(files.size() > 0);
+ Q_ASSERT(repetitions > 0);
+
+ QBENCHMARK {
+ engine.clearComponentCache();
+ for (int i = 0; i < repetitions; ++i) {
+ for (int j = 0; j < files.size(); ++j) {
+ QDeclarativeComponent c(&engine, QUrl::fromLocalFile(files.at(j)));
+ QObject *obj = c.create();
+ delete obj;
+ }
+ }
+ }
+}
+
+void tst_holistic::dynamicity_data()
+{
+ QTest::addColumn<QString>("file");
+ QTest::addColumn<QString>("writeProperty");
+ QTest::addColumn<QVariant>("writeValueOne");
+ QTest::addColumn<QVariant>("writeValueTwo");
+ QTest::addColumn<QString>("readProperty");
+
+ QString f;
+
+ // Benchmarks: single simple property binding
+ f = QString(SRCDIR + QLatin1String("/data/dynamicTargets/DynamicOne.qml"));
+ QTest::newRow("single simple property binding") << f << QString(QLatin1String("dynamicWidth")) << QVariant(300) << QVariant(500) << QString(QLatin1String("height"));
+
+ // Benchmarks: multiple simple property bindings in one component
+ f = QString(SRCDIR + QLatin1String("/data/dynamicTargets/DynamicTwo.qml"));
+ QTest::newRow("multiple simple property bindings") << f << QString(QLatin1String("dynamicWidth")) << QVariant(300) << QVariant(500) << QString(QLatin1String("dynamicWidth"));
+
+ // Benchmarks: single simple property binding plus onPropertyChanged slot
+ f = QString(SRCDIR + QLatin1String("/data/dynamicTargets/DynamicThree.qml"));
+ QTest::newRow("single simple plus slot") << f << QString(QLatin1String("dynamicWidth")) << QVariant(300) << QVariant(500) << QString(QLatin1String("dynamicWidth"));
+
+ // Benchmarks: multiple simple property bindings plus multiple onPropertyChanged slots in one component
+ f = QString(SRCDIR + QLatin1String("/data/dynamicTargets/DynamicFour.qml"));
+ QTest::newRow("multiple simple plus slots") << f << QString(QLatin1String("dynamicWidth")) << QVariant(300) << QVariant(500) << QString(QLatin1String("dynamicHeight"));
+
+ // Benchmarks: single simple js expression in a slot
+ f = QString(SRCDIR + QLatin1String("/data/jsTargets/JsOne.qml"));
+ QTest::newRow("single simple js expression slot") << f << QString(QLatin1String("dynamicWidth")) << QVariant(300) << QVariant(500) << QString(QLatin1String("dynamicWidth"));
+
+ // Benchmarks: single complex js expression in a slot
+ f = QString(SRCDIR + QLatin1String("/data/jsTargets/JsTwo.qml"));
+ QTest::newRow("single complex js expression slot") << f << QString(QLatin1String("dynamicWidth")) << QVariant(300) << QVariant(500) << QString(QLatin1String("dynamicWidth"));
+
+ // Benchmarks: simple property assignment and bindings update
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/CppToQml.qml"));
+ QTest::newRow("single simple property binding") << f << QString(QLatin1String("arbitrary")) << QVariant(36) << QVariant(35) << QString(QLatin1String("arbitrary"));
+}
+
+void tst_holistic::dynamicity()
+{
+ // This function benchmarks the cost of "continued operation" - signal invocation,
+ // updating bindings, etc. Note that we take two different writeValues in order
+ // to force updates to occur, and we read to force lazy evaluation to occur.
+
+ QFETCH(QString, file);
+ QFETCH(QString, writeProperty);
+ QFETCH(QVariant, writeValueOne);
+ QFETCH(QVariant, writeValueTwo);
+ QFETCH(QString, readProperty);
+
+ QDeclarativeComponent c(&engine, file);
+ QObject *obj = c.create();
+
+ QVariant readValue;
+ QVariant writeValue;
+ bool usedFirst = false;
+
+ QBENCHMARK {
+ if (usedFirst) {
+ writeValue = writeValueTwo;
+ usedFirst = false;
+ } else {
+ writeValue = writeValueOne;
+ usedFirst = true;
+ }
+
+ obj->setProperty(writeProperty.toAscii().constData(), writeValue);
+ readValue = obj->property(readProperty.toAscii().constData());
+ }
+
+ delete obj;
+}
+
+
+
+
+
+
+
+void tst_holistic::cppToJsDirect_data()
+{
+ QTest::addColumn<QString>("file");
+ QTest::addColumn<QString>("methodName");
+
+ QString f;
+
+ // Benchmarks: cost of calling a js function from cpp directly
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/CppToJs.qml"));
+ QTest::newRow("cpp-to-js") << f << QString(QLatin1String("callJsFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // const CPP function with no return value and no arguments.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppOne.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: no retn, no args") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // nonconst CPP function with no return value and no arguments.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppTwo.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: nonconst, no retn, no args") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // const CPP function with no return value and a single integer argument.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppThree.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: const, no retn, int arg") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // nonconst CPP function with no return value and a single integer argument.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppFour.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: nonconst, no retn, int arg") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // const CPP function with an integer return value and no arguments.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppFive.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: const, int retn, no args") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // nonconst CPP function with an integer return value and no arguments.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppSix.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: nonconst, int retn, no args") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // const CPP function with an integer return value and a single integer argument.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppSeven.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: const, int retn, int arg") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // nonconst CPP function with an integer return value and a single integer argument.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppEight.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: nonconst, int retn, int arg") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // const CPP function with a variant return value and multiple integer arguments.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppNine.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: const, variant retn, int args") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // nonconst CPP function with a variant return value and multiple integer arguments.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppTen.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: nonconst, variant retn, int args") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: cost of calling js function which calls cpp function:
+ // nonconst CPP function with a variant return value and multiple integer arguments.
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/JsToCppEleven.qml"));
+ QTest::newRow("cpp-to-js-to-cpp: nonconst, variant retn, variant + int args") << f << QString(QLatin1String("callCppFunction"));
+
+ // Benchmarks: calling js function which copies scarce resources by calling back into cpp scope
+ f = QString(SRCDIR + QLatin1String("/data/scopeSwitching/ScarceOne.qml"));
+ QTest::newRow("cpp-to-js-to-coo: copy scarce resources") << f << QString(QLatin1String("copyScarceResources"));
+}
+
+
+void tst_holistic::cppToJsDirect()
+{
+ // This function benchmarks the cost of calling from CPP scope to JS scope
+ // (and possibly vice versa, if the invoked js method then calls to cpp).
+
+ QFETCH(QString, file);
+ QFETCH(QString, methodName);
+
+ QDeclarativeComponent c(&engine, file);
+ QObject *obj = c.create();
+
+ QBENCHMARK {
+ QMetaObject::invokeMethod(obj, methodName.toLatin1().constData());
+ }
+
+ delete obj;
+}
+
+
+void tst_holistic::cppToJsIndirect()
+{
+ // This function benchmarks the cost of binding scarce resources
+ // to properties of a QML component. The engine should automatically release such
+ // resources when they are no longer used.
+ // The benchmark deliberately causes change signals to be emitted (and
+ // modifies the scarce resources) so that the properties are updated.
+
+ QDeclarativeComponent c(&engine, QString(SRCDIR + QLatin1String("/data/scopeSwitching/ScarceTwo.qml")));
+ QObject *obj = c.create();
+
+ ScarceResourceProvider *srp = 0;
+ srp = qobject_cast<ScarceResourceProvider*>(QDeclarativeProperty::read(obj, "a").value<QObject*>());
+
+ QBENCHMARK {
+ srp->changeResources(); // will cause small+large scarce resources changed signals to be emitted.
+ }
+
+ delete obj;
+}
+
+
+
+
+
+void tst_holistic::typeResolution_data()
+{
+ QTest::addColumn<QString>("file");
+ QTest::addColumn<PropertyNameList>("propertyNameOne");
+ QTest::addColumn<PropertyValueList>("propertyValueOne");
+ QTest::addColumn<PropertyNameList>("propertyNameTwo");
+ QTest::addColumn<PropertyValueList>("propertyValueTwo");
+ QTest::addColumn<int>("repetitions");
+
+ QString f;
+ PropertyNameList pn1;
+ PropertyValueList pv1;
+ PropertyNameList pn2;
+ PropertyValueList pv2;
+
+ // Benchmarks: resolving nested ids and types, no caching
+ f = QString(SRCDIR + QLatin1String("/data/resolutionTargets/ResolveOne.qml"));
+ pn1 << QString(QLatin1String("baseWidth")) << QString(QLatin1String("baseHeight")) << QString(QLatin1String("baseColor"));
+ pv1 << QVariant(401) << QVariant(402) << QVariant(QString(QLatin1String("brown")));
+ pn2 << QString(QLatin1String("baseWidth")) << QString(QLatin1String("baseHeight")) << QString(QLatin1String("baseColor"));
+ pv2 << QVariant(403) << QVariant(404) << QVariant(QString(QLatin1String("orange")));
+ QTest::newRow("nested id resolution") << f << pn1 << pv1 << pn2 << pv2 << 1;
+
+ // Benchmarks: resolving nested ids and types, 10 reps with caching
+ QTest::newRow("nested id resolution, cached") << f << pn1 << pv1 << pn2 << pv2 << 10;
+ pn1.clear(); pn2.clear(); pv1.clear(); pv2.clear();
+}
+
+void tst_holistic::typeResolution()
+{
+ // This function benchmarks the cost of "continued operation" (signal invocation,
+ // updating bindings, etc) where the component has lots of nested items with
+ // lots of resolving required. Note that we take two different writeValues in order
+ // to force updates to occur.
+
+ QFETCH(QString, file);
+ QFETCH(PropertyNameList, propertyNameOne);
+ QFETCH(PropertyValueList, propertyValueOne);
+ QFETCH(PropertyNameList, propertyNameTwo);
+ QFETCH(PropertyValueList, propertyValueTwo);
+ QFETCH(int, repetitions);
+
+ Q_ASSERT(propertyNameOne.size() == propertyValueOne.size());
+ Q_ASSERT(propertyNameTwo.size() == propertyValueTwo.size());
+ Q_ASSERT(repetitions > 0);
+
+ QDeclarativeComponent c(&engine, file);
+ QObject *obj = c.create();
+
+ PropertyNameList writeProperty;
+ PropertyValueList writeValue;
+ bool usedFirst = false;
+
+ QBENCHMARK {
+ for (int i = 0; i < repetitions; ++i) {
+ if (usedFirst) {
+ writeProperty = propertyNameOne;
+ writeValue = propertyValueOne;
+ usedFirst = false;
+ } else {
+ writeProperty = propertyNameTwo;
+ writeValue = propertyValueTwo;
+ usedFirst = true;
+ }
+
+ for (int j = 0; j < writeProperty.size(); ++j) {
+ obj->setProperty(writeProperty.at(j).toAscii().constData(), writeValue.at(j));
+ }
+ }
+ }
+
+ delete obj;
+}
+
+
+QTEST_MAIN(tst_holistic)
+
+#include "tst_holistic.moc"
diff --git a/tests/benchmarks/declarative/script/data/enums.qml b/tests/benchmarks/declarative/script/data/enums.qml
new file mode 100644
index 0000000000..81b27b9a58
--- /dev/null
+++ b/tests/benchmarks/declarative/script/data/enums.qml
@@ -0,0 +1,51 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Declarative 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+
+Item {
+ function runtest() {
+ var a = 0;
+ for (var ii = 0; ii < 100000; ++ii)
+ a += Text.RichText;
+ return a;
+ }
+}
diff --git a/tests/benchmarks/declarative/script/data/namespacedEnums.qml b/tests/benchmarks/declarative/script/data/namespacedEnums.qml
new file mode 100644
index 0000000000..dd3fa97de9
--- /dev/null
+++ b/tests/benchmarks/declarative/script/data/namespacedEnums.qml
@@ -0,0 +1,52 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Declarative 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0 as QtQuick
+
+QtQuick.Item {
+ function runtest() {
+ var a = 0;
+ for (var ii = 0; ii < 100000; ++ii)
+ a += QtQuick.Text.RichText;
+ return a;
+ }
+}
+
diff --git a/tests/benchmarks/declarative/script/data/script.js b/tests/benchmarks/declarative/script/data/script.js
new file mode 100644
index 0000000000..9f46570004
--- /dev/null
+++ b/tests/benchmarks/declarative/script/data/script.js
@@ -0,0 +1 @@
+function func() { return 1; }
diff --git a/tests/benchmarks/declarative/script/data/script2.js b/tests/benchmarks/declarative/script/data/script2.js
new file mode 100644
index 0000000000..102f081140
--- /dev/null
+++ b/tests/benchmarks/declarative/script/data/script2.js
@@ -0,0 +1,2 @@
+function func() { return 2; }
+
diff --git a/tests/benchmarks/declarative/script/data/scriptCall.qml b/tests/benchmarks/declarative/script/data/scriptCall.qml
new file mode 100644
index 0000000000..62014eb87a
--- /dev/null
+++ b/tests/benchmarks/declarative/script/data/scriptCall.qml
@@ -0,0 +1,54 @@
+/****************************************************************************
+**
+** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
+** All rights reserved.
+** Contact: Nokia Corporation (qt-info@nokia.com)
+**
+** This file is part of the Declarative 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$
+**
+****************************************************************************/
+
+import QtQuick 1.0
+import "script.js" as Script
+import "script2.js" as OtherScript
+
+Item {
+ function runtest() {
+ var a = 0;
+ for (var ii = 0; ii < 1000000; ++ii)
+ a += Script.func();
+ return a;
+ }
+}
+
diff --git a/tests/benchmarks/declarative/script/tst_script.cpp b/tests/benchmarks/declarative/script/tst_script.cpp
index 4f4da8bd45..4321b09b75 100644
--- a/tests/benchmarks/declarative/script/tst_script.cpp
+++ b/tests/benchmarks/declarative/script/tst_script.cpp
@@ -70,6 +70,9 @@ private slots:
void property_qobject();
void property_qmlobject();
+ void setproperty_js();
+ void setproperty_qmlobject();
+
void function_js();
void function_cpp();
void function_qobject();
@@ -98,6 +101,10 @@ private slots:
void global_property_qml_js();
void scriptfile_property();
+
+ void enums();
+ void namespacedEnums();
+ void scriptCall();
};
inline QUrl TEST_FILE(const QString &filename)
@@ -108,12 +115,13 @@ inline QUrl TEST_FILE(const QString &filename)
class TestObject : public QObject
{
Q_OBJECT
- Q_PROPERTY(int x READ x)
+ Q_PROPERTY(int x READ x WRITE setX)
public:
TestObject(QObject *parent = 0);
int x();
+ void setX(int x) { m_x = x; }
void emitMySignal() { emit mySignal(); }
void emitMySignalWithArgs(int n) { emit mySignalWithArgs(n); }
@@ -323,6 +331,49 @@ void tst_script::property_qmlobject()
}
}
+#define SETPROPERTY_PROGRAM \
+ "(function(testObject) { return (function() { " \
+ " for (var ii = 0; ii < 10000; ++ii) { " \
+ " testObject.x = ii; " \
+ " } " \
+ "}); })"
+
+void tst_script::setproperty_js()
+{
+ QScriptEngine engine;
+
+ QScriptValue v = engine.newObject();
+ v.setProperty(QLatin1String("x"), 0);
+
+ QScriptValueList args;
+ args << v;
+ QScriptValue prog = engine.evaluate(SETPROPERTY_PROGRAM).call(engine.globalObject(), args);
+ prog.call();
+
+ QBENCHMARK {
+ prog.call();
+ }
+}
+
+void tst_script::setproperty_qmlobject()
+{
+ QDeclarativeEngine qmlengine;
+
+ QScriptEngine *engine = QDeclarativeEnginePrivate::getScriptEngine(&qmlengine);
+ TestObject to;
+
+ QScriptValue v = QDeclarativeEnginePrivate::get(&qmlengine)->objectClass->newQObject(&to);
+
+ QScriptValueList args;
+ args << v;
+ QScriptValue prog = engine->evaluate(SETPROPERTY_PROGRAM).call(engine->globalObject(), args);
+ prog.call();
+
+ QBENCHMARK {
+ prog.call();
+ }
+}
+
#define FUNCTION_PROGRAM \
"(function(testObject) { return (function() { " \
" var test = 0; " \
@@ -698,6 +749,60 @@ void tst_script::scriptfile_property()
delete rect;
}
+void tst_script::enums()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, TEST_FILE("enums.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ int index = o->metaObject()->indexOfMethod("runtest()");
+ QVERIFY(index != -1);
+ QMetaMethod method = o->metaObject()->method(index);
+
+ QBENCHMARK {
+ method.invoke(o, Qt::DirectConnection);
+ }
+
+ delete o;
+}
+
+void tst_script::namespacedEnums()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, TEST_FILE("namespacedEnums.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ int index = o->metaObject()->indexOfMethod("runtest()");
+ QVERIFY(index != -1);
+ QMetaMethod method = o->metaObject()->method(index);
+
+ QBENCHMARK {
+ method.invoke(o, Qt::DirectConnection);
+ }
+
+ delete o;
+}
+
+void tst_script::scriptCall()
+{
+ QDeclarativeEngine engine;
+ QDeclarativeComponent component(&engine, TEST_FILE("scriptCall.qml"));
+ QObject *o = component.create();
+ QVERIFY(o != 0);
+
+ int index = o->metaObject()->indexOfMethod("runtest()");
+ QVERIFY(index != -1);
+ QMetaMethod method = o->metaObject()->method(index);
+
+ QBENCHMARK {
+ method.invoke(o, Qt::DirectConnection);
+ }
+
+ delete o;
+}
+
QTEST_MAIN(tst_script)
#include "tst_script.moc"