diff options
194 files changed, 13915 insertions, 382 deletions
diff --git a/demos/declarative/minehunt/Explosion.qml b/demos/declarative/minehunt/Explosion.qml index a997048..e337c46 100644 --- a/demos/declarative/minehunt/Explosion.qml +++ b/demos/declarative/minehunt/Explosion.qml @@ -16,13 +16,10 @@ Item { velocity: 100 velocityDeviation: 20 z: 100 - opacity: 0 - streamIn: false + opacity: 1 } states: [ State { name: "exploding"; when: explode == true - PropertyChanges { target: particles; count: 200 } - PropertyChanges { target: particles; opacity: 1 } - PropertyChanges { target: particles; emitting: false } // i.e. emit only once + StateChangeScript {script: particles.burst(200); } } ] diff --git a/demos/declarative/minehunt/main.cpp b/demos/declarative/minehunt/main.cpp index f4cd6a5..5e67cc1 100644 --- a/demos/declarative/minehunt/main.cpp +++ b/demos/declarative/minehunt/main.cpp @@ -92,7 +92,7 @@ private: }; QML_DECLARE_TYPE(Tile); -QML_DEFINE_TYPE(0,0,0,0,Tile,Tile); +QML_DEFINE_TYPE(0,0,0,Tile,Tile); class MyWidget : public QWidget { diff --git a/demos/declarative/samegame/content/BoomBlock.qml b/demos/declarative/samegame/content/BoomBlock.qml index b0c297b..723e62a 100644 --- a/demos/declarative/samegame/content/BoomBlock.qml +++ b/demos/declarative/samegame/content/BoomBlock.qml @@ -26,9 +26,11 @@ Item { id:block } Particles { id: particles - width:1; height:1; anchors.centerIn: parent; opacity: 0 - lifeSpan: 700; lifeSpanDeviation: 600; count:0; streamIn: false - angle: 0; angleDeviation: 360; velocity: 100; velocityDeviation:30 + width:1; height:1; anchors.centerIn: parent; + emissionRate: 0; + lifeSpan: 700; lifeSpanDeviation: 600; + angle: 0; angleDeviation: 360; + velocity: 100; velocityDeviation:30; source: { if(type == 0){ "pics/redStar.png"; @@ -45,9 +47,7 @@ Item { id:block PropertyChanges { target: img; opacity: 1 } }, State{ name: "DeathState"; when: dying == true - PropertyChanges { target: particles; count: 50 } - PropertyChanges { target: particles; opacity: 1 } - PropertyChanges { target: particles; emitting: false } // i.e. emit only once + StateChangeScript { script: particles.burst(50); } PropertyChanges { target: img; opacity: 0 } StateChangeScript { script: block.destroy(1000); } } diff --git a/doc/src/declarative/advtutorial4.qdoc b/doc/src/declarative/advtutorial4.qdoc index e30fe84..5f8c0e9 100644 --- a/doc/src/declarative/advtutorial4.qdoc +++ b/doc/src/declarative/advtutorial4.qdoc @@ -106,9 +106,9 @@ the block, like so: \snippet declarative/tutorials/samegame/samegame4/content/BoomBlock.qml 3 -To fully understand this you'll want to look at the Particles element documentation, but it's important to note that count is set -to zero. -We next extend the 'dying' state, which triggers the particles by setting the count to non-zero. The code for the states now look +To fully understand this you'll want to look at the Particles element documentation, but it's important to note that emissionRate is set +to zero, so that no particles are emitted normally. +We next extend the 'dying' state, which creates a burst of particles by calling the burst method on the particles element. The code for the states now look like this: \snippet declarative/tutorials/samegame/samegame4/content/BoomBlock.qml 4 diff --git a/doc/src/declarative/modules.qdoc b/doc/src/declarative/modules.qdoc index 2f7cb57..1491fea 100644 --- a/doc/src/declarative/modules.qdoc +++ b/doc/src/declarative/modules.qdoc @@ -91,14 +91,16 @@ mapping from all type names to versioned QML files. It is a list of lines of the \code # <Comment> -<TypeName> <VersionRange> <File> +<TypeName> <InitialVersion> <File> \endcode -<TypeName> is the type being made available; <VersionRange> is either a single version -number like \c 4.0 or a range of minor versions like \c 4.0-2; <File> is the (relative) +<TypeName> is the type being made available; <InitialVersion> is a version +number like \c 4.0; <File> is the (relative) file name of the QML file defining the type. -The same type can be provided by different files in different versions. -If a type is in multiple major versions, it should be listed on a separate line. + +The same type can be provided by different files in different versions, in which +case later earlier versions (eg. 1.2) must precede earlier versions (eg. 1.0), +since the \e first name-version match is used. Installed files do not need to import the module of which they are a part, as they can refer to the other QML files in the module as relative (local) files. diff --git a/examples/declarative/extending/adding/person.cpp b/examples/declarative/extending/adding/person.cpp index 0035282..832bcdc 100644 --- a/examples/declarative/extending/adding/person.cpp +++ b/examples/declarative/extending/adding/person.cpp @@ -66,5 +66,5 @@ void Person::setShoeSize(int s) m_shoeSize = s; } -QML_DEFINE_TYPE(People, 1, 0, 0, Person, Person); +QML_DEFINE_TYPE(People, 1,0, Person, Person); // ![0] diff --git a/examples/declarative/extending/attached/birthdayparty.cpp b/examples/declarative/extending/attached/birthdayparty.cpp index 58ea6a0..c1f0fe8 100644 --- a/examples/declarative/extending/attached/birthdayparty.cpp +++ b/examples/declarative/extending/attached/birthdayparty.cpp @@ -82,4 +82,4 @@ BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object) return new BirthdayPartyAttached(object); } -QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty); +QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty); diff --git a/examples/declarative/extending/attached/person.cpp b/examples/declarative/extending/attached/person.cpp index a4138c7..8105ee7 100644 --- a/examples/declarative/extending/attached/person.cpp +++ b/examples/declarative/extending/attached/person.cpp @@ -113,11 +113,11 @@ Boy::Boy(QObject * parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy); +QML_DEFINE_TYPE(People, 1,0, Boy, Boy); Girl::Girl(QObject * parent) : Person(parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl); +QML_DEFINE_TYPE(People, 1,0, Girl, Girl); diff --git a/examples/declarative/extending/binding/birthdayparty.cpp b/examples/declarative/extending/binding/birthdayparty.cpp index cfa35c1..13d6bc8 100644 --- a/examples/declarative/extending/binding/birthdayparty.cpp +++ b/examples/declarative/extending/binding/birthdayparty.cpp @@ -103,4 +103,4 @@ BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object) return new BirthdayPartyAttached(object); } -QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty); +QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty); diff --git a/examples/declarative/extending/binding/happybirthday.cpp b/examples/declarative/extending/binding/happybirthday.cpp index ffd6de4..9ce5a3d 100644 --- a/examples/declarative/extending/binding/happybirthday.cpp +++ b/examples/declarative/extending/binding/happybirthday.cpp @@ -84,4 +84,4 @@ void HappyBirthday::advance() m_target.write(m_lyrics.at(m_line)); } -QML_DEFINE_TYPE(People, 1, 0, 0, HappyBirthday, HappyBirthday); +QML_DEFINE_TYPE(People, 1,0, HappyBirthday, HappyBirthday); diff --git a/examples/declarative/extending/binding/person.cpp b/examples/declarative/extending/binding/person.cpp index a388452..6ad62e9 100644 --- a/examples/declarative/extending/binding/person.cpp +++ b/examples/declarative/extending/binding/person.cpp @@ -133,11 +133,11 @@ Boy::Boy(QObject * parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy); +QML_DEFINE_TYPE(People, 1,0, Boy, Boy); Girl::Girl(QObject * parent) : Person(parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl); +QML_DEFINE_TYPE(People, 1,0, Girl, Girl); diff --git a/examples/declarative/extending/coercion/birthdayparty.cpp b/examples/declarative/extending/coercion/birthdayparty.cpp index 81303aa..f3e0846 100644 --- a/examples/declarative/extending/coercion/birthdayparty.cpp +++ b/examples/declarative/extending/coercion/birthdayparty.cpp @@ -60,4 +60,4 @@ QmlList<Person *> *BirthdayParty::guests() return &m_guests; } -QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty); +QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty); diff --git a/examples/declarative/extending/coercion/person.cpp b/examples/declarative/extending/coercion/person.cpp index 9009612..a897d8d 100644 --- a/examples/declarative/extending/coercion/person.cpp +++ b/examples/declarative/extending/coercion/person.cpp @@ -75,12 +75,12 @@ Boy::Boy(QObject * parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy); +QML_DEFINE_TYPE(People, 1,0, Boy, Boy); Girl::Girl(QObject * parent) : Person(parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl); +QML_DEFINE_TYPE(People, 1,0, Girl, Girl); // ![1] diff --git a/examples/declarative/extending/default/birthdayparty.cpp b/examples/declarative/extending/default/birthdayparty.cpp index 81303aa..f3e0846 100644 --- a/examples/declarative/extending/default/birthdayparty.cpp +++ b/examples/declarative/extending/default/birthdayparty.cpp @@ -60,4 +60,4 @@ QmlList<Person *> *BirthdayParty::guests() return &m_guests; } -QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty); +QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty); diff --git a/examples/declarative/extending/default/person.cpp b/examples/declarative/extending/default/person.cpp index 2c93f5b..a5eafc4 100644 --- a/examples/declarative/extending/default/person.cpp +++ b/examples/declarative/extending/default/person.cpp @@ -72,11 +72,11 @@ Boy::Boy(QObject * parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy); +QML_DEFINE_TYPE(People, 1,0, Boy, Boy); Girl::Girl(QObject * parent) : Person(parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl); +QML_DEFINE_TYPE(People, 1,0, Girl, Girl); diff --git a/examples/declarative/extending/extended/lineedit.cpp b/examples/declarative/extending/extended/lineedit.cpp index c6015ff..8a31004 100644 --- a/examples/declarative/extending/extended/lineedit.cpp +++ b/examples/declarative/extending/extended/lineedit.cpp @@ -103,4 +103,4 @@ void LineEditExtension::setBottomMargin(int m) } QML_DECLARE_TYPE(QLineEdit); -QML_DEFINE_EXTENDED_TYPE(People, 1, 0, 0, QLineEdit, QLineEdit, LineEditExtension); +QML_DEFINE_EXTENDED_TYPE(People, 1,0, QLineEdit, QLineEdit, LineEditExtension); diff --git a/examples/declarative/extending/grouped/birthdayparty.cpp b/examples/declarative/extending/grouped/birthdayparty.cpp index 81303aa..f3e0846 100644 --- a/examples/declarative/extending/grouped/birthdayparty.cpp +++ b/examples/declarative/extending/grouped/birthdayparty.cpp @@ -60,4 +60,4 @@ QmlList<Person *> *BirthdayParty::guests() return &m_guests; } -QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty); +QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty); diff --git a/examples/declarative/extending/grouped/person.cpp b/examples/declarative/extending/grouped/person.cpp index a4138c7..8105ee7 100644 --- a/examples/declarative/extending/grouped/person.cpp +++ b/examples/declarative/extending/grouped/person.cpp @@ -113,11 +113,11 @@ Boy::Boy(QObject * parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy); +QML_DEFINE_TYPE(People, 1,0, Boy, Boy); Girl::Girl(QObject * parent) : Person(parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl); +QML_DEFINE_TYPE(People, 1,0, Girl, Girl); diff --git a/examples/declarative/extending/properties/birthdayparty.cpp b/examples/declarative/extending/properties/birthdayparty.cpp index 0e82b87..b98a691 100644 --- a/examples/declarative/extending/properties/birthdayparty.cpp +++ b/examples/declarative/extending/properties/birthdayparty.cpp @@ -62,4 +62,4 @@ QmlList<Person *> *BirthdayParty::guests() } // ![0] -QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty); +QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty); diff --git a/examples/declarative/extending/properties/person.cpp b/examples/declarative/extending/properties/person.cpp index 764e159..b41d0b6 100644 --- a/examples/declarative/extending/properties/person.cpp +++ b/examples/declarative/extending/properties/person.cpp @@ -65,4 +65,4 @@ void Person::setShoeSize(int s) m_shoeSize = s; } -QML_DEFINE_TYPE(People, 1, 0, 0, Person, Person); +QML_DEFINE_TYPE(People, 1,0, Person, Person); diff --git a/examples/declarative/extending/signal/birthdayparty.cpp b/examples/declarative/extending/signal/birthdayparty.cpp index 49072e0..178ce0e 100644 --- a/examples/declarative/extending/signal/birthdayparty.cpp +++ b/examples/declarative/extending/signal/birthdayparty.cpp @@ -88,4 +88,4 @@ BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object) return new BirthdayPartyAttached(object); } -QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty); +QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty); diff --git a/examples/declarative/extending/signal/person.cpp b/examples/declarative/extending/signal/person.cpp index a4138c7..8105ee7 100644 --- a/examples/declarative/extending/signal/person.cpp +++ b/examples/declarative/extending/signal/person.cpp @@ -113,11 +113,11 @@ Boy::Boy(QObject * parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy); +QML_DEFINE_TYPE(People, 1,0, Boy, Boy); Girl::Girl(QObject * parent) : Person(parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl); +QML_DEFINE_TYPE(People, 1,0, Girl, Girl); diff --git a/examples/declarative/extending/valuesource/birthdayparty.cpp b/examples/declarative/extending/valuesource/birthdayparty.cpp index c2e8346..b0472d0 100644 --- a/examples/declarative/extending/valuesource/birthdayparty.cpp +++ b/examples/declarative/extending/valuesource/birthdayparty.cpp @@ -98,4 +98,4 @@ BirthdayPartyAttached *BirthdayParty::qmlAttachedProperties(QObject *object) return new BirthdayPartyAttached(object); } -QML_DEFINE_TYPE(People, 1, 0, 0, BirthdayParty, BirthdayParty); +QML_DEFINE_TYPE(People, 1,0, BirthdayParty, BirthdayParty); diff --git a/examples/declarative/extending/valuesource/happybirthday.cpp b/examples/declarative/extending/valuesource/happybirthday.cpp index 8c9763b..b453944 100644 --- a/examples/declarative/extending/valuesource/happybirthday.cpp +++ b/examples/declarative/extending/valuesource/happybirthday.cpp @@ -79,4 +79,4 @@ void HappyBirthday::advance() m_target.write(m_lyrics.at(m_line)); } -QML_DEFINE_TYPE(People, 1, 0, 0, HappyBirthday, HappyBirthday); +QML_DEFINE_TYPE(People, 1,0, HappyBirthday, HappyBirthday); diff --git a/examples/declarative/extending/valuesource/person.cpp b/examples/declarative/extending/valuesource/person.cpp index a4138c7..8105ee7 100644 --- a/examples/declarative/extending/valuesource/person.cpp +++ b/examples/declarative/extending/valuesource/person.cpp @@ -113,11 +113,11 @@ Boy::Boy(QObject * parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Boy, Boy); +QML_DEFINE_TYPE(People, 1,0, Boy, Boy); Girl::Girl(QObject * parent) : Person(parent) { } -QML_DEFINE_TYPE(People, 1, 0, 0, Girl, Girl); +QML_DEFINE_TYPE(People, 1,0, Girl, Girl); diff --git a/examples/declarative/loader/qmlfolderlistmodel.cpp b/examples/declarative/loader/qmlfolderlistmodel.cpp index a90ff61..14d2324 100644 --- a/examples/declarative/loader/qmlfolderlistmodel.cpp +++ b/examples/declarative/loader/qmlfolderlistmodel.cpp @@ -382,7 +382,7 @@ void QmlFolderListModel::setShowOnlyReadable(bool on) } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,FolderListModel,QmlFolderListModel) +QML_DEFINE_TYPE(Qt,4,6,FolderListModel,QmlFolderListModel) QT_END_NAMESPACE diff --git a/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml b/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml index 7ad8b07..4c2ba43 100644 --- a/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml +++ b/examples/declarative/tutorials/samegame/samegame4/content/BoomBlock.qml @@ -31,9 +31,11 @@ Item { id:block //![3] Particles { id: particles - width:1; height:1; anchors.centerIn: parent; opacity: 0 - lifeSpan: 700; lifeSpanDeviation: 600; count:0; streamIn: false - angle: 0; angleDeviation: 360; velocity: 100; velocityDeviation:30 + width:1; height:1; anchors.centerIn: parent; + emissionRate: 0; + lifeSpan: 700; lifeSpanDeviation: 600; + angle: 0; angleDeviation: 360; + velocity: 100; velocityDeviation:30; source: { if(type == 0){ "pics/redStar.png"; @@ -52,10 +54,9 @@ Item { id:block PropertyChanges { target: img; opacity: 1 } }, State{ name: "DeathState"; when: dying == true - PropertyChanges { target: particles; count: 50 } - PropertyChanges { target: particles; opacity: 1 } - PropertyChanges { target: particles; emitting: false } // i.e. emit only once + StateChangeScript { script: particles.burst(50); } PropertyChanges { target: img; opacity: 0 } + StateChangeScript { script: block.destroy(1000); } } ] //![4] diff --git a/src/declarative/QmlChanges.txt b/src/declarative/QmlChanges.txt index 465ee9e..c85ef77 100644 --- a/src/declarative/QmlChanges.txt +++ b/src/declarative/QmlChanges.txt @@ -82,6 +82,7 @@ Loader: add sourceComponent property Loader: add resizeMode property ListView: preferredHighlightBegin, preferredHighlightEnd ListView: strictlyEnforceHighlightRange +Particles: Added emissionRate, emissionVariance and burst() Deletions: Column/VerticalPositioner: lost "margins" property @@ -92,6 +93,7 @@ Flickable: removed "dragMode" property ComponentInstance: removed. Replaced by Loader.sourceComponent ListView: removed currentItemMode. Replaced by highligh range. ListView: removed snapPos. +Particles: removed streamIn. Replaced by emissionRate Other Changes: ids must be lowercase: Text { id: foo }, not Text { id: Foo } diff --git a/src/declarative/extra/extra.pri b/src/declarative/extra/extra.pri index a84dfca..78272a9 100644 --- a/src/declarative/extra/extra.pri +++ b/src/declarative/extra/extra.pri @@ -3,7 +3,6 @@ SOURCES += \ extra/qmlnumberformatter.cpp \ extra/qmldatetimeformatter.cpp \ extra/qmlgraphicsanimatedimageitem.cpp \ - extra/qmlgraphicsparticles.cpp \ extra/qmlbehavior.cpp \ extra/qmlfontloader.cpp @@ -13,7 +12,6 @@ HEADERS += \ extra/qmldatetimeformatter_p.h \ extra/qmlgraphicsanimatedimageitem_p.h \ extra/qmlgraphicsanimatedimageitem_p_p.h \ - extra/qmlgraphicsparticles_p.h \ extra/qmlbehavior_p.h \ extra/qmlfontloader_p.h diff --git a/src/declarative/extra/qmlbehavior.cpp b/src/declarative/extra/qmlbehavior.cpp index d6f4b42..e5d3d35 100644 --- a/src/declarative/extra/qmlbehavior.cpp +++ b/src/declarative/extra/qmlbehavior.cpp @@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Behavior,QmlBehavior) +QML_DEFINE_TYPE(Qt,4,6,Behavior,QmlBehavior) class QmlBehaviorPrivate : public QObjectPrivate { diff --git a/src/declarative/extra/qmldatetimeformatter.cpp b/src/declarative/extra/qmldatetimeformatter.cpp index 4441850..983287e 100644 --- a/src/declarative/extra/qmldatetimeformatter.cpp +++ b/src/declarative/extra/qmldatetimeformatter.cpp @@ -365,6 +365,6 @@ void QmlDateTimeFormatter::componentComplete() d->updateText(); } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,DateTimeFormatter,QmlDateTimeFormatter) +QML_DEFINE_TYPE(Qt,4,6,DateTimeFormatter,QmlDateTimeFormatter) QT_END_NAMESPACE diff --git a/src/declarative/extra/qmlfontloader.cpp b/src/declarative/extra/qmlfontloader.cpp index e8db649..f51ef98 100644 --- a/src/declarative/extra/qmlfontloader.cpp +++ b/src/declarative/extra/qmlfontloader.cpp @@ -67,7 +67,7 @@ public: QmlFontLoader::Status status; }; -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,FontLoader,QmlFontLoader) +QML_DEFINE_TYPE(Qt,4,6,FontLoader,QmlFontLoader) /*! \qmlclass FontLoader QmlFontLoader diff --git a/src/declarative/extra/qmlgraphicsanimatedimageitem.cpp b/src/declarative/extra/qmlgraphicsanimatedimageitem.cpp index f3c2058..2405bde 100644 --- a/src/declarative/extra/qmlgraphicsanimatedimageitem.cpp +++ b/src/declarative/extra/qmlgraphicsanimatedimageitem.cpp @@ -76,7 +76,7 @@ Item { \endqml \endtable */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,AnimatedImage,QmlGraphicsAnimatedImageItem) +QML_DEFINE_TYPE(Qt,4,6,AnimatedImage,QmlGraphicsAnimatedImageItem) QmlGraphicsAnimatedImageItem::QmlGraphicsAnimatedImageItem(QmlGraphicsItem *parent) : QmlGraphicsImage(*(new QmlGraphicsAnimatedImageItemPrivate), parent) @@ -158,15 +158,17 @@ int QmlGraphicsAnimatedImageItem::currentFrame() const { Q_D(const QmlGraphicsAnimatedImageItem); if (!d->_movie) - return -1; + return d->preset_currentframe; return d->_movie->currentFrameNumber(); } void QmlGraphicsAnimatedImageItem::setCurrentFrame(int frame) { Q_D(QmlGraphicsAnimatedImageItem); - if (!d->_movie) + if (!d->_movie) { + d->preset_currentframe = frame; return; + } d->_movie->jumpToFrame(frame); } @@ -264,8 +266,10 @@ void QmlGraphicsAnimatedImageItem::movieRequestFinished() d->_movie->setCacheMode(QMovie::CacheAll); if(d->playing) d->_movie->start(); - else - d->_movie->jumpToFrame(0); + else { + d->_movie->jumpToFrame(d->preset_currentframe); + d->preset_currentframe = 0; + } if(d->paused) d->_movie->setPaused(true); d->setPixmap(d->_movie->currentPixmap()); @@ -291,4 +295,11 @@ void QmlGraphicsAnimatedImageItem::playingStatusChanged() } } +void QmlGraphicsAnimatedImageItem::componentComplete() +{ + Q_D(QmlGraphicsAnimatedImageItem); + setCurrentFrame(d->preset_currentframe); + d->preset_currentframe = 0; +} + QT_END_NAMESPACE diff --git a/src/declarative/extra/qmlgraphicsanimatedimageitem_p.h b/src/declarative/extra/qmlgraphicsanimatedimageitem_p.h index 097aecd..b581ea3 100644 --- a/src/declarative/extra/qmlgraphicsanimatedimageitem_p.h +++ b/src/declarative/extra/qmlgraphicsanimatedimageitem_p.h @@ -91,6 +91,7 @@ private Q_SLOTS: protected: QmlGraphicsAnimatedImageItem(QmlGraphicsAnimatedImageItemPrivate &dd, QmlGraphicsItem *parent); + void componentComplete(); private: Q_DISABLE_COPY(QmlGraphicsAnimatedImageItem) diff --git a/src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h b/src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h index 0b12d2f..2256b9b 100644 --- a/src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h +++ b/src/declarative/extra/qmlgraphicsanimatedimageitem_p_p.h @@ -66,12 +66,13 @@ class QmlGraphicsAnimatedImageItemPrivate : public QmlGraphicsImagePrivate public: QmlGraphicsAnimatedImageItemPrivate() - : playing(true), paused(false), _movie(0), reply(0) + : playing(true), paused(false), preset_currentframe(0), _movie(0), reply(0) { } bool playing; bool paused; + int preset_currentframe; QMovie *_movie; QNetworkReply *reply; }; diff --git a/src/declarative/extra/qmlnumberformatter.cpp b/src/declarative/extra/qmlnumberformatter.cpp index 9e599c7..4007d95 100644 --- a/src/declarative/extra/qmlnumberformatter.cpp +++ b/src/declarative/extra/qmlnumberformatter.cpp @@ -210,6 +210,6 @@ void QmlNumberFormatter::componentComplete() d->componentComplete = true; d->updateText(); } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,NumberFormatter,QmlNumberFormatter); +QML_DEFINE_TYPE(Qt,4,6,NumberFormatter,QmlNumberFormatter); QT_END_NAMESPACE diff --git a/src/declarative/extra/qmlxmllistmodel.cpp b/src/declarative/extra/qmlxmllistmodel.cpp index 43d7fb2..4243c45 100644 --- a/src/declarative/extra/qmlxmllistmodel.cpp +++ b/src/declarative/extra/qmlxmllistmodel.cpp @@ -58,8 +58,8 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,XmlRole,QmlXmlListModelRole) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,XmlListModel,QmlXmlListModel) +QML_DEFINE_TYPE(Qt,4,6,XmlRole,QmlXmlListModelRole) +QML_DEFINE_TYPE(Qt,4,6,XmlListModel,QmlXmlListModel) /*! \qmlclass XmlRole QmlXmlListModelRole diff --git a/src/declarative/graphicsitems/graphicsitems.pri b/src/declarative/graphicsitems/graphicsitems.pri index cf71451..3c4e39a 100644 --- a/src/declarative/graphicsitems/graphicsitems.pri +++ b/src/declarative/graphicsitems/graphicsitems.pri @@ -42,6 +42,7 @@ HEADERS += \ graphicsitems/qmlgraphicsvisualitemmodel_p.h \ graphicsitems/qmlgraphicslistview_p.h \ graphicsitems/qmlgraphicsgraphicsobjectcontainer_p.h \ + graphicsitems/qmlgraphicsparticles_p.h \ graphicsitems/qmlgraphicslayoutitem_p.h \ graphicsitems/qmlgraphicseffects.cpp @@ -72,6 +73,7 @@ SOURCES += \ graphicsitems/qmlgraphicsvisualitemmodel.cpp \ graphicsitems/qmlgraphicslistview.cpp \ graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp \ + graphicsitems/qmlgraphicsparticles.cpp \ graphicsitems/qmlgraphicslayoutitem.cpp \ contains(QT_CONFIG, webkit) { diff --git a/src/declarative/graphicsitems/qmlgraphicsanchors.cpp b/src/declarative/graphicsitems/qmlgraphicsanchors.cpp index e1d2f43..404daad 100644 --- a/src/declarative/graphicsitems/qmlgraphicsanchors.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsanchors.cpp @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Anchors,QmlGraphicsAnchors) +QML_DEFINE_TYPE(Qt,4,6,Anchors,QmlGraphicsAnchors) //TODO: should we cache relationships, so we don't have to check each time (parent-child or sibling)? //TODO: support non-parent, non-sibling (need to find lowest common ancestor) diff --git a/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp b/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp index 89bbe91..78b0be4 100644 --- a/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsborderimage.cpp @@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,BorderImage,QmlGraphicsBorderImage) +QML_DEFINE_TYPE(Qt,4,6,BorderImage,QmlGraphicsBorderImage) /*! \qmlclass BorderImage QmlGraphicsBorderImage diff --git a/src/declarative/graphicsitems/qmlgraphicseffects.cpp b/src/declarative/graphicsitems/qmlgraphicseffects.cpp index b642e60..2f0aae7 100644 --- a/src/declarative/graphicsitems/qmlgraphicseffects.cpp +++ b/src/declarative/graphicsitems/qmlgraphicseffects.cpp @@ -45,7 +45,7 @@ QML_DECLARE_TYPE(QGraphicsEffect) QML_DEFINE_NOCREATE_TYPE(QGraphicsEffect) QML_DECLARE_TYPE(QGraphicsBlurEffect) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Blur,QGraphicsBlurEffect) +QML_DEFINE_TYPE(Qt,4,6,Blur,QGraphicsBlurEffect) /*! \qmlclass Blur QGraphicsBlurEffect @@ -82,7 +82,7 @@ QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Blur,QGraphicsBlurEffect) */ QML_DECLARE_TYPE(QGraphicsColorizeEffect) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Colorize,QGraphicsColorizeEffect) +QML_DEFINE_TYPE(Qt,4,6,Colorize,QGraphicsColorizeEffect) /*! \qmlclass Colorize QGraphicsColorizeEffect @@ -110,7 +110,7 @@ QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Colorize,QGraphicsColorizeEffect */ QML_DECLARE_TYPE(QGraphicsDropShadowEffect) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,DropShadow,QGraphicsDropShadowEffect) +QML_DEFINE_TYPE(Qt,4,6,DropShadow,QGraphicsDropShadowEffect) /*! \qmlclass DropShadow QGraphicsDropShadowEffect @@ -153,7 +153,7 @@ QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,DropShadow,QGraphicsDropShadowEf */ QML_DECLARE_TYPE(QGraphicsOpacityEffect) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Opacity,QGraphicsOpacityEffect) +QML_DEFINE_TYPE(Qt,4,6,Opacity,QGraphicsOpacityEffect) /*! \qmlclass Opacity QGraphicsOpacityEffect diff --git a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp index 19c5abc..c7332f9 100644 --- a/src/declarative/graphicsitems/qmlgraphicsflickable.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsflickable.cpp @@ -341,7 +341,7 @@ void QmlGraphicsFlickablePrivate::updateBeginningEnd() visibleArea->updateVisible(); } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Flickable,QmlGraphicsFlickable) +QML_DEFINE_TYPE(Qt,4,6,Flickable,QmlGraphicsFlickable) /*! \qmlclass Flickable QmlGraphicsFlickable @@ -1278,6 +1278,6 @@ void QmlGraphicsFlickablePrivate::updateVelocity() QT_END_NAMESPACE QML_DECLARE_TYPE(QmlGraphicsFlickableVisibleArea) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,VisibleArea,QmlGraphicsFlickableVisibleArea) +QML_DEFINE_TYPE(Qt,4,6,VisibleArea,QmlGraphicsFlickableVisibleArea) #include "qmlgraphicsflickable.moc" diff --git a/src/declarative/graphicsitems/qmlgraphicsflipable.cpp b/src/declarative/graphicsitems/qmlgraphicsflipable.cpp index 05cc214..37929fa 100644 --- a/src/declarative/graphicsitems/qmlgraphicsflipable.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsflipable.cpp @@ -46,7 +46,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Flipable,QmlGraphicsFlipable) +QML_DEFINE_TYPE(Qt,4,6,Flipable,QmlGraphicsFlipable) class QmlGraphicsFlipablePrivate : public QmlGraphicsItemPrivate { diff --git a/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp b/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp index a19e355..ae7ffda 100644 --- a/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsfocuspanel.cpp @@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,FocusPanel,QmlGraphicsFocusPanel) +QML_DEFINE_TYPE(Qt,4,6,FocusPanel,QmlGraphicsFocusPanel) /*! \qmlclass FocusPanel QmlGraphicsFocusPanel diff --git a/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp b/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp index f03e3f1..b0ad32f 100644 --- a/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsfocusscope.cpp @@ -43,7 +43,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,FocusScope,QmlGraphicsFocusScope) +QML_DEFINE_TYPE(Qt,4,6,FocusScope,QmlGraphicsFocusScope) /*! \qmlclass FocusScope QmlGraphicsFocusScope diff --git a/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp b/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp index 2a0d6a6..294a374 100644 --- a/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsgraphicsobjectcontainer.cpp @@ -91,7 +91,7 @@ public: */ QML_DEFINE_NOCREATE_TYPE(QGraphicsObject) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,GraphicsObjectContainer,QmlGraphicsGraphicsObjectContainer) +QML_DEFINE_TYPE(Qt,4,6,GraphicsObjectContainer,QmlGraphicsGraphicsObjectContainer) QmlGraphicsGraphicsObjectContainer::QmlGraphicsGraphicsObjectContainer(QmlGraphicsItem *parent) : QmlGraphicsItem(*new QmlGraphicsGraphicsObjectContainerPrivate, parent) diff --git a/src/declarative/graphicsitems/qmlgraphicsgridview.cpp b/src/declarative/graphicsitems/qmlgraphicsgridview.cpp index 1ee4511..9f9b336 100644 --- a/src/declarative/graphicsitems/qmlgraphicsgridview.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsgridview.cpp @@ -1578,7 +1578,7 @@ QmlGraphicsGridViewAttached *QmlGraphicsGridView::qmlAttachedProperties(QObject return QmlGraphicsGridViewAttached::properties(obj); } -QML_DEFINE_TYPE(Qt, 4,6, (QT_VERSION&0x00ff00)>>8, GridView, QmlGraphicsGridView) +QML_DEFINE_TYPE(Qt, 4,6, GridView, QmlGraphicsGridView) QT_END_NAMESPACE diff --git a/src/declarative/graphicsitems/qmlgraphicsimage.cpp b/src/declarative/graphicsitems/qmlgraphicsimage.cpp index 938fe2a..89b50a1 100644 --- a/src/declarative/graphicsitems/qmlgraphicsimage.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsimage.cpp @@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Image,QmlGraphicsImage) +QML_DEFINE_TYPE(Qt,4,6,Image,QmlGraphicsImage) /*! \qmlclass Image QmlGraphicsImage diff --git a/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h b/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h index c8f8e85..0968d99 100644 --- a/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h +++ b/src/declarative/graphicsitems/qmlgraphicsimagebase_p.h @@ -49,7 +49,7 @@ QT_BEGIN_HEADER QT_BEGIN_NAMESPACE class QmlGraphicsImageBasePrivate; -class QmlGraphicsImageBase : public QmlGraphicsItem +class Q_DECLARATIVE_EXPORT QmlGraphicsImageBase : public QmlGraphicsItem { Q_OBJECT Q_ENUMS(Status) diff --git a/src/declarative/graphicsitems/qmlgraphicsitem.cpp b/src/declarative/graphicsitems/qmlgraphicsitem.cpp index 51b8365..77e6db8 100644 --- a/src/declarative/graphicsitems/qmlgraphicsitem.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsitem.cpp @@ -70,11 +70,11 @@ QT_BEGIN_NAMESPACE #define FLT_MAX 1E+37 #endif -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Item,QmlGraphicsItem) +QML_DEFINE_TYPE(Qt,4,6,Item,QmlGraphicsItem) QML_DEFINE_NOCREATE_TYPE(QGraphicsTransform); -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Scale,QGraphicsScale) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Rotation,QGraphicsRotation) +QML_DEFINE_TYPE(Qt,4,6,Scale,QGraphicsScale) +QML_DEFINE_TYPE(Qt,4,6,Rotation,QGraphicsRotation) #include "qmlgraphicseffects.cpp" @@ -2916,7 +2916,7 @@ QT_END_NAMESPACE QML_DECLARE_TYPE(QmlGraphicsKeysAttached) QML_DECLARE_TYPEINFO(QmlGraphicsKeysAttached, QML_HAS_ATTACHED_PROPERTIES) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Keys,QmlGraphicsKeysAttached) +QML_DEFINE_TYPE(Qt,4,6,Keys,QmlGraphicsKeysAttached) QML_DECLARE_TYPE(QmlGraphicsKeyNavigationAttached) QML_DECLARE_TYPEINFO(QmlGraphicsKeyNavigationAttached, QML_HAS_ATTACHED_PROPERTIES) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,KeyNavigation,QmlGraphicsKeyNavigationAttached) +QML_DEFINE_TYPE(Qt,4,6,KeyNavigation,QmlGraphicsKeyNavigationAttached) diff --git a/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp b/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp index 45420ed..fafef0e 100644 --- a/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp +++ b/src/declarative/graphicsitems/qmlgraphicslayoutitem.cpp @@ -45,7 +45,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,LayoutItem,QmlGraphicsLayoutItem) +QML_DEFINE_TYPE(Qt,4,6,LayoutItem,QmlGraphicsLayoutItem) /*! \qmlclass LayoutItem QmlGraphicsLayoutItem diff --git a/src/declarative/graphicsitems/qmlgraphicslistview.cpp b/src/declarative/graphicsitems/qmlgraphicslistview.cpp index efe047a..fd8b8b0 100644 --- a/src/declarative/graphicsitems/qmlgraphicslistview.cpp +++ b/src/declarative/graphicsitems/qmlgraphicslistview.cpp @@ -2038,7 +2038,7 @@ QmlGraphicsListViewAttached *QmlGraphicsListView::qmlAttachedProperties(QObject return QmlGraphicsListViewAttached::properties(obj); } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ListView,QmlGraphicsListView) +QML_DEFINE_TYPE(Qt,4,6,ListView,QmlGraphicsListView) QT_END_NAMESPACE diff --git a/src/declarative/graphicsitems/qmlgraphicsloader.cpp b/src/declarative/graphicsitems/qmlgraphicsloader.cpp index 4d463ab..3b10908 100644 --- a/src/declarative/graphicsitems/qmlgraphicsloader.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsloader.cpp @@ -53,7 +53,7 @@ QmlGraphicsLoaderPrivate::~QmlGraphicsLoaderPrivate() { } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Loader,QmlGraphicsLoader) +QML_DEFINE_TYPE(Qt,4,6,Loader,QmlGraphicsLoader) /*! \qmlclass Loader QmlGraphicsLoader diff --git a/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp b/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp index 1a57062..196cdf2 100644 --- a/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsmouseregion.cpp @@ -49,7 +49,7 @@ QT_BEGIN_NAMESPACE static const qreal DragThreshold = 5; static const int PressAndHoldDelay = 800; -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Drag,QmlGraphicsDrag) +QML_DEFINE_TYPE(Qt,4,6,Drag,QmlGraphicsDrag) QmlGraphicsDrag::QmlGraphicsDrag(QObject *parent) : QObject(parent), _target(0), _axis(XandYAxis), _xmin(0), _xmax(0), _ymin(0), _ymax(0) { @@ -225,7 +225,7 @@ void QmlGraphicsDrag::setYmax(qreal m) The \e accepted property of the MouseEvent parameter is ignored in this handler. */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,MouseRegion,QmlGraphicsMouseRegion) +QML_DEFINE_TYPE(Qt,4,6,MouseRegion,QmlGraphicsMouseRegion) /*! \internal diff --git a/src/declarative/extra/qmlgraphicsparticles.cpp b/src/declarative/graphicsitems/qmlgraphicsparticles.cpp index 0349a4e..92943e8 100644 --- a/src/declarative/extra/qmlgraphicsparticles.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsparticles.cpp @@ -105,7 +105,7 @@ public: //--------------------------------------------------------------------------- -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParticleMotion,QmlGraphicsParticleMotion) +QML_DEFINE_TYPE(Qt,4,6,ParticleMotion,QmlGraphicsParticleMotion) /*! \class QmlGraphicsParticleMotion @@ -166,7 +166,7 @@ void QmlGraphicsParticleMotion::destroy(QmlGraphicsParticle &particle) \brief The QmlGraphicsParticleMotionLinear class moves the particles linearly. */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParticleMotionLinear,QmlGraphicsParticleMotionLinear) +QML_DEFINE_TYPE(Qt,4,6,ParticleMotionLinear,QmlGraphicsParticleMotionLinear) void QmlGraphicsParticleMotionLinear::advance(QmlGraphicsParticle &p, int interval) { @@ -188,7 +188,7 @@ void QmlGraphicsParticleMotionLinear::advance(QmlGraphicsParticle &p, int interv \brief The QmlGraphicsParticleMotionGravity class moves the particles towards a point. */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParticleMotionGravity,QmlGraphicsParticleMotionGravity) +QML_DEFINE_TYPE(Qt,4,6,ParticleMotionGravity,QmlGraphicsParticleMotionGravity) /*! \qmlproperty int ParticleMotionGravity::xattractor @@ -290,7 +290,7 @@ Rectangle { This property holds how quickly the paricles will move from side to side. */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParticleMotionWander,QmlGraphicsParticleMotionWander) +QML_DEFINE_TYPE(Qt,4,6,ParticleMotionWander,QmlGraphicsParticleMotionWander) void QmlGraphicsParticleMotionWander::advance(QmlGraphicsParticle &p, int interval) { @@ -368,9 +368,10 @@ class QmlGraphicsParticlesPrivate : public QmlGraphicsItemPrivate Q_DECLARE_PUBLIC(QmlGraphicsParticles) public: QmlGraphicsParticlesPrivate() - : count(1), lifeSpan(1000), lifeSpanDev(1000), fadeInDur(200), fadeOutDur(300) - , angle(0), angleDev(0), velocity(0), velocityDev(0) - , addParticleTime(0), addParticleCount(0), lastAdvTime(0), stream(false), streamDelay(0) + : count(1), emissionRate(-1), emissionVariance(0.5), lifeSpan(1000) + , lifeSpanDev(1000), fadeInDur(200), fadeOutDur(300) + , angle(0), angleDev(0), velocity(0), velocityDev(0), emissionCarry(0.) + , addParticleTime(0), addParticleCount(0), lastAdvTime(0) , emitting(true), motion(0), pendingPixmapCache(false), clock(this) { } @@ -392,6 +393,8 @@ public: QUrl url; QPixmap image; int count; + int emissionRate; + qreal emissionVariance; int lifeSpan; int lifeSpanDev; int fadeInDur; @@ -400,17 +403,17 @@ public: qreal angleDev; qreal velocity; qreal velocityDev; + qreal emissionCarry; int addParticleTime; int addParticleCount; int lastAdvTime; - bool stream; - int streamDelay; bool emitting; QmlGraphicsParticleMotion *motion; QmlGraphicsParticlesPainter *paintItem; bool pendingPixmapCache; + QList<QPair<int, int> > bursts;//countLeft, emissionRate pairs QList<QmlGraphicsParticle> particles; QTickAnimationProxy<QmlGraphicsParticlesPrivate, &QmlGraphicsParticlesPrivate::tick> clock; @@ -439,40 +442,62 @@ void QmlGraphicsParticlesPrivate::tick(int time) } } - while(removed-- && particles.count() < count && emitting) - createParticle(time); + if(emissionRate == -1)//Otherwise leave emission to the emission rate + while(removed-- && ((count == -1) || particles.count() < count) && emitting) + createParticle(time); if (!addParticleTime) addParticleTime = time; - if (particles.count() < count && emitting) { - qreal perc = (lifeSpanDev <= 0)?(1.):(qreal(time - addParticleTime) / qreal(lifeSpanDev)); - int percCount = addParticleCount + (int)perc * (count - addParticleCount); - int streamWidth = -1; - if (stream){ - if (streamDelay > time){ - streamWidth = 0; - }else{ - int missed = time - streamDelay; - qreal streamWidthReal = qreal(count)/qreal(lifeSpan); - if (streamWidthReal < 1){ - streamDelay = time + (int)(1.0/streamWidthReal); - streamWidth = 1; - streamWidth += missed/streamDelay; - }else{ - streamWidth = qRound(streamWidthReal * (time-lastAdvTime)); - } + //Possibly emit new particles + if (((count == -1) || particles.count() < count) && emitting + && !(count==-1 && emissionRate==-1)) { + int emissionCount = -1; + if (emissionRate != -1){ + qreal variance = 1.; + if (emissionVariance > 0.){ + variance += (qreal(rand())/RAND_MAX) * emissionVariance * (rand()%2?-1.:1.); + } + qreal emission = emissionRate * (qreal(interval)/1000.); + emission = emission * variance + emissionCarry; + double tmpDbl; + emissionCarry = modf(emission, &tmpDbl); + emissionCount = (int)tmpDbl; + emissionCount = qMax(0,emissionCount); + } + while(((count == -1) || particles.count() < count) && + (emissionRate==-1 || emissionCount--)) + createParticle(time); + } + + //Deal with emissions from requested bursts + for(int i=0; i<bursts.size(); i++){ + int emission = 0; + if(bursts[i].second == -1){ + emission = bursts[i].first; + }else{ + qreal variance = 1.; + if (emissionVariance > 0.){ + variance += (qreal(rand())/RAND_MAX) * emissionVariance * (rand()%2?-1.:1.); } + qreal workingEmission = bursts[i].second * (qreal(interval)/1000.); + workingEmission *= variance; + emission = (int)workingEmission; + emission = qMax(emission, 0); } - while(particles.count() < count && - (!stream || (particles.count() < percCount && streamWidth--))) + emission = qMin(emission, bursts[i].first); + bursts[i].first -= emission; + while(emission--) createParticle(time); } + for(int i=bursts.size()-1; i>=0; i--) + if(bursts[i].first <= 0) + bursts.removeAt(i); lastAdvTime = time; paintItem->updateSize(); paintItem->update(); - if (!(oldCount || particles.count()) && (!count || !emitting)) { + if (!(oldCount || particles.count()) && (!count || !emitting) && bursts.isEmpty()) { lastAdvTime = 0; clock.stop(); } @@ -534,13 +559,15 @@ void QmlGraphicsParticlesPrivate::updateOpacity(QmlGraphicsParticle &p, int age) } } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Particles,QmlGraphicsParticles) +QML_DEFINE_TYPE(Qt,4,6,Particles,QmlGraphicsParticles) /*! \qmlclass Particles \brief The Particles object generates and moves particles. \inherits Item + This element provides preliminary support for particles in QML, and may be heavily changed or removed in later versions. + The particles created by this object cannot be dealt with directly, they can only be controlled through the parameters of the Particles object. The particles are all the same pixmap, specified by the user. The particles are painted relative to the parent of the Particles object. Moving the @@ -675,16 +702,27 @@ void QmlGraphicsParticles::setSource(const QUrl &name) d->paintItem->update(); } } + emit sourceChanged(); } /*! \qmlproperty int Particles::count - This property holds the target number of particles + This property holds the maximum number of particles + + The particles element emits particles until it has count active + particles. When this number is reached, new particles are not emitted until + some of the current particles reach theend of their lifespan. + + If count is -1 then there is no maximum number of active particles, and + particles will be constantly emitted at the rate specified by emissionRate. + + If both count and emissionRate are set to -1, nothing will be emitted. + */ /*! \property QmlGraphicsParticles::count - \brief the target number of particles + \brief the maximum number of particles */ int QmlGraphicsParticles::count() const { @@ -702,11 +740,93 @@ void QmlGraphicsParticles::setCount(int cnt) d->count = cnt; d->addParticleTime = 0; d->addParticleCount = d->particles.count(); - if (!oldCount && d->clock.state() != QAbstractAnimation::Running && d->count) { + if (!oldCount && d->clock.state() != QAbstractAnimation::Running && d->count && d->emitting) { d->clock.start(); } d->paintItem->updateSize(); d->paintItem->update(); + emit countChanged(); +} + + +/*! + \qmlproperty int Particles::emissionRate + This property holds the target number of particles to emit every second. + + The particles element will emit up to emissionRate particles every + second. Fewer particles may be emitted per second if the maximum number of + particles has been reached. + + If emissionRate is set to -1 there is no limit to the number of + particles emitted per second, and particles will be instantly emitted to + reach the maximum number of particles specified by count. + + The default value for emissionRate is -1. + + If both count and emissionRate are set to -1, nothing will be emitted. +*/ + +/*! + \property QmlGraphicsParticles::emissionRate + \brief the emission rate of particles +*/ +int QmlGraphicsParticles::emissionRate() const +{ + Q_D(const QmlGraphicsParticles); + return d->emissionRate; +} +void QmlGraphicsParticles::setEmissionRate(int er) +{ + Q_D(QmlGraphicsParticles); + if(er == d->emissionRate) + return; + d->emissionRate = er; + emit emissionRateChanged(); +} + +/*! + \qmlproperty qreal Particles::emissionVariance + This property holds how inconsistent the rate of particle emissions are. + It is a number between 0 (no variance) and 1 (some variance). + + The expected number of particles emitted per second is emissionRate. If + emissionVariance is 0 then particles will be emitted consistently throughout + each second to reach that number. If emissionVariance is greater than 0 the + rate of particle emission will vary randomly throughout the second, with the + consequence that the actual number of particles emitted in one second will + vary randomly as well. + + emissionVariance is the maximum deviation from emitting + emissionRate particles per second. An emissionVariance of 0 means you should + get exactly emissionRate particles emitted per second, + and an emissionVariance of 1 means you will get between zero and two times + emissionRate particles per second, but you should get emissionRate particles + per second on average. + + Note that even with an emissionVariance of 0 there may be some variance due + to performance and hardware constraints. + + The default value of emissionVariance is 0.5 +*/ + +/*! + \property QmlGraphicsParticles::emissionVariance + \brief how much the particle emission amounts vary per tick +*/ + +qreal QmlGraphicsParticles::emissionVariance() const +{ + Q_D(const QmlGraphicsParticles); + return d->emissionVariance; +} + +void QmlGraphicsParticles::setEmissionVariance(qreal ev) +{ + Q_D(QmlGraphicsParticles); + if(d->emissionVariance == ev) + return; + d->emissionVariance = ev; + emit emissionVarianceChanged(); } /*! @@ -747,7 +867,10 @@ int QmlGraphicsParticles::lifeSpan() const void QmlGraphicsParticles::setLifeSpan(int ls) { Q_D(QmlGraphicsParticles); + if(d->lifeSpan == ls) + return; d->lifeSpan = ls; + emit lifeSpanChanged(); } /*! @@ -777,7 +900,10 @@ int QmlGraphicsParticles::lifeSpanDeviation() const void QmlGraphicsParticles::setLifeSpanDeviation(int dev) { Q_D(QmlGraphicsParticles); + if(d->lifeSpanDev == dev) + return; d->lifeSpanDev = dev; + emit lifeSpanDeviationChanged(); } /*! @@ -803,8 +929,10 @@ int QmlGraphicsParticles::fadeInDuration() const void QmlGraphicsParticles::setFadeInDuration(int dur) { Q_D(QmlGraphicsParticles); - if (dur >= 0.0) - d->fadeInDur = dur; + if (dur < 0.0 || dur == d->fadeInDur) + return; + d->fadeInDur = dur; + emit fadeInDurationChanged(); } /*! @@ -822,8 +950,10 @@ int QmlGraphicsParticles::fadeOutDuration() const void QmlGraphicsParticles::setFadeOutDuration(int dur) { Q_D(QmlGraphicsParticles); - if (dur >= 0.0) - d->fadeOutDur = dur; + if (dur < 0.0 || d->fadeOutDur == dur) + return; + d->fadeOutDur = dur; + emit fadeOutDurationChanged(); } /*! @@ -860,7 +990,11 @@ qreal QmlGraphicsParticles::angle() const void QmlGraphicsParticles::setAngle(qreal angle) { Q_D(QmlGraphicsParticles); - d->angle = angle * M_PI / 180.0; + qreal radAngle = angle * M_PI / 180.0; + if(radAngle == d->angle) + return; + d->angle = radAngle; + emit angleChanged(); } /*! @@ -890,7 +1024,11 @@ qreal QmlGraphicsParticles::angleDeviation() const void QmlGraphicsParticles::setAngleDeviation(qreal dev) { Q_D(QmlGraphicsParticles); - d->angleDev = dev * M_PI / 180.0;; + qreal radDev = dev * M_PI / 180.0; + if(radDev == d->angleDev) + return; + d->angleDev = radDev; + emit angleDeviationChanged(); } /*! @@ -927,7 +1065,11 @@ qreal QmlGraphicsParticles::velocity() const void QmlGraphicsParticles::setVelocity(qreal velocity) { Q_D(QmlGraphicsParticles); - d->velocity = velocity / 1000.0; + qreal realVel = velocity / 1000.0; + if(realVel == d->velocity) + return; + d->velocity = realVel; + emit velocityChanged(); } /*! @@ -957,38 +1099,11 @@ qreal QmlGraphicsParticles::velocityDeviation() const void QmlGraphicsParticles::setVelocityDeviation(qreal velocity) { Q_D(QmlGraphicsParticles); - d->velocityDev = velocity / 1000.0; -} - -/*! - \qmlproperty bool Particles::streamIn - This property determines whether the particles stream in at a constant rate - - When stream is set to true the particles will stream in at a constant rate. - Otherwise the particles will appear as a clump. Note that this only affects the - start of the particle effect, variables such as lifespan deviation can cause the - particles to unclump over time. -*/ -/*! - \property QmlGraphicsParticles::streamIn - \brief determines whether the particles stream in at a constant rate - - When stream is set to true the particles will stream in at a constant rate. - Otherwise the particles will appear as a clump. Note that this only affects the - start of the particle effect, variables such as lifespan deviation can cause the - -*/ -//The name may need a rethink -bool QmlGraphicsParticles::streamIn() const -{ - Q_D(const QmlGraphicsParticles); - return d->stream; -} - -void QmlGraphicsParticles::setStreamIn(bool b) -{ - Q_D(QmlGraphicsParticles); - d->stream = b; + qreal realDev = velocity / 1000.0; + if(realDev == d->velocityDev) + return; + d->velocityDev = realDev; + emit velocityDeviationChanged(); } /*! @@ -1020,9 +1135,12 @@ bool QmlGraphicsParticles::emitting() const void QmlGraphicsParticles::setEmitting(bool r) { Q_D(QmlGraphicsParticles); + if(d->emitting == r) + return; d->emitting = r; if (d->count && r) d->clock.start(); + emit emittingChanged(); } /*! \qmlproperty ParticleMotion Particles::motion @@ -1057,6 +1175,31 @@ void QmlGraphicsParticles::setMotion(QmlGraphicsParticleMotion *motion) d->motion = motion; } +/*! + \qmlmethod Particles::burst + + Initiates a burst of particles. + + This method takes two arguments. The first argument is the number + of particles to emit and the second argument is the emissionRate for the + burst. If the second argument is omitted, it is treated as -1. The burst + of particles has a separate emissionRate and count to the normal emission of + particles. The burst uses the same values as normal emission for all other + properties, including emissionVariance and emitting. + + The normal emission of particles will continue during the burst, however + the particles created by the burst count towards the maximum number used by + normal emission. To avoid this behavior, use two Particles elements. + +*/ +void QmlGraphicsParticles::burst(int count, int emissionRate) +{ + Q_D(QmlGraphicsParticles); + d->bursts << qMakePair(count, emissionRate); + if (d->clock.state() != QAbstractAnimation::Running && d->emitting) + d->clock.start(); +} + void QmlGraphicsParticlesPainter::updateSize() { if (!isComponentComplete()) @@ -1100,14 +1243,15 @@ void QmlGraphicsParticlesPainter::paint(QPainter *p, const QStyleOptionGraphicsI const int myX = x() + parentItem()->x(); const int myY = y() + parentItem()->y(); - static QVarLengthArray<QDrawPixmaps::Data, 256> pixmapData; - if (pixmapData.count() < d->particles.count()) - pixmapData.resize(d->particles.count()); + QVarLengthArray<QDrawPixmaps::Data, 256> pixmapData; + pixmapData.resize(d->particles.count()); const QRectF sourceRect = d->image.rect(); + qreal halfPWidth = sourceRect.width()/2.; + qreal halfPHeight = sourceRect.height()/2.; for (int i = 0; i < d->particles.count(); ++i) { const QmlGraphicsParticle &particle = d->particles.at(i); - pixmapData[i].point = QPointF(particle.x - myX, particle.y - myY); + pixmapData[i].point = QPointF(particle.x - myX + halfPWidth, particle.y - myY + halfPHeight); pixmapData[i].opacity = particle.opacity; //these never change diff --git a/src/declarative/extra/qmlgraphicsparticles_p.h b/src/declarative/graphicsitems/qmlgraphicsparticles_p.h index 9eca762..851edd7 100644 --- a/src/declarative/extra/qmlgraphicsparticles_p.h +++ b/src/declarative/graphicsitems/qmlgraphicsparticles_p.h @@ -145,18 +145,19 @@ class Q_DECLARATIVE_EXPORT QmlGraphicsParticles : public QmlGraphicsItem { Q_OBJECT - Q_PROPERTY(QUrl source READ source WRITE setSource) - Q_PROPERTY(int count READ count WRITE setCount) - Q_PROPERTY(int lifeSpan READ lifeSpan WRITE setLifeSpan) - Q_PROPERTY(int lifeSpanDeviation READ lifeSpanDeviation WRITE setLifeSpanDeviation) - Q_PROPERTY(int fadeInDuration READ fadeInDuration WRITE setFadeInDuration) - Q_PROPERTY(int fadeOutDuration READ fadeOutDuration WRITE setFadeOutDuration) - Q_PROPERTY(qreal angle READ angle WRITE setAngle) - Q_PROPERTY(qreal angleDeviation READ angleDeviation WRITE setAngleDeviation) - Q_PROPERTY(qreal velocity READ velocity WRITE setVelocity) - Q_PROPERTY(qreal velocityDeviation READ velocityDeviation WRITE setVelocityDeviation) - Q_PROPERTY(bool streamIn READ streamIn WRITE setStreamIn) - Q_PROPERTY(bool emitting READ emitting WRITE setEmitting) + Q_PROPERTY(QUrl source READ source WRITE setSource NOTIFY sourceChanged) + Q_PROPERTY(int count READ count WRITE setCount NOTIFY countChanged) + Q_PROPERTY(int emissionRate READ emissionRate WRITE setEmissionRate NOTIFY emissionRateChanged) + Q_PROPERTY(qreal emissionVariance READ emissionVariance WRITE setEmissionVariance NOTIFY emissionVarianceChanged) + Q_PROPERTY(int lifeSpan READ lifeSpan WRITE setLifeSpan NOTIFY lifeSpanChanged) + Q_PROPERTY(int lifeSpanDeviation READ lifeSpanDeviation WRITE setLifeSpanDeviation NOTIFY lifeSpanDeviationChanged) + Q_PROPERTY(int fadeInDuration READ fadeInDuration WRITE setFadeInDuration NOTIFY fadeInDurationChanged) + Q_PROPERTY(int fadeOutDuration READ fadeOutDuration WRITE setFadeOutDuration NOTIFY fadeOutDurationChanged) + Q_PROPERTY(qreal angle READ angle WRITE setAngle NOTIFY angleChanged) + Q_PROPERTY(qreal angleDeviation READ angleDeviation WRITE setAngleDeviation NOTIFY angleDeviationChanged) + Q_PROPERTY(qreal velocity READ velocity WRITE setVelocity NOTIFY velocityChanged) + Q_PROPERTY(qreal velocityDeviation READ velocityDeviation WRITE setVelocityDeviation NOTIFY velocityDeviationChanged) + Q_PROPERTY(bool emitting READ emitting WRITE setEmitting NOTIFY emittingChanged) Q_PROPERTY(QmlGraphicsParticleMotion *motion READ motion WRITE setMotion) Q_CLASSINFO("DefaultProperty", "motion") @@ -170,6 +171,12 @@ public: int count() const; void setCount(int cnt); + int emissionRate() const; + void setEmissionRate(int); + + qreal emissionVariance() const; + void setEmissionVariance(qreal); + int lifeSpan() const; void setLifeSpan(int); @@ -194,9 +201,6 @@ public: qreal velocityDeviation() const; void setVelocityDeviation(qreal); - bool streamIn() const; - void setStreamIn(bool); - bool emitting() const; void setEmitting(bool); @@ -205,10 +209,28 @@ public: void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *); +public Q_SLOTS: + void burst(int count, int emissionRate=-1); + protected: virtual void componentComplete(); QmlGraphicsParticles(QmlGraphicsParticlesPrivate &dd, QmlGraphicsItem *parent); +Q_SIGNALS: + void sourceChanged(); + void countChanged(); + void emissionRateChanged(); + void emissionVarianceChanged(); + void lifeSpanChanged(); + void lifeSpanDeviationChanged(); + void fadeInDurationChanged(); + void fadeOutDurationChanged(); + void angleChanged(); + void angleDeviationChanged(); + void velocityChanged(); + void velocityDeviationChanged(); + void emittingChanged(); + private Q_SLOTS: void imageLoaded(); diff --git a/src/declarative/graphicsitems/qmlgraphicspath.cpp b/src/declarative/graphicsitems/qmlgraphicspath.cpp index ed0dfaa..a8f571e 100644 --- a/src/declarative/graphicsitems/qmlgraphicspath.cpp +++ b/src/declarative/graphicsitems/qmlgraphicspath.cpp @@ -47,14 +47,14 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Path,QmlGraphicsPath) +QML_DEFINE_TYPE(Qt,4,6,Path,QmlGraphicsPath) QML_DEFINE_NOCREATE_TYPE(QmlGraphicsPathElement) QML_DEFINE_NOCREATE_TYPE(QmlGraphicsCurve) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathAttribute,QmlGraphicsPathAttribute) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathPercent,QmlGraphicsPathPercent) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathLine,QmlGraphicsPathLine) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathQuad,QmlGraphicsPathQuad) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathCubic,QmlGraphicsPathCubic) +QML_DEFINE_TYPE(Qt,4,6,PathAttribute,QmlGraphicsPathAttribute) +QML_DEFINE_TYPE(Qt,4,6,PathPercent,QmlGraphicsPathPercent) +QML_DEFINE_TYPE(Qt,4,6,PathLine,QmlGraphicsPathLine) +QML_DEFINE_TYPE(Qt,4,6,PathQuad,QmlGraphicsPathQuad) +QML_DEFINE_TYPE(Qt,4,6,PathCubic,QmlGraphicsPathCubic) /*! \qmlclass PathElement QmlGraphicsPathElement diff --git a/src/declarative/graphicsitems/qmlgraphicspathview.cpp b/src/declarative/graphicsitems/qmlgraphicspathview.cpp index d2a9be1..f2b8d73 100644 --- a/src/declarative/graphicsitems/qmlgraphicspathview.cpp +++ b/src/declarative/graphicsitems/qmlgraphicspathview.cpp @@ -54,7 +54,7 @@ static const int FlickThreshold = 5; QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PathView,QmlGraphicsPathView) +QML_DEFINE_TYPE(Qt,4,6,PathView,QmlGraphicsPathView) class QmlGraphicsPathViewAttached : public QObject { diff --git a/src/declarative/graphicsitems/qmlgraphicspositioners.cpp b/src/declarative/graphicsitems/qmlgraphicspositioners.cpp index b4544c5..3b975ba 100644 --- a/src/declarative/graphicsitems/qmlgraphicspositioners.cpp +++ b/src/declarative/graphicsitems/qmlgraphicspositioners.cpp @@ -337,7 +337,7 @@ void QmlGraphicsBasePositioner::applyRemove(const QList<QPair<QString, QVariant> applyTransition(changes,target, d->removeActions); } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Column,QmlGraphicsColumn) +QML_DEFINE_TYPE(Qt,4,6,Column,QmlGraphicsColumn) /*! \qmlclass Column QmlGraphicsColumn \brief The Column item lines up its children vertically. @@ -528,7 +528,7 @@ void QmlGraphicsColumn::doPositioning() } } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Row,QmlGraphicsRow) +QML_DEFINE_TYPE(Qt,4,6,Row,QmlGraphicsRow) /*! \qmlclass Row QmlGraphicsRow \brief The Row item lines up its children horizontally. @@ -684,7 +684,7 @@ void QmlGraphicsRow::doPositioning() } } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Grid,QmlGraphicsGrid) +QML_DEFINE_TYPE(Qt,4,6,Grid,QmlGraphicsGrid) /*! \qmlclass Grid QmlGraphicsGrid diff --git a/src/declarative/graphicsitems/qmlgraphicsrectangle.cpp b/src/declarative/graphicsitems/qmlgraphicsrectangle.cpp index 8ae40b7..caec90c 100644 --- a/src/declarative/graphicsitems/qmlgraphicsrectangle.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsrectangle.cpp @@ -46,9 +46,9 @@ #include <QtCore/qmath.h> QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Pen,QmlGraphicsPen) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,GradientStop,QmlGraphicsGradientStop) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Gradient,QmlGraphicsGradient) +QML_DEFINE_TYPE(Qt,4,6,Pen,QmlGraphicsPen) +QML_DEFINE_TYPE(Qt,4,6,GradientStop,QmlGraphicsGradientStop) +QML_DEFINE_TYPE(Qt,4,6,Gradient,QmlGraphicsGradient) /*! \internal @@ -149,7 +149,7 @@ void QmlGraphicsGradient::doUpdate() emit updated(); } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Rectangle,QmlGraphicsRectangle) +QML_DEFINE_TYPE(Qt,4,6,Rectangle,QmlGraphicsRectangle) /*! \qmlclass Rectangle QmlGraphicsRectangle diff --git a/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp b/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp index 646374f..82d6da3 100644 --- a/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsrepeater.cpp @@ -56,7 +56,7 @@ QmlGraphicsRepeaterPrivate::~QmlGraphicsRepeaterPrivate() { } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Repeater,QmlGraphicsRepeater) +QML_DEFINE_TYPE(Qt,4,6,Repeater,QmlGraphicsRepeater) /*! \qmlclass Repeater QmlGraphicsRepeater diff --git a/src/declarative/graphicsitems/qmlgraphicstext.cpp b/src/declarative/graphicsitems/qmlgraphicstext.cpp index d640fc9..374972e 100644 --- a/src/declarative/graphicsitems/qmlgraphicstext.cpp +++ b/src/declarative/graphicsitems/qmlgraphicstext.cpp @@ -52,7 +52,7 @@ #include <QPainter> QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Text,QmlGraphicsText) +QML_DEFINE_TYPE(Qt,4,6,Text,QmlGraphicsText) /*! \qmlclass Text QmlGraphicsText diff --git a/src/declarative/graphicsitems/qmlgraphicstextedit.cpp b/src/declarative/graphicsitems/qmlgraphicstextedit.cpp index e84f514..d8fe5d4 100644 --- a/src/declarative/graphicsitems/qmlgraphicstextedit.cpp +++ b/src/declarative/graphicsitems/qmlgraphicstextedit.cpp @@ -53,7 +53,7 @@ #include <QPainter> QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,TextEdit,QmlGraphicsTextEdit) +QML_DEFINE_TYPE(Qt,4,6,TextEdit,QmlGraphicsTextEdit) /*! \qmlclass TextEdit QmlGraphicsTextEdit diff --git a/src/declarative/graphicsitems/qmlgraphicstextinput.cpp b/src/declarative/graphicsitems/qmlgraphicstextinput.cpp index 42de2b6..e2b1725 100644 --- a/src/declarative/graphicsitems/qmlgraphicstextinput.cpp +++ b/src/declarative/graphicsitems/qmlgraphicstextinput.cpp @@ -49,9 +49,9 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,TextInput,QmlGraphicsTextInput); +QML_DEFINE_TYPE(Qt,4,6,TextInput,QmlGraphicsTextInput); QML_DEFINE_NOCREATE_TYPE(QValidator); -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QIntValidator,QIntValidator); +QML_DEFINE_TYPE(Qt,4,6,QIntValidator,QIntValidator); /*! \qmlclass TextInput QmlGraphicsTextInput diff --git a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp index 80b2458..9964de9 100644 --- a/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp +++ b/src/declarative/graphicsitems/qmlgraphicsvisualitemmodel.cpp @@ -1045,8 +1045,8 @@ void QmlGraphicsVisualDataModel::_q_destroyingPackage(QmlPackage *package) } QML_DEFINE_NOCREATE_TYPE(QmlGraphicsVisualModel); -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,VisualItemModel,QmlGraphicsVisualItemModel) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,VisualDataModel,QmlGraphicsVisualDataModel) +QML_DEFINE_TYPE(Qt,4,6,VisualItemModel,QmlGraphicsVisualItemModel) +QML_DEFINE_TYPE(Qt,4,6,VisualDataModel,QmlGraphicsVisualDataModel) QT_END_NAMESPACE diff --git a/src/declarative/graphicsitems/qmlgraphicswebview.cpp b/src/declarative/graphicsitems/qmlgraphicswebview.cpp index d1da0f2..4ac208c 100644 --- a/src/declarative/graphicsitems/qmlgraphicswebview.cpp +++ b/src/declarative/graphicsitems/qmlgraphicswebview.cpp @@ -62,7 +62,7 @@ #include <private/qmlgraphicspainteditem_p_p.h> QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,WebView,QmlGraphicsWebView) +QML_DEFINE_TYPE(Qt,4,6,WebView,QmlGraphicsWebView) QML_DEFINE_NOCREATE_TYPE(QAction) static const int MAX_DOUBLECLICK_TIME=500; // XXX need better gesture system diff --git a/src/declarative/qml/qml.h b/src/declarative/qml/qml.h index f6a6371..bb7ae24 100644 --- a/src/declarative/qml/qml.h +++ b/src/declarative/qml/qml.h @@ -91,11 +91,11 @@ QT_BEGIN_NAMESPACE #define QML_DEFINE_INTERFACE(INTERFACE) \ static int defineInterface##INTERFACE = qmlRegisterInterface<INTERFACE>(#INTERFACE); -#define QML_DEFINE_EXTENDED_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, NAME, TYPE, EXTENSION) \ - static int registerExtended##TYPE = qmlRegisterExtendedType<TYPE,EXTENSION>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, #NAME, #TYPE); +#define QML_DEFINE_EXTENDED_TYPE(URI, VERSION_MAJ, VERS, NAME, TYPE, EXTENSION) \ + static int registerExtended##TYPE = qmlRegisterExtendedType<TYPE,EXTENSION>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE); -#define QML_DEFINE_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, NAME, TYPE) \ - static int defineType##TYPE = qmlRegisterType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, #NAME, #TYPE); +#define QML_DEFINE_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE) \ + static int defineType##TYPE = qmlRegisterType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE); #define QML_DEFINE_EXTENDED_NOCREATE_TYPE(TYPE, EXTENSION) \ static int registerExtendedNoCreate##TYPE = qmlRegisterExtendedType<TYPE,EXTENSION>(#TYPE); @@ -106,19 +106,19 @@ QT_BEGIN_NAMESPACE #else #define QML_DEFINE_INTERFACE(INTERFACE) \ - template<> QmlPrivate::InstanceType QmlPrivate::Define<INTERFACE *,0,0,0>::instance(qmlRegisterInterface<INTERFACE>(#INTERFACE)); + template<> QmlPrivate::InstanceType QmlPrivate::Define<INTERFACE *,0,0>::instance(qmlRegisterInterface<INTERFACE>(#INTERFACE)); -#define QML_DEFINE_EXTENDED_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, NAME, TYPE, EXTENSION) \ - template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN_FROM), (VERSION_MIN_TO)>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, #NAME, #TYPE)); +#define QML_DEFINE_EXTENDED_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE, EXTENSION) \ + template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN)>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE)); -#define QML_DEFINE_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, NAME, TYPE) \ - template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN_FROM), (VERSION_MIN_TO)>::instance(qmlRegisterType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MIN_TO, #NAME, #TYPE)); +#define QML_DEFINE_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE) \ + template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN)>::instance(qmlRegisterType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE)); #define QML_DEFINE_EXTENDED_NOCREATE_TYPE(TYPE, EXTENSION) \ - template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,0,0,0>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(#TYPE)); + template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,0,0>::instance(qmlRegisterExtendedType<TYPE,EXTENSION>(#TYPE)); #define QML_DEFINE_NOCREATE_TYPE(TYPE) \ - template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,0,0,0>::instance(qmlRegisterType<TYPE>(#TYPE)); + template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,0,0>::instance(qmlRegisterType<TYPE>(#TYPE)); #endif diff --git a/src/declarative/qml/qmlcomponent.cpp b/src/declarative/qml/qmlcomponent.cpp index 03f07b3..3c142a7 100644 --- a/src/declarative/qml/qmlcomponent.cpp +++ b/src/declarative/qml/qmlcomponent.cpp @@ -119,7 +119,7 @@ Item { } \endqml */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Component,QmlComponent); +QML_DEFINE_TYPE(Qt,4,6,Component,QmlComponent); /*! \enum QmlComponent::Status diff --git a/src/declarative/qml/qmlcustomparser_p.h b/src/declarative/qml/qmlcustomparser_p.h index 89d3be2..74bed25 100644 --- a/src/declarative/qml/qmlcustomparser_p.h +++ b/src/declarative/qml/qmlcustomparser_p.h @@ -128,11 +128,11 @@ private: }; #if defined(Q_OS_SYMBIAN) -# define QML_DEFINE_CUSTOM_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MAJ_TO, NAME, TYPE, CUSTOMTYPE) \ - static int defineCustomType##NAME = qmlRegisterCustomType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MAJ_TO, #NAME, #TYPE, new CUSTOMTYPE); +# define QML_DEFINE_CUSTOM_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE, CUSTOMTYPE) \ + static int defineCustomType##NAME = qmlRegisterCustomType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE, new CUSTOMTYPE); #else -# define QML_DEFINE_CUSTOM_TYPE(URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MAJ_TO, NAME, TYPE, CUSTOMTYPE) \ - template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN_FROM), (VERSION_MAJ_TO)>::instance(qmlRegisterCustomType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN_FROM, VERSION_MAJ_TO, #NAME, #TYPE, new CUSTOMTYPE)); +# define QML_DEFINE_CUSTOM_TYPE(URI, VERSION_MAJ, VERSION_MIN, NAME, TYPE, CUSTOMTYPE) \ + template<> QmlPrivate::InstanceType QmlPrivate::Define<TYPE *,(VERSION_MAJ), (VERSION_MIN)>::instance(qmlRegisterCustomType<TYPE>(#URI, VERSION_MAJ, VERSION_MIN, #NAME, #TYPE, new CUSTOMTYPE)); #endif QT_END_NAMESPACE diff --git a/src/declarative/qml/qmlengine.cpp b/src/declarative/qml/qmlengine.cpp index f81f2ed..e46205d 100644 --- a/src/declarative/qml/qmlengine.cpp +++ b/src/declarative/qml/qmlengine.cpp @@ -103,7 +103,7 @@ QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION(qmlDebugger, QML_DEBUGGER) DEFINE_BOOL_CONFIG_OPTION(qmlImportTrace, QML_IMPORT_TRACE) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Object,QObject) +QML_DEFINE_TYPE(Qt,4,6,Object,QObject) struct StaticQtMetaObject : public QObject { @@ -998,17 +998,13 @@ struct QmlEnginePrivate::ImportedNamespace { if (line.isEmpty() || line.at(0) == QLatin1Char('#')) continue; if (line.startsWith(typespace)) { - // eg. 1.2-5 int space1 = line.indexOf(QLatin1Char(' ')); int space2 = space1 >=0 ? line.indexOf(QLatin1Char(' '),space1+1) : -1; QString mapversions = line.mid(space1+1,space2<0?line.length()-space1-1:space2-space1-1); int dot = mapversions.indexOf(QLatin1Char('.')); - int dash = mapversions.indexOf(QLatin1Char('-')); int mapvmaj = mapversions.left(dot).toInt(); - if (mapvmaj==vmaj) { - int mapvmin_from = (dash <= 0 ? mapversions.mid(dot+1) : mapversions.mid(dot+1,dash-dot-1)).toInt(); - int mapvmin_to = dash <= 0 ? mapvmin_from : mapversions.mid(dash+1).toInt(); - if (vmin >= mapvmin_from && vmin <= mapvmin_to) { + if (mapvmaj<=vmaj) { + if (mapvmaj<vmaj || vmin >= mapversions.mid(dot+1).toInt()) { QStringRef mapfile = space2<0 ? QStringRef() : line.midRef(space2+1,line.length()-space2-1); if (url_return) *url_return = url.resolved(mapfile.toString()); @@ -1177,9 +1173,8 @@ static QmlTypeNameCache *cacheForNamespace(QmlEngine *engine, const QmlEnginePri foreach (QmlType *type, types) { if (type->qmlTypeName().startsWith(base) && type->qmlTypeName().lastIndexOf('/') == (base.length() - 1) && - type->majorVersion() == major && type->minMinorVersion() <= minor && - type->maxMinorVersion() >= minor) { - + type->availableInVersion(major,minor)) + { QString name = QString::fromUtf8(type->qmlTypeName().mid(base.length())); cache->add(name, type); diff --git a/src/declarative/qml/qmlmetatype.cpp b/src/declarative/qml/qmlmetatype.cpp index 6ce51bd..6ecaa9f 100644 --- a/src/declarative/qml/qmlmetatype.cpp +++ b/src/declarative/qml/qmlmetatype.cpp @@ -119,8 +119,7 @@ public: const char *m_iid; QByteArray m_name; int m_version_maj; - int m_version_min_from; - int m_version_min_to; + int m_version_min; int m_typeId; int m_listId; int m_qmlListId; QmlPrivate::Func m_opFunc; const QMetaObject *m_baseMetaObject; @@ -160,13 +159,12 @@ QmlType::QmlType(int type, int listType, int qmlListType, d->m_index = index; d->m_isSetup = true; d->m_version_maj = 0; - d->m_version_min_from = 0; - d->m_version_min_to = 0; + d->m_version_min = 0; } QmlType::QmlType(int type, int listType, int qmlListType, QmlPrivate::Func opFunc, const char *qmlName, - int version_maj, int version_min_from, int version_min_to, + int version_maj, int version_min, const QMetaObject *metaObject, QmlAttachedPropertiesFunc attachedPropertiesFunc, const QMetaObject *attachedType, @@ -178,8 +176,7 @@ QmlType::QmlType(int type, int listType, int qmlListType, { d->m_name = qmlName; d->m_version_maj = version_maj; - d->m_version_min_from = version_min_from; - d->m_version_min_to = version_min_to; + d->m_version_min = version_min; d->m_typeId = type; d->m_listId = listType; d->m_qmlListId = qmlListType; @@ -209,19 +206,14 @@ int QmlType::majorVersion() const return d->m_version_maj; } -int QmlType::minMinorVersion() const +int QmlType::minorVersion() const { - return d->m_version_min_from; -} - -int QmlType::maxMinorVersion() const -{ - return d->m_version_min_to; + return d->m_version_min; } bool QmlType::availableInVersion(int vmajor, int vminor) const { - return vmajor == d->m_version_maj && vminor >= d->m_version_min_from && vminor <= d->m_version_min_to; + return vmajor > d->m_version_maj || (vmajor == d->m_version_maj && vminor >= d->m_version_min); } void QmlTypePrivate::init() const @@ -473,7 +465,7 @@ int QmlMetaType::registerInterface(const QmlPrivate::MetaTypeIds &id, } int QmlMetaType::registerType(const QmlPrivate::MetaTypeIds &id, QmlPrivate::Func func, - const char *uri, int version_maj, int version_min_from, int version_min_to, const char *cname, + const char *uri, int version_maj, int version_min, const char *cname, const QMetaObject *mo, QmlAttachedPropertiesFunc attach, const QMetaObject *attachMo, int pStatus, int object, int valueSource, int valueInterceptor, QmlPrivate::CreateFunc extFunc, const QMetaObject *extmo, QmlCustomParser *parser) { @@ -499,7 +491,7 @@ int QmlMetaType::registerType(const QmlPrivate::MetaTypeIds &id, QmlPrivate::Fun name.replace('.','/'); QmlType *type = new QmlType(id.typeId, id.listId, id.qmlListId, - func, name, version_maj, version_min_from, version_min_to, mo, attach, attachMo, pStatus, + func, name, version_maj, version_min, mo, attach, attachMo, pStatus, valueSource, valueInterceptor, extFunc, extmo, index, parser); data->types.append(type); diff --git a/src/declarative/qml/qmlmetatype.h b/src/declarative/qml/qmlmetatype.h index eb5fd28..e90c367 100644 --- a/src/declarative/qml/qmlmetatype.h +++ b/src/declarative/qml/qmlmetatype.h @@ -61,7 +61,7 @@ class QmlCustomParser; class Q_DECLARATIVE_EXPORT QmlMetaType { public: - static int registerType(const QmlPrivate::MetaTypeIds &, QmlPrivate::Func, const char *, int vmaj, int vmin_from, int vmin_to, const char *qmlName, const QMetaObject *, QmlAttachedPropertiesFunc, const QMetaObject *, int pStatus, int object, int valueSource, int valueInterceptor, QmlPrivate::CreateFunc extFunc, const QMetaObject *extmo, QmlCustomParser *); + static int registerType(const QmlPrivate::MetaTypeIds &, QmlPrivate::Func, const char *, int vmaj, int vmin, const char *qmlName, const QMetaObject *, QmlAttachedPropertiesFunc, const QMetaObject *, int pStatus, int object, int valueSource, int valueInterceptor, QmlPrivate::CreateFunc extFunc, const QMetaObject *extmo, QmlCustomParser *); static int registerInterface(const QmlPrivate::MetaTypeIds &, QmlPrivate::Func, const char *); static bool copy(int type, void *data, const void *copy = 0); @@ -118,8 +118,7 @@ public: QByteArray qmlTypeName() const; int majorVersion() const; - int minMinorVersion() const; - int maxMinorVersion() const; + int minorVersion() const; bool availableInVersion(int vmajor, int vminor) const; QByteArray hash() const; @@ -156,7 +155,7 @@ private: friend class QmlTypePrivate; friend class QmlMetaTypeData; QmlType(int, int, int, QmlPrivate::Func, const char *, int); - QmlType(int, int, int, QmlPrivate::Func, const char *, int, int, int, const QMetaObject *, QmlAttachedPropertiesFunc, const QMetaObject *, int, int, int, QmlPrivate::CreateFunc, const QMetaObject *, int, QmlCustomParser *); + QmlType(int, int, int, QmlPrivate::Func, const char *, int, int, const QMetaObject *, QmlAttachedPropertiesFunc, const QMetaObject *, int, int, int, QmlPrivate::CreateFunc, const QMetaObject *, int, QmlCustomParser *); ~QmlType(); QmlTypePrivate *d; @@ -172,7 +171,7 @@ int qmlRegisterType(const char *typeName) qRegisterMetaType<T *>(QByteArray("QmlList<" + name + "*>*").constData()) }; - return QmlMetaType::registerType(ids, QmlPrivate::list_nocreate_op<T>, 0, 0, 0, 0, 0, + return QmlMetaType::registerType(ids, QmlPrivate::list_nocreate_op<T>, 0, 0, 0, 0, &T::staticMetaObject, QmlPrivate::attachedPropertiesFunc<T>(), QmlPrivate::attachedPropertiesMetaObject<T>(), @@ -184,7 +183,7 @@ int qmlRegisterType(const char *typeName) } template<typename T> -int qmlRegisterType(const char *uri, int version_maj, int version_min_from, int version_min_to, const char *qmlName, const char *typeName) +int qmlRegisterType(const char *uri, int version_maj, int version_min, const char *qmlName, const char *typeName) { QByteArray name(typeName); QmlPrivate::MetaTypeIds ids = { @@ -194,7 +193,7 @@ int qmlRegisterType(const char *uri, int version_maj, int version_min_from, int }; return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>, - uri, version_maj, version_min_from, version_min_to, qmlName, + uri, version_maj, version_min, qmlName, &T::staticMetaObject, QmlPrivate::attachedPropertiesFunc<T>(), QmlPrivate::attachedPropertiesMetaObject<T>(), @@ -234,7 +233,7 @@ int qmlRegisterExtendedType(const char *typeName) } template<typename T, typename E> -int qmlRegisterExtendedType(const char *uri, int version_maj, int version_min_from, int version_min_to, const char *qmlName, const char *typeName) +int qmlRegisterExtendedType(const char *uri, int version_maj, int version_min, const char *qmlName, const char *typeName) { QByteArray name(typeName); QmlPrivate::MetaTypeIds ids = { @@ -253,7 +252,7 @@ int qmlRegisterExtendedType(const char *uri, int version_maj, int version_min_fr } return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>, - uri, version_maj, version_min_from, version_min_to, qmlName, + uri, version_maj, version_min, qmlName, &T::staticMetaObject, attached, attachedMo, QmlPrivate::StaticCastSelector<T,QmlParserStatus>::cast(), @@ -280,7 +279,7 @@ int qmlRegisterInterface(const char *typeName) } template<typename T> -int qmlRegisterCustomType(const char *uri, int version_maj, int version_min_from, int version_min_to, const char *qmlName, const char *typeName, QmlCustomParser *parser) +int qmlRegisterCustomType(const char *uri, int version_maj, int version_min, const char *qmlName, const char *typeName, QmlCustomParser *parser) { QByteArray name(typeName); QmlPrivate::MetaTypeIds ids = { @@ -290,7 +289,7 @@ int qmlRegisterCustomType(const char *uri, int version_maj, int version_min_from }; return QmlMetaType::registerType(ids, QmlPrivate::list_op<T>, - uri, version_maj, version_min_from, version_min_to, qmlName, + uri, version_maj, version_min, qmlName, &T::staticMetaObject, QmlPrivate::attachedPropertiesFunc<T>(), QmlPrivate::attachedPropertiesMetaObject<T>(), diff --git a/src/declarative/qml/qmlprivate.h b/src/declarative/qml/qmlprivate.h index 6ab36a2..e5b1060 100644 --- a/src/declarative/qml/qmlprivate.h +++ b/src/declarative/qml/qmlprivate.h @@ -223,7 +223,7 @@ namespace QmlPrivate InstanceType(int); }; - template<typename T, int VMAJ, int VMIN1, int VMIN2> + template<typename T, int VMAJ, int VMIN> struct Define { static InstanceType instance; }; diff --git a/src/declarative/util/qmlanimation.cpp b/src/declarative/util/qmlanimation.cpp index 051003f..bd4c6f7 100644 --- a/src/declarative/util/qmlanimation.cpp +++ b/src/declarative/util/qmlanimation.cpp @@ -648,7 +648,7 @@ void QmlAbstractAnimation::timelineComplete() \class QmlPauseAnimation */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PauseAnimation,QmlPauseAnimation) +QML_DEFINE_TYPE(Qt,4,6,PauseAnimation,QmlPauseAnimation) QmlPauseAnimation::QmlPauseAnimation(QObject *parent) : QmlAbstractAnimation(*(new QmlPauseAnimationPrivate), parent) { @@ -760,7 +760,7 @@ void QmlColorAnimation::setTo(const QColor &t) QmlPropertyAnimation::setTo(t); } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ColorAnimation,QmlColorAnimation) +QML_DEFINE_TYPE(Qt,4,6,ColorAnimation,QmlColorAnimation) /*! \qmlclass ScriptAction QmlScriptAction @@ -866,7 +866,7 @@ QAbstractAnimation *QmlScriptAction::qtAnimation() return d->rsa; } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ScriptAction,QmlScriptAction) +QML_DEFINE_TYPE(Qt,4,6,ScriptAction,QmlScriptAction) /*! \qmlclass PropertyAction QmlPropertyAction @@ -1073,7 +1073,7 @@ void QmlPropertyAction::transition(QmlStateActions &actions, d->target = 0; } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PropertyAction,QmlPropertyAction) +QML_DEFINE_TYPE(Qt,4,6,PropertyAction,QmlPropertyAction) /*! \qmlclass ParentAction QmlParentAction @@ -1212,7 +1212,7 @@ void QmlParentAction::transition(QmlStateActions &actions, } } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParentAction,QmlParentAction) +QML_DEFINE_TYPE(Qt,4,6,ParentAction,QmlParentAction) /*! \qmlclass NumberAnimation QmlNumberAnimation @@ -1275,7 +1275,7 @@ void QmlNumberAnimation::setTo(qreal t) QmlPropertyAnimation::setTo(t); } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,NumberAnimation,QmlNumberAnimation) +QML_DEFINE_TYPE(Qt,4,6,NumberAnimation,QmlNumberAnimation) QmlAnimationGroup::QmlAnimationGroup(QObject *parent) : QmlAbstractAnimation(*(new QmlAnimationGroupPrivate), parent) @@ -1365,7 +1365,7 @@ void QmlSequentialAnimation::transition(QmlStateActions &actions, } } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,SequentialAnimation,QmlSequentialAnimation) +QML_DEFINE_TYPE(Qt,4,6,SequentialAnimation,QmlSequentialAnimation) /*! \qmlclass ParallelAnimation QmlParallelAnimation @@ -1437,7 +1437,7 @@ void QmlParallelAnimation::transition(QmlStateActions &actions, } } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParallelAnimation,QmlParallelAnimation) +QML_DEFINE_TYPE(Qt,4,6,ParallelAnimation,QmlParallelAnimation) //convert a variant from string type to another animatable type void QmlPropertyAnimationPrivate::convertVariant(QVariant &variant, int type) @@ -2013,6 +2013,6 @@ void QmlPropertyAnimation::transition(QmlStateActions &actions, d->target = 0; } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,PropertyAnimation,QmlPropertyAnimation) +QML_DEFINE_TYPE(Qt,4,6,PropertyAnimation,QmlPropertyAnimation) QT_END_NAMESPACE diff --git a/src/declarative/util/qmlbind.cpp b/src/declarative/util/qmlbind.cpp index de6d48a..86c1b8b 100644 --- a/src/declarative/util/qmlbind.cpp +++ b/src/declarative/util/qmlbind.cpp @@ -63,7 +63,7 @@ public: QmlNullableValue<QVariant> value; }; -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Binding,QmlBind) +QML_DEFINE_TYPE(Qt,4,6,Binding,QmlBind) /*! \qmlclass Binding QmlBind \brief The Binding element allows arbitrary property bindings to be created. diff --git a/src/declarative/util/qmlconnection.cpp b/src/declarative/util/qmlconnection.cpp index 27ac374..db744f6 100644 --- a/src/declarative/util/qmlconnection.cpp +++ b/src/declarative/util/qmlconnection.cpp @@ -274,6 +274,6 @@ void QmlConnection::setSignal(const QString& sig) connectIfValid(); } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Connection,QmlConnection) +QML_DEFINE_TYPE(Qt,4,6,Connection,QmlConnection) QT_END_NAMESPACE diff --git a/src/declarative/util/qmleasefollow.cpp b/src/declarative/util/qmleasefollow.cpp index 5447c56..6bf3f82 100644 --- a/src/declarative/util/qmleasefollow.cpp +++ b/src/declarative/util/qmleasefollow.cpp @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,EaseFollow,QmlEaseFollow); +QML_DEFINE_TYPE(Qt,4,6,EaseFollow,QmlEaseFollow); class QmlEaseFollowPrivate : public QObjectPrivate { diff --git a/src/declarative/util/qmllistmodel.cpp b/src/declarative/util/qmllistmodel.cpp index 17083db..afc6735 100644 --- a/src/declarative/util/qmllistmodel.cpp +++ b/src/declarative/util/qmllistmodel.cpp @@ -809,7 +809,7 @@ void QmlListModelParser::setCustomData(QObject *obj, const QByteArray &d) } } -QML_DEFINE_CUSTOM_TYPE(Qt, 4,6, (QT_VERSION&0x00ff00)>>8, ListModel, QmlListModel, QmlListModelParser) +QML_DEFINE_CUSTOM_TYPE(Qt, 4,6, ListModel, QmlListModel, QmlListModelParser) /*! \qmlclass ListElement @@ -822,7 +822,7 @@ class QmlListElement : public QObject { Q_OBJECT }; -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ListElement,QmlListElement) +QML_DEFINE_TYPE(Qt,4,6,ListElement,QmlListElement) static void dump(ModelNode *node, int ind) { diff --git a/src/declarative/util/qmlpackage.cpp b/src/declarative/util/qmlpackage.cpp index 4d7fa86..908b368 100644 --- a/src/declarative/util/qmlpackage.cpp +++ b/src/declarative/util/qmlpackage.cpp @@ -147,7 +147,7 @@ QmlPackageAttached *QmlPackage::qmlAttachedProperties(QObject *o) return new QmlPackageAttached(o); } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Package,QmlPackage) +QML_DEFINE_TYPE(Qt,4,6,Package,QmlPackage) QT_END_NAMESPACE diff --git a/src/declarative/util/qmlpropertychanges.cpp b/src/declarative/util/qmlpropertychanges.cpp index 8ba4b25..3cc6ca9 100644 --- a/src/declarative/util/qmlpropertychanges.cpp +++ b/src/declarative/util/qmlpropertychanges.cpp @@ -307,7 +307,7 @@ QmlPropertyChangesPrivate::property(const QByteArray &property) if (!prop.isValid()) { qmlInfo(QmlPropertyChanges::tr("Cannot assign to non-existant property \"%1\"").arg(QString::fromUtf8(property)), q); return QmlMetaProperty(); - } else if (!prop.isWritable()) { + } else if (prop.type() != QmlMetaProperty::SignalProperty && !prop.isWritable()) { qmlInfo(QmlPropertyChanges::tr("Cannot assign to read-only property \"%1\"").arg(QString::fromUtf8(property)), q); return QmlMetaProperty(); } @@ -392,6 +392,6 @@ void QmlPropertyChanges::setIsExplicit(bool e) d->isExplicit = e; } -QML_DEFINE_CUSTOM_TYPE(Qt, 4,6, (QT_VERSION&0x00ff00)>>8, PropertyChanges, QmlPropertyChanges, QmlPropertyChangesParser) +QML_DEFINE_CUSTOM_TYPE(Qt, 4,6, PropertyChanges, QmlPropertyChanges, QmlPropertyChangesParser) QT_END_NAMESPACE diff --git a/src/declarative/util/qmlspringfollow.cpp b/src/declarative/util/qmlspringfollow.cpp index e743aa5..4a7c8b3 100644 --- a/src/declarative/util/qmlspringfollow.cpp +++ b/src/declarative/util/qmlspringfollow.cpp @@ -48,7 +48,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,SpringFollow,QmlSpringFollow) +QML_DEFINE_TYPE(Qt,4,6,SpringFollow,QmlSpringFollow) class QmlSpringFollowPrivate : public QObjectPrivate { diff --git a/src/declarative/util/qmlstate.cpp b/src/declarative/util/qmlstate.cpp index ce4b540..7cc548f 100644 --- a/src/declarative/util/qmlstate.cpp +++ b/src/declarative/util/qmlstate.cpp @@ -151,7 +151,7 @@ QmlStateOperation::QmlStateOperation(QObjectPrivate &dd, QObject *parent) \sa {states-transitions}{States and Transitions} */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,State,QmlState) +QML_DEFINE_TYPE(Qt,4,6,State,QmlState) QmlState::QmlState(QObject *parent) : QObject(*(new QmlStatePrivate), parent) { diff --git a/src/declarative/util/qmlstategroup.cpp b/src/declarative/util/qmlstategroup.cpp index 2eb9dca..3cfc84a 100644 --- a/src/declarative/util/qmlstategroup.cpp +++ b/src/declarative/util/qmlstategroup.cpp @@ -50,7 +50,7 @@ QT_BEGIN_NAMESPACE DEFINE_BOOL_CONFIG_OPTION(stateChangeDebug, STATECHANGE_DEBUG); -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,StateGroup,QmlStateGroup) +QML_DEFINE_TYPE(Qt,4,6,StateGroup,QmlStateGroup) class QmlStateGroupPrivate : public QObjectPrivate { diff --git a/src/declarative/util/qmlstateoperations.cpp b/src/declarative/util/qmlstateoperations.cpp index ccb9a41..1b786d2 100644 --- a/src/declarative/util/qmlstateoperations.cpp +++ b/src/declarative/util/qmlstateoperations.cpp @@ -151,7 +151,7 @@ void QmlParentChangePrivate::doChange(QmlGraphicsItem *targetParent, QmlGraphics for the original and new parent). */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,ParentChange,QmlParentChange) +QML_DEFINE_TYPE(Qt,4,6,ParentChange,QmlParentChange) QmlParentChange::QmlParentChange(QObject *parent) : QmlStateOperation(*(new QmlParentChangePrivate), parent) { @@ -293,7 +293,7 @@ public: \qmlclass StateChangeScript QmlStateChangeScript \brief The StateChangeScript element allows you to run a script in a state. */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,StateChangeScript,QmlStateChangeScript) +QML_DEFINE_TYPE(Qt,4,6,StateChangeScript,QmlStateChangeScript) QmlStateChangeScript::QmlStateChangeScript(QObject *parent) : QmlStateOperation(*(new QmlStateChangeScriptPrivate), parent) { @@ -360,7 +360,7 @@ QmlStateChangeScript::ActionList QmlStateChangeScript::actions() For more information on anchors see \l {anchor-layout}{Anchor Layouts}. */ -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,AnchorChanges,QmlAnchorChanges) +QML_DEFINE_TYPE(Qt,4,6,AnchorChanges,QmlAnchorChanges) class QmlAnchorChangesPrivate : public QObjectPrivate { diff --git a/src/declarative/util/qmlsystempalette.cpp b/src/declarative/util/qmlsystempalette.cpp index 32cb4cf..bb3ec70 100644 --- a/src/declarative/util/qmlsystempalette.cpp +++ b/src/declarative/util/qmlsystempalette.cpp @@ -52,7 +52,7 @@ public: QPalette::ColorGroup group; }; -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,SystemPalette,QmlSystemPalette) +QML_DEFINE_TYPE(Qt,4,6,SystemPalette,QmlSystemPalette) /*! \qmlclass SystemPalette QmlSystemPalette diff --git a/src/declarative/util/qmltimer.cpp b/src/declarative/util/qmltimer.cpp index 2e844be..0aa0747 100644 --- a/src/declarative/util/qmltimer.cpp +++ b/src/declarative/util/qmltimer.cpp @@ -47,7 +47,7 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Timer,QmlTimer) +QML_DEFINE_TYPE(Qt,4,6,Timer,QmlTimer) class QmlTimerPrivate : public QObjectPrivate { diff --git a/src/declarative/util/qmltransition.cpp b/src/declarative/util/qmltransition.cpp index a5f4b67..d61359d 100644 --- a/src/declarative/util/qmltransition.cpp +++ b/src/declarative/util/qmltransition.cpp @@ -137,7 +137,7 @@ void ParallelAnimationWrapper::updateState(QAbstractAnimation::State oldState, Q } -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,Transition,QmlTransition) +QML_DEFINE_TYPE(Qt,4,6,Transition,QmlTransition) QmlTransition::QmlTransition(QObject *parent) : QObject(*(new QmlTransitionPrivate), parent) { diff --git a/src/declarative/widgets/graphicslayouts.cpp b/src/declarative/widgets/graphicslayouts.cpp index 9c7e919..9658049 100644 --- a/src/declarative/widgets/graphicslayouts.cpp +++ b/src/declarative/widgets/graphicslayouts.cpp @@ -48,9 +48,9 @@ QT_BEGIN_NAMESPACE QML_DEFINE_INTERFACE(QGraphicsLayoutItem) QML_DEFINE_INTERFACE(QGraphicsLayout) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsLinearLayoutStretchItem,QGraphicsLinearLayoutStretchItemObject) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsLinearLayout,QGraphicsLinearLayoutObject) -QML_DEFINE_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsGridLayout,QGraphicsGridLayoutObject) +QML_DEFINE_TYPE(Qt,4,6,QGraphicsLinearLayoutStretchItem,QGraphicsLinearLayoutStretchItemObject) +QML_DEFINE_TYPE(Qt,4,6,QGraphicsLinearLayout,QGraphicsLinearLayoutObject) +QML_DEFINE_TYPE(Qt,4,6,QGraphicsGridLayout,QGraphicsGridLayoutObject) class LinearLayoutAttached : public QObject { diff --git a/src/declarative/widgets/graphicswidgets.cpp b/src/declarative/widgets/graphicswidgets.cpp index 8f61999..5678520 100644 --- a/src/declarative/widgets/graphicswidgets.cpp +++ b/src/declarative/widgets/graphicswidgets.cpp @@ -162,9 +162,9 @@ private: QmlConcreteList<QObject *> _data; }; -QML_DEFINE_EXTENDED_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsView,QGraphicsView,QGraphicsViewDeclarativeUI) -QML_DEFINE_EXTENDED_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsScene,QGraphicsScene,QGraphicsSceneDeclarativeUI) -QML_DEFINE_EXTENDED_TYPE(Qt,4,6,(QT_VERSION&0x00ff00)>>8,QGraphicsWidget,QGraphicsWidget,QGraphicsWidgetDeclarativeUI) +QML_DEFINE_EXTENDED_TYPE(Qt,4,6,QGraphicsView,QGraphicsView,QGraphicsViewDeclarativeUI) +QML_DEFINE_EXTENDED_TYPE(Qt,4,6,QGraphicsScene,QGraphicsScene,QGraphicsSceneDeclarativeUI) +QML_DEFINE_EXTENDED_TYPE(Qt,4,6,QGraphicsWidget,QGraphicsWidget,QGraphicsWidgetDeclarativeUI) QML_DEFINE_INTERFACE(QGraphicsItem) diff --git a/src/gui/graphicsview/qgraphicsview.cpp b/src/gui/graphicsview/qgraphicsview.cpp index f72aa8a..9856b1a 100644 --- a/src/gui/graphicsview/qgraphicsview.cpp +++ b/src/gui/graphicsview/qgraphicsview.cpp @@ -3251,10 +3251,13 @@ void QGraphicsView::paintEvent(QPaintEvent *event) // Determine the exposed region d->exposedRegion = event->region(); + if (d->exposedRegion.isEmpty()) + d->exposedRegion = viewport()->rect(); QRectF exposedSceneRect = mapToScene(d->exposedRegion.boundingRect()).boundingRect(); // Set up the painter QPainter painter(viewport()); + painter.setClipRect(exposedSceneRect, Qt::IntersectClip); #ifndef QT_NO_RUBBERBAND if (d->rubberBanding && !d->rubberBandRect.isEmpty()) painter.save(); diff --git a/tests/auto/declarative/animatedimage/tst_animatedimage.cpp b/tests/auto/declarative/animatedimage/tst_animatedimage.cpp index 6ae2112..262ddda 100644 --- a/tests/auto/declarative/animatedimage/tst_animatedimage.cpp +++ b/tests/auto/declarative/animatedimage/tst_animatedimage.cpp @@ -90,11 +90,7 @@ void tst_animatedimage::setFrame() void tst_animatedimage::frameCount() { - QmlEngine engine; - QmlComponent component(&engine, QUrl("file://" SRCDIR "/data/stickman.qml")); - QmlGraphicsAnimatedImageItem *anim = qobject_cast<QmlGraphicsAnimatedImageItem *>(component.create()); - QVERIFY(anim); - QCOMPARE(anim->frameCount(), 299); + // GIF doesn't support frameCount until first pass through } QTEST_MAIN(tst_animatedimage) diff --git a/tests/auto/declarative/declarative.pro b/tests/auto/declarative/declarative.pro index 1be38a8..b9f59d6 100644 --- a/tests/auto/declarative/declarative.pro +++ b/tests/auto/declarative/declarative.pro @@ -35,6 +35,7 @@ SUBDIRS += \ repeater \ # Cover sql \ # Cover states \ # Cover + valuetypes \ # Cover visual # Cover # Tests which should run in Pulse diff --git a/tests/auto/declarative/qmlecmascript/testtypes.cpp b/tests/auto/declarative/qmlecmascript/testtypes.cpp index 9af8ed7..df0cb18 100644 --- a/tests/auto/declarative/qmlecmascript/testtypes.cpp +++ b/tests/auto/declarative/qmlecmascript/testtypes.cpp @@ -72,11 +72,11 @@ private: int m_value; }; -QML_DEFINE_TYPE(Qt.test, 1, 0, 0, MyQmlObject,MyQmlObject); -QML_DEFINE_TYPE(Qt.test, 1, 0, 0, MyDeferredObject,MyDeferredObject); -QML_DEFINE_TYPE(Qt.test, 1, 0, 0, MyQmlContainer,MyQmlContainer); -QML_DEFINE_EXTENDED_TYPE(Qt.test, 1, 0, 0, MyBaseExtendedObject,MyBaseExtendedObject,BaseExtensionObject); -QML_DEFINE_EXTENDED_TYPE(Qt.test, 1, 0, 0, MyExtendedObject,MyExtendedObject,ExtensionObject); -QML_DEFINE_TYPE(Qt.test, 1, 0, 0, MyTypeObject, MyTypeObject); +QML_DEFINE_TYPE(Qt.test, 1,0, MyQmlObject,MyQmlObject); +QML_DEFINE_TYPE(Qt.test, 1,0, MyDeferredObject,MyDeferredObject); +QML_DEFINE_TYPE(Qt.test, 1,0, MyQmlContainer,MyQmlContainer); +QML_DEFINE_EXTENDED_TYPE(Qt.test, 1,0, MyBaseExtendedObject,MyBaseExtendedObject,BaseExtensionObject); +QML_DEFINE_EXTENDED_TYPE(Qt.test, 1,0, MyExtendedObject,MyExtendedObject,ExtensionObject); +QML_DEFINE_TYPE(Qt.test, 1,0, MyTypeObject, MyTypeObject); #include "testtypes.moc" diff --git a/tests/auto/declarative/qmlfontloader/tst_qmlfontloader.cpp b/tests/auto/declarative/qmlfontloader/tst_qmlfontloader.cpp index efc86cd..23f7025 100644 --- a/tests/auto/declarative/qmlfontloader/tst_qmlfontloader.cpp +++ b/tests/auto/declarative/qmlfontloader/tst_qmlfontloader.cpp @@ -77,6 +77,7 @@ void tst_qmlfontloader::noFont() QVERIFY(fontObject != 0); QCOMPARE(fontObject->name(), QString("")); + QCOMPARE(fontObject->source(), QUrl("")); QTRY_VERIFY(fontObject->status() == QmlFontLoader::Null); delete fontObject; @@ -89,6 +90,7 @@ void tst_qmlfontloader::namedFont() QmlFontLoader *fontObject = qobject_cast<QmlFontLoader*>(component.create()); QVERIFY(fontObject != 0); + QCOMPARE(fontObject->source(), QUrl("")); QCOMPARE(fontObject->name(), QString("Helvetica")); QTRY_VERIFY(fontObject->status() == QmlFontLoader::Ready); } @@ -100,6 +102,7 @@ void tst_qmlfontloader::localFont() QmlFontLoader *fontObject = qobject_cast<QmlFontLoader*>(component.create()); QVERIFY(fontObject != 0); + QVERIFY(fontObject->source() != QUrl("")); QTRY_COMPARE(fontObject->name(), QString("Fontin")); QTRY_VERIFY(fontObject->status() == QmlFontLoader::Ready); } @@ -111,6 +114,7 @@ void tst_qmlfontloader::failLocalFont() QmlFontLoader *fontObject = qobject_cast<QmlFontLoader*>(component.create()); QVERIFY(fontObject != 0); + QVERIFY(fontObject->source() != QUrl("")); QTRY_COMPARE(fontObject->name(), QString("")); QTRY_VERIFY(fontObject->status() == QmlFontLoader::Error); } @@ -122,6 +126,7 @@ void tst_qmlfontloader::webFont() QmlFontLoader *fontObject = qobject_cast<QmlFontLoader*>(component.create()); QVERIFY(fontObject != 0); + QVERIFY(fontObject->source() != QUrl("")); QTRY_COMPARE(fontObject->name(), QString("Starburst")); QTRY_VERIFY(fontObject->status() == QmlFontLoader::Ready); } @@ -133,6 +138,7 @@ void tst_qmlfontloader::failWebFont() QmlFontLoader *fontObject = qobject_cast<QmlFontLoader*>(component.create()); QVERIFY(fontObject != 0); + QVERIFY(fontObject->source() != QUrl("")); QTRY_COMPARE(fontObject->name(), QString("")); QTRY_VERIFY(fontObject->status() == QmlFontLoader::Error); } diff --git a/tests/auto/declarative/qmlgraphicsborderimage/data/invalid.sci b/tests/auto/declarative/qmlgraphicsborderimage/data/invalid.sci new file mode 100644 index 0000000..98c72c9 --- /dev/null +++ b/tests/auto/declarative/qmlgraphicsborderimage/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/qmlgraphicsborderimage/tst_qmlgraphicsborderimage.cpp b/tests/auto/declarative/qmlgraphicsborderimage/tst_qmlgraphicsborderimage.cpp index 4174ccf..aa732c5 100644 --- a/tests/auto/declarative/qmlgraphicsborderimage/tst_qmlgraphicsborderimage.cpp +++ b/tests/auto/declarative/qmlgraphicsborderimage/tst_qmlgraphicsborderimage.cpp @@ -54,11 +54,13 @@ public: tst_qmlgraphicsborderimage(); private slots: + void noSource(); void simple(); void resized(); void smooth(); void tileModes(); void sciFile(); + void invalidSciFile(); private: QmlEngine engine; @@ -68,16 +70,32 @@ tst_qmlgraphicsborderimage::tst_qmlgraphicsborderimage() { } +void tst_qmlgraphicsborderimage::noSource() +{ + QString componentStr = "import Qt 4.6\nBorderImage { source: \"\" }"; + QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://")); + QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create()); + QVERIFY(obj != 0); + QCOMPARE(obj->source(), QUrl()); + QCOMPARE(obj->width(), 0.); + QCOMPARE(obj->height(), 0.); + QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Stretch); + QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Stretch); + + delete obj; +} + void tst_qmlgraphicsborderimage::simple() { QString componentStr = "import Qt 4.6\nBorderImage { source: \"" SRCDIR "/data/colors.png\" }"; QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://")); QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create()); QVERIFY(obj != 0); - QVERIFY(obj->width() == 120); - QVERIFY(obj->height() == 120); - QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Stretch); - QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Stretch); + QCOMPARE(obj->source(), QUrl("file://" SRCDIR "/data/colors.png")); + QCOMPARE(obj->width(), 120.); + QCOMPARE(obj->height(), 120.); + QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Stretch); + QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Stretch); delete obj; } @@ -88,10 +106,10 @@ void tst_qmlgraphicsborderimage::resized() QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://")); QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create()); QVERIFY(obj != 0); - QVERIFY(obj->width() == 300); - QVERIFY(obj->height() == 300); - QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Stretch); - QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Stretch); + QCOMPARE(obj->width(), 300.); + QCOMPARE(obj->height(), 300.); + QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Stretch); + QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Stretch); delete obj; } @@ -102,11 +120,11 @@ void tst_qmlgraphicsborderimage::smooth() QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://")); QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create()); QVERIFY(obj != 0); - QVERIFY(obj->width() == 300); - QVERIFY(obj->height() == 300); - QVERIFY(obj->smooth() == true); - QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Stretch); - QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Stretch); + QCOMPARE(obj->width(), 300.); + QCOMPARE(obj->height(), 300.); + QCOMPARE(obj->smooth(), true); + QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Stretch); + QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Stretch); delete obj; } @@ -118,10 +136,10 @@ void tst_qmlgraphicsborderimage::tileModes() QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://")); QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create()); QVERIFY(obj != 0); - QVERIFY(obj->width() == 100); - QVERIFY(obj->height() == 300); - QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Repeat); - QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Repeat); + QCOMPARE(obj->width(), 100.); + QCOMPARE(obj->height(), 300.); + QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Repeat); + QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Repeat); delete obj; } @@ -130,10 +148,10 @@ void tst_qmlgraphicsborderimage::tileModes() QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://")); QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create()); QVERIFY(obj != 0); - QVERIFY(obj->width() == 300); - QVERIFY(obj->height() == 150); - QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Round); - QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Round); + QCOMPARE(obj->width(), 300.); + QCOMPARE(obj->height(), 150.); + QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Round); + QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Round); delete obj; } @@ -145,14 +163,29 @@ void tst_qmlgraphicsborderimage::sciFile() QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://")); QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create()); QVERIFY(obj != 0); - QVERIFY(obj->width() == 300); - QVERIFY(obj->height() == 300); - QVERIFY(obj->border()->left() == 10); - QVERIFY(obj->border()->top() == 20); - QVERIFY(obj->border()->right() == 30); - QVERIFY(obj->border()->bottom() == 40); - QVERIFY(obj->horizontalTileMode() == QmlGraphicsBorderImage::Round); - QVERIFY(obj->verticalTileMode() == QmlGraphicsBorderImage::Repeat); + QCOMPARE(obj->width(), 300.); + QCOMPARE(obj->height(), 300.); + QCOMPARE(obj->border()->left(), 10); + QCOMPARE(obj->border()->top(), 20); + QCOMPARE(obj->border()->right(), 30); + QCOMPARE(obj->border()->bottom(), 40); + QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Round); + QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Repeat); + + delete obj; +} + +void tst_qmlgraphicsborderimage::invalidSciFile() +{ + QString componentStr = "import Qt 4.6\nBorderImage { source: \"" SRCDIR "/data/invalid.sci\"; width: 300; height: 300 }"; + QmlComponent component(&engine, componentStr.toLatin1(), QUrl("file://")); + QmlGraphicsBorderImage *obj = qobject_cast<QmlGraphicsBorderImage*>(component.create()); + QVERIFY(obj != 0); + QCOMPARE(obj->width(), 300.); + QCOMPARE(obj->height(), 300.); + QCOMPARE(obj->status(), QmlGraphicsImageBase::Error); + QCOMPARE(obj->horizontalTileMode(), QmlGraphicsBorderImage::Stretch); + QCOMPARE(obj->verticalTileMode(), QmlGraphicsBorderImage::Stretch); delete obj; } diff --git a/tests/auto/declarative/qmlgraphicsparticles/data/particles.qml b/tests/auto/declarative/qmlgraphicsparticles/data/particles.qml index dccd2c7..c58927e 100644 --- a/tests/auto/declarative/qmlgraphicsparticles/data/particles.qml +++ b/tests/auto/declarative/qmlgraphicsparticles/data/particles.qml @@ -8,7 +8,7 @@ Rectangle{ objectName: "particles" width:1; height:1; anchors.centerIn: parent; opacity: 1 lifeSpan: 100; lifeSpanDeviation: 20; count:1000; - fadeInDuration: 20; fadeOutDuration: 20; + fadeInDuration: 20; fadeOutDuration: 20; count: -1; emissionRate: 1000 angle: 0; angleDeviation: 360; velocity: 500; velocityDeviation:30 source: "particle.png" } diff --git a/tests/auto/declarative/qmlgraphicsparticles/tst_qmlgraphicsparticles.cpp b/tests/auto/declarative/qmlgraphicsparticles/tst_qmlgraphicsparticles.cpp index e50437a..ed68eaf 100644 --- a/tests/auto/declarative/qmlgraphicsparticles/tst_qmlgraphicsparticles.cpp +++ b/tests/auto/declarative/qmlgraphicsparticles/tst_qmlgraphicsparticles.cpp @@ -91,8 +91,11 @@ void tst_QmlGraphicsParticles::properties() particles->setVelocityDeviation(100.0); QCOMPARE(particles->velocityDeviation(), 100.0); - particles->setEmitting(false); - QCOMPARE(particles->emitting(), false); + particles->setEmissionVariance(0.5); + QCOMPARE(particles->emissionVariance(),0.5); + + particles->setEmissionRate(12); + QCOMPARE(particles->emissionRate(), 12); } void tst_QmlGraphicsParticles::runs() diff --git a/tests/auto/declarative/qmlgraphicstext/tst_qmlgraphicstext.cpp b/tests/auto/declarative/qmlgraphicstext/tst_qmlgraphicstext.cpp index fc47d41..ba5c835 100644 --- a/tests/auto/declarative/qmlgraphicstext/tst_qmlgraphicstext.cpp +++ b/tests/auto/declarative/qmlgraphicstext/tst_qmlgraphicstext.cpp @@ -273,7 +273,7 @@ void tst_qmlgraphicstext::wrap() void tst_qmlgraphicstext::elide() { - for (Qt::TextElideMode m = Qt::ElideLeft; m<=Qt::ElideNone; m=Qt::TextElideMode(int(m)+1)) { + for (QmlGraphicsText::TextElideMode m = QmlGraphicsText::ElideLeft; m<=QmlGraphicsText::ElideNone; m=QmlGraphicsText::TextElideMode(int(m)+1)) { const char* elidename[]={"ElideLeft", "ElideRight", "ElideMiddle", "ElideNone"}; QString elide = "elide: Text." + QString(elidename[int(m)]) + ";"; @@ -283,6 +283,7 @@ void tst_qmlgraphicstext::elide() QmlComponent textComponent(&engine, ("import Qt 4.6\nText { text: \"\"; "+elide+" width: 100 }").toLatin1(), QUrl("file://")); QmlGraphicsText *textObject = qobject_cast<QmlGraphicsText*>(textComponent.create()); + QCOMPARE(textObject->elideMode(), m); QCOMPARE(textObject->width(), 100.); } @@ -292,6 +293,7 @@ void tst_qmlgraphicstext::elide() QmlComponent textComponent(&engine, componentStr.toLatin1(), QUrl("file://")); QmlGraphicsText *textObject = qobject_cast<QmlGraphicsText*>(textComponent.create()); + QCOMPARE(textObject->elideMode(), m); QCOMPARE(textObject->width(), 100.); } @@ -302,6 +304,7 @@ void tst_qmlgraphicstext::elide() QmlComponent textComponent(&engine, componentStr.toLatin1(), QUrl("file://")); QmlGraphicsText *textObject = qobject_cast<QmlGraphicsText*>(textComponent.create()); + QCOMPARE(textObject->elideMode(), m); QCOMPARE(textObject->width(), 100.); } } diff --git a/tests/auto/declarative/qmllanguage/data/lib/com/nokia/installedtest/qmldir b/tests/auto/declarative/qmllanguage/data/lib/com/nokia/installedtest/qmldir index ba0b42a..30c2d4e 100644 --- a/tests/auto/declarative/qmllanguage/data/lib/com/nokia/installedtest/qmldir +++ b/tests/auto/declarative/qmllanguage/data/lib/com/nokia/installedtest/qmldir @@ -1,3 +1,3 @@ -InstalledTest 1.0-3 InstalledTest.qml -InstalledTest 1.4 InstalledTest2.qml Rectangle 1.5 InstalledTest2.qml +InstalledTest 1.4 InstalledTest2.qml +InstalledTest 1.0 InstalledTest.qml diff --git a/tests/auto/declarative/qmllanguage/testtypes.cpp b/tests/auto/declarative/qmllanguage/testtypes.cpp index 8b1ab59..c370c09 100644 --- a/tests/auto/declarative/qmllanguage/testtypes.cpp +++ b/tests/auto/declarative/qmllanguage/testtypes.cpp @@ -41,10 +41,10 @@ #include "testtypes.h" QML_DEFINE_INTERFACE(MyInterface); -QML_DEFINE_TYPE(Test,1,0,0,MyQmlObject,MyQmlObject); -QML_DEFINE_TYPE(Test,1,0,0,MyTypeObject,MyTypeObject); -QML_DEFINE_TYPE(Test,1,0,0,MyContainer,MyContainer); -QML_DEFINE_TYPE(Test,1,0,0,MyPropertyValueSource,MyPropertyValueSource); -QML_DEFINE_TYPE(Test,1,0,0,MyDotPropertyObject,MyDotPropertyObject); -QML_DEFINE_TYPE(Test,1,0,0,MyNamespacedType,MyNamespace::MyNamespacedType); +QML_DEFINE_TYPE(Test,1,0,MyQmlObject,MyQmlObject); +QML_DEFINE_TYPE(Test,1,0,MyTypeObject,MyTypeObject); +QML_DEFINE_TYPE(Test,1,0,MyContainer,MyContainer); +QML_DEFINE_TYPE(Test,1,0,MyPropertyValueSource,MyPropertyValueSource); +QML_DEFINE_TYPE(Test,1,0,MyDotPropertyObject,MyDotPropertyObject); +QML_DEFINE_TYPE(Test,1,0,MyNamespacedType,MyNamespace::MyNamespacedType); QML_DEFINE_NOCREATE_TYPE(MyGroupedObject); diff --git a/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp b/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp index c82aa4d..0fa36a1 100644 --- a/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp +++ b/tests/auto/declarative/qmllanguage/tst_qmllanguage.cpp @@ -890,11 +890,11 @@ void tst_qmllanguage::testType(const QString& qml, const QString& type) QML_DECLARE_TYPE(TestType) QML_DECLARE_TYPE(TestType2) -QML_DEFINE_TYPE(com.nokia.Test, 1, 0, 3, Test, TestType) -QML_DEFINE_TYPE(com.nokia.Test, 1, 5, 7, Test, TestType) -QML_DEFINE_TYPE(com.nokia.Test, 1, 8, 9, Test, TestType2) -QML_DEFINE_TYPE(com.nokia.Test, 1, 12, 13, Test, TestType2) -QML_DEFINE_TYPE(com.nokia.Test, 1, 9, 11, OldTest, TestType) +QML_DEFINE_TYPE(com.nokia.Test, 1, 0, Test, TestType) +QML_DEFINE_TYPE(com.nokia.Test, 1, 5, Test, TestType) +QML_DEFINE_TYPE(com.nokia.Test, 1, 8, Test, TestType2) +QML_DEFINE_TYPE(com.nokia.Test, 1, 9, OldTest, TestType) +QML_DEFINE_TYPE(com.nokia.Test, 1, 12, Test, TestType2) // Import tests (QT-558) @@ -937,10 +937,6 @@ void tst_qmllanguage::importsBuiltin_data() << "import com.nokia.Test 1.3\n" "Test {}" << "TestType"; - QTest::newRow("not in version 1.4") - << "import com.nokia.Test 1.4\n" - "Test {}" - << ""; QTest::newRow("in version 1.5") << "import com.nokia.Test 1.5\n" "Test {}" @@ -949,11 +945,7 @@ void tst_qmllanguage::importsBuiltin_data() << "import com.nokia.Test 1.8\n" "Test {}" << "TestType2"; - QTest::newRow("not in version 1.10") - << "import com.nokia.Test 1.10\n" - "Test {}" - << ""; - QTest::newRow("back in version 1.12") + QTest::newRow("in version 1.12") << "import com.nokia.Test 1.12\n" "Test {}" << "TestType2"; @@ -965,10 +957,6 @@ void tst_qmllanguage::importsBuiltin_data() << "import com.nokia.Test 1.11\n" "OldTest {}" << "TestType"; - QTest::newRow("no old in version 1.12") - << "import com.nokia.Test 1.12\n" - "OldTest {}" - << ""; QTest::newRow("multiversion 1") << "import com.nokia.Test 1.11\n" "import com.nokia.Test 1.12\n" @@ -989,11 +977,6 @@ void tst_qmllanguage::importsBuiltin_data() "import com.nokia.Test 1.8 as T8\n" "T8.Test {}" << "TestType2"; - QTest::newRow("qualified multiversion 5") - << "import com.nokia.Test 1.0 as T0\n" - "import com.nokia.Test 1.10 as T10\n" - "T10.Test {}" - << ""; } void tst_qmllanguage::importsBuiltin() @@ -1069,9 +1052,17 @@ void tst_qmllanguage::importsInstalled_data() "InstalledTest {}" << "QmlGraphicsRectangle"; QTest::newRow("installed import 2") + << "import com.nokia.installedtest 1.3\n" + "InstalledTest {}" + << "QmlGraphicsRectangle"; + QTest::newRow("installed import 3") << "import com.nokia.installedtest 1.4\n" "InstalledTest {}" << "QmlGraphicsText"; + QTest::newRow("installed import 4") + << "import com.nokia.installedtest 1.10\n" + "InstalledTest {}" + << "QmlGraphicsText"; QTest::newRow("installed import visibility") // QT-614 << "import com.nokia.installedtest 1.4\n" "PrivateType {}" diff --git a/tests/auto/declarative/qmlmetaproperty/tst_qmlmetaproperty.cpp b/tests/auto/declarative/qmlmetaproperty/tst_qmlmetaproperty.cpp index 7fbffdb..d6e88b5 100644 --- a/tests/auto/declarative/qmlmetaproperty/tst_qmlmetaproperty.cpp +++ b/tests/auto/declarative/qmlmetaproperty/tst_qmlmetaproperty.cpp @@ -54,7 +54,7 @@ public: }; QML_DECLARE_TYPE(MyQmlObject); -QML_DEFINE_TYPE(Test,1,0,0,MyQmlObject,MyQmlObject); +QML_DEFINE_TYPE(Test,1,0,MyQmlObject,MyQmlObject); class MyContainer : public QObject { @@ -73,7 +73,7 @@ private: }; QML_DECLARE_TYPE(MyContainer); -QML_DEFINE_TYPE(Test,1,0,0,MyContainer,MyContainer); +QML_DEFINE_TYPE(Test,1,0,MyContainer,MyContainer); class tst_qmlmetaproperty : public QObject { diff --git a/tests/auto/declarative/qmlpropertymap/tst_qmlpropertymap.cpp b/tests/auto/declarative/qmlpropertymap/tst_qmlpropertymap.cpp index 9be77e8..ece6030 100644 --- a/tests/auto/declarative/qmlpropertymap/tst_qmlpropertymap.cpp +++ b/tests/auto/declarative/qmlpropertymap/tst_qmlpropertymap.cpp @@ -95,13 +95,15 @@ void tst_QmlPropertyMap::operatorValue() QmlPropertyMap map; map.insert(QLatin1String("key1"),100); map.insert(QLatin1String("key2"),200); - QVERIFY(map.keys().count() == 2); + QVERIFY(map.count() == 2); QVERIFY(map.contains(QLatin1String("key1"))); - QCOMPARE(map.value(QLatin1String("key1")), QVariant(100)); - QCOMPARE(map.value(QLatin1String("key2")), QVariant(200)); - QCOMPARE(map[QLatin1String("key1")], map.value(QLatin1String("key1"))); - QCOMPARE(map[QLatin1String("key2")], map.value(QLatin1String("key2"))); + const QmlPropertyMap &constMap = map; + + QCOMPARE(constMap.value(QLatin1String("key1")), QVariant(100)); + QCOMPARE(constMap.value(QLatin1String("key2")), QVariant(200)); + QCOMPARE(constMap[QLatin1String("key1")], constMap.value(QLatin1String("key1"))); + QCOMPARE(constMap[QLatin1String("key2")], constMap.value(QLatin1String("key2"))); } void tst_QmlPropertyMap::clear() diff --git a/tests/auto/declarative/states/tst_states.cpp b/tests/auto/declarative/states/tst_states.cpp index a215ed8..f67c737 100644 --- a/tests/auto/declarative/states/tst_states.cpp +++ b/tests/auto/declarative/states/tst_states.cpp @@ -317,7 +317,7 @@ Q_SIGNALS: }; QML_DECLARE_TYPE(MyRect) -QML_DEFINE_TYPE(Qt.test, 1, 0, 0, MyRectangle,MyRect); +QML_DEFINE_TYPE(Qt.test, 1, 0, MyRectangle,MyRect); void tst_states::signalOverride() { diff --git a/tests/auto/declarative/valuetypes/data/font_read.qml b/tests/auto/declarative/valuetypes/data/font_read.qml new file mode 100644 index 0000000..e1d1ce0 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/font_read.qml @@ -0,0 +1,18 @@ +import Test 1.0 + +MyTypeObject { + property string f_family: font.family + property bool f_bold: font.bold + property int f_weight: font.weight + property bool f_italic: font.italic + property bool f_underline: font.underline + property bool f_overline: font.overline + property bool f_strikeout: font.strikeout + property real f_pointSize: font.pointSize + property int f_pixelSize: font.pixelSize + property int f_capitalization: font.capitalization + property real f_letterSpacing: font.letterSpacing + property real f_wordSpacing: font.wordSpacing; + property var copy: font +} + diff --git a/tests/auto/declarative/valuetypes/data/font_write.2.qml b/tests/auto/declarative/valuetypes/data/font_write.2.qml new file mode 100644 index 0000000..b559389 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/font_write.2.qml @@ -0,0 +1,6 @@ +import Test 1.0 + +MyTypeObject { + font.pixelSize: 10 +} + diff --git a/tests/auto/declarative/valuetypes/data/font_write.3.qml b/tests/auto/declarative/valuetypes/data/font_write.3.qml new file mode 100644 index 0000000..913ac50 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/font_write.3.qml @@ -0,0 +1,7 @@ +import Test 1.0 + +MyTypeObject { + font.pixelSize: 10 + font.pointSize: 19 +} + diff --git a/tests/auto/declarative/valuetypes/data/font_write.qml b/tests/auto/declarative/valuetypes/data/font_write.qml new file mode 100644 index 0000000..ff4d0a1 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/font_write.qml @@ -0,0 +1,16 @@ +import Test 1.0 + +MyTypeObject { + font.family: if(1) "Helvetica" + font.bold: if(1) false + font.weight: "Normal" + font.italic: if(1) false + font.underline: if(1) false + font.overline: if(1) false + font.strikeout: if(1) false + font.pointSize: if(1) 15 + font.capitalization: "AllLowercase" + font.letterSpacing: if(1) 9.7 + font.wordSpacing: if(1) 11.2 +} + diff --git a/tests/auto/declarative/valuetypes/data/point_read.qml b/tests/auto/declarative/valuetypes/data/point_read.qml new file mode 100644 index 0000000..3e67de6 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/point_read.qml @@ -0,0 +1,7 @@ +import Test 1.0 + +MyTypeObject { + property int p_x: point.x + property int p_y: point.y + property var copy: point +} diff --git a/tests/auto/declarative/valuetypes/data/point_write.qml b/tests/auto/declarative/valuetypes/data/point_write.qml new file mode 100644 index 0000000..063525a --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/point_write.qml @@ -0,0 +1,6 @@ +import Test 1.0 + +MyTypeObject { + point.x: if (true) 11 + point.y: if (true) 12 +} diff --git a/tests/auto/declarative/valuetypes/data/pointf_read.qml b/tests/auto/declarative/valuetypes/data/pointf_read.qml new file mode 100644 index 0000000..d845a5b --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/pointf_read.qml @@ -0,0 +1,8 @@ +import Test 1.0 + +MyTypeObject { + property real p_x: pointf.x + property real p_y: pointf.y + property var copy: pointf +} + diff --git a/tests/auto/declarative/valuetypes/data/pointf_write.qml b/tests/auto/declarative/valuetypes/data/pointf_write.qml new file mode 100644 index 0000000..9ee3fc1 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/pointf_write.qml @@ -0,0 +1,6 @@ +import Test 1.0 + +MyTypeObject { + pointf.x: if (true) 6.8 + pointf.y: if (true) 9.3 +} diff --git a/tests/auto/declarative/valuetypes/data/rect_read.qml b/tests/auto/declarative/valuetypes/data/rect_read.qml new file mode 100644 index 0000000..5364431 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/rect_read.qml @@ -0,0 +1,10 @@ +import Test 1.0 + +MyTypeObject { + property int r_x: rect.x + property int r_y: rect.y + property int r_width: rect.width + property int r_height: rect.height + property var copy: rect +} + diff --git a/tests/auto/declarative/valuetypes/data/rect_write.qml b/tests/auto/declarative/valuetypes/data/rect_write.qml new file mode 100644 index 0000000..8add453 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/rect_write.qml @@ -0,0 +1,9 @@ +import Test 1.0 + +MyTypeObject { + rect.x: if (true) 1234 + rect.y: if (true) 7 + rect.width: if (true) 56 + rect.height: if (true) 63 +} + diff --git a/tests/auto/declarative/valuetypes/data/rectf_read.qml b/tests/auto/declarative/valuetypes/data/rectf_read.qml new file mode 100644 index 0000000..aeb9f41 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/rectf_read.qml @@ -0,0 +1,10 @@ +import Test 1.0 + +MyTypeObject { + property real r_x: rectf.x + property real r_y: rectf.y + property real r_width: rectf.width + property real r_height: rectf.height + property var copy: rectf +} + diff --git a/tests/auto/declarative/valuetypes/data/rectf_write.qml b/tests/auto/declarative/valuetypes/data/rectf_write.qml new file mode 100644 index 0000000..1e6ff4f --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/rectf_write.qml @@ -0,0 +1,9 @@ +import Test 1.0 + +MyTypeObject { + rectf.x: if (true) 70.1 + rectf.y: if (true) -113.2 + rectf.width: if (true) 80924.8 + rectf.height: if (true) 99.2 +} + diff --git a/tests/auto/declarative/valuetypes/data/size_read.qml b/tests/auto/declarative/valuetypes/data/size_read.qml new file mode 100644 index 0000000..86dba03 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/size_read.qml @@ -0,0 +1,8 @@ +import Test 1.0 + +MyTypeObject { + property int s_width: size.width + property int s_height: size.height + property var copy: size +} + diff --git a/tests/auto/declarative/valuetypes/data/size_write.qml b/tests/auto/declarative/valuetypes/data/size_write.qml new file mode 100644 index 0000000..2f9d10e --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/size_write.qml @@ -0,0 +1,7 @@ +import Test 1.0 + +MyTypeObject { + size.width: if (true) 13 + size.height: if (true) 88 +} + diff --git a/tests/auto/declarative/valuetypes/data/sizef_read.qml b/tests/auto/declarative/valuetypes/data/sizef_read.qml new file mode 100644 index 0000000..c6f34e4 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/sizef_read.qml @@ -0,0 +1,9 @@ +import Test 1.0 + +MyTypeObject { + property real s_width: sizef.width + property real s_height: sizef.height + property var copy: sizef +} + + diff --git a/tests/auto/declarative/valuetypes/data/sizef_write.qml b/tests/auto/declarative/valuetypes/data/sizef_write.qml new file mode 100644 index 0000000..f16f0bd --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/sizef_write.qml @@ -0,0 +1,6 @@ +import Test 1.0 + +MyTypeObject { + sizef.width: if (true) 44.3 + sizef.height: if (true) 92.8 +} diff --git a/tests/auto/declarative/valuetypes/data/vector3d_read.qml b/tests/auto/declarative/valuetypes/data/vector3d_read.qml new file mode 100644 index 0000000..abdf9f0 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/vector3d_read.qml @@ -0,0 +1,9 @@ +import Test 1.0 + +MyTypeObject { + property real v_x: vector.x + property real v_y: vector.y + property real v_z: vector.z + property var copy: vector +} + diff --git a/tests/auto/declarative/valuetypes/data/vector3d_write.qml b/tests/auto/declarative/valuetypes/data/vector3d_write.qml new file mode 100644 index 0000000..9c1bf76 --- /dev/null +++ b/tests/auto/declarative/valuetypes/data/vector3d_write.qml @@ -0,0 +1,8 @@ +import Test 1.0 + +MyTypeObject { + vector.x: if (true) -0.3 + vector.y: if (true) -12.9 + vector.z: if (true) 907.4 +} + diff --git a/tests/auto/declarative/valuetypes/testtypes.cpp b/tests/auto/declarative/valuetypes/testtypes.cpp new file mode 100644 index 0000000..d57afaf --- /dev/null +++ b/tests/auto/declarative/valuetypes/testtypes.cpp @@ -0,0 +1,43 @@ +/**************************************************************************** +** +** 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 "testtypes.h" + +QML_DEFINE_TYPE(Test, 1, 0, 0, MyTypeObject, MyTypeObject); diff --git a/tests/auto/declarative/valuetypes/testtypes.h b/tests/auto/declarative/valuetypes/testtypes.h new file mode 100644 index 0000000..cc98d7c --- /dev/null +++ b/tests/auto/declarative/valuetypes/testtypes.h @@ -0,0 +1,128 @@ +/**************************************************************************** +** +** 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$ +** +****************************************************************************/ +#ifndef TESTTYPES_H +#define TESTTYPES_H + +#include <QObject> +#include <QPoint> +#include <QPointF> +#include <QSize> +#include <QSizeF> +#include <QRect> +#include <QRectF> +#include <QVector3D> +#include <QFont> +#include <qml.h> + +class MyTypeObject : public QObject +{ + Q_OBJECT + + Q_PROPERTY(QPoint point READ point WRITE setPoint NOTIFY changed); + Q_PROPERTY(QPointF pointf READ pointf WRITE setPointf NOTIFY changed); + Q_PROPERTY(QSize size READ size WRITE setSize NOTIFY changed); + Q_PROPERTY(QSizeF sizef READ sizef WRITE setSizef NOTIFY changed); + Q_PROPERTY(QRect rect READ rect WRITE setRect NOTIFY changed); + Q_PROPERTY(QRectF rectf READ rectf WRITE setRectf NOTIFY changed); + Q_PROPERTY(QVector3D vector READ vector WRITE setVector NOTIFY changed); + Q_PROPERTY(QFont font READ font WRITE setFont NOTIFY changed); + +public: + MyTypeObject() : + m_point(10, 4), + m_pointf(11.3, -10.9), + m_size(1912, 1913), + m_sizef(0.1, 100923.2), + m_rect(2, 3, 109, 102), + m_rectf(103.8, 99.2, 88.1, 77.6), + m_vector(23.88, 3.1, 4.3) + { + m_font.setFamily("Arial"); + m_font.setBold(true); + m_font.setWeight(QFont::DemiBold); + m_font.setItalic(true); + m_font.setUnderline(true); + m_font.setOverline(true); + m_font.setStrikeOut(true); + m_font.setPointSize(29); + m_font.setCapitalization(QFont::AllUppercase); + m_font.setLetterSpacing(QFont::AbsoluteSpacing, 10.2); + m_font.setWordSpacing(19.7); + } + + QPoint m_point; + QPoint point() const { return m_point; } + void setPoint(const QPoint &v) { m_point = v; } + + QPointF m_pointf; + QPointF pointf() const { return m_pointf; } + void setPointf(const QPointF &v) { m_pointf = v; } + + QSize m_size; + QSize size() const { return m_size; } + void setSize(const QSize &v) { m_size = v; } + + QSizeF m_sizef; + QSizeF sizef() const { return m_sizef; } + void setSizef(const QSizeF &v) { m_sizef = v; } + + QRect m_rect; + QRect rect() const { return m_rect; } + void setRect(const QRect &v) { m_rect = v; } + + QRectF m_rectf; + QRectF rectf() const { return m_rectf; } + void setRectf(const QRectF &v) { m_rectf = v; } + + QVector3D m_vector; + QVector3D vector() const { return m_vector; } + void setVector(const QVector3D &v) { m_vector = v; } + + QFont m_font; + QFont font() const { return m_font; } + void setFont(const QFont &v) { m_font = v; } + +signals: + void changed(); +}; +QML_DECLARE_TYPE(MyTypeObject); + +#endif // TESTTYPES_H diff --git a/tests/auto/declarative/valuetypes/tst_valuetypes.cpp b/tests/auto/declarative/valuetypes/tst_valuetypes.cpp new file mode 100644 index 0000000..a338e47 --- /dev/null +++ b/tests/auto/declarative/valuetypes/tst_valuetypes.cpp @@ -0,0 +1,330 @@ +/**************************************************************************** +** +** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the test suite of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** No Commercial Usage +** This file contains pre-release code and may not be distributed. +** You may use this file in accordance with the terms and conditions +** contained in the Technology Preview License Agreement accompanying +** this package. +** +** GNU Lesser General Public License Usage +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** If you have questions regarding the use of this file, please contact +** Nokia at qt-info@nokia.com. +** +** +** +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#include <qtest.h> +#include <QmlEngine> +#include <QmlComponent> +#include <QDebug> +#include "testtypes.h" + +class tst_valuetypes : public QObject +{ + Q_OBJECT +public: + tst_valuetypes() {} + +private slots: + void point(); + void pointf(); + void size(); + void sizef(); + void rect(); + void rectf(); + void vector3d(); + void font(); + + // ### + // Test binding assignment + // Test static assignment + // Test JS assignment + // Test "font.x: blah; font: blah2;" conflict + // Test constant binding removal + // Test value sources + // Test behaviours +private: + QmlEngine engine; +}; + +inline QUrl TEST_FILE(const QString &filename) +{ + return QUrl::fromLocalFile(QLatin1String(SRCDIR) + QLatin1String("/data/") + filename); +} + +void tst_valuetypes::point() +{ + { + QmlComponent component(&engine, TEST_FILE("point_read.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->property("p_x").toInt(), 10); + QCOMPARE(object->property("p_y").toInt(), 4); + QCOMPARE(object->property("copy"), QVariant(QPoint(10, 4))); + + delete object; + } + + { + QmlComponent component(&engine, TEST_FILE("point_write.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->point(), QPoint(11, 12)); + + delete object; + } +} + +void tst_valuetypes::pointf() +{ + { + QmlComponent component(&engine, TEST_FILE("pointf_read.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->property("p_x").toDouble(), 11.3); + QCOMPARE(object->property("p_y").toDouble(), -10.9); + QCOMPARE(object->property("copy"), QVariant(QPointF(11.3, -10.9))); + + delete object; + } + + { + QmlComponent component(&engine, TEST_FILE("pointf_write.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->pointf(), QPointF(6.8, 9.3)); + + delete object; + } +} + +void tst_valuetypes::size() +{ + { + QmlComponent component(&engine, TEST_FILE("size_read.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->property("s_width").toInt(), 1912); + QCOMPARE(object->property("s_height").toInt(), 1913); + QCOMPARE(object->property("copy"), QVariant(QSize(1912, 1913))); + + delete object; + } + + { + QmlComponent component(&engine, TEST_FILE("size_write.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->size(), QSize(13, 88)); + + delete object; + } +} + +void tst_valuetypes::sizef() +{ + { + QmlComponent component(&engine, TEST_FILE("sizef_read.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->property("s_width").toDouble(), 0.1); + QCOMPARE(object->property("s_height").toDouble(), 100923.2); + QCOMPARE(object->property("copy"), QVariant(QSizeF(0.1, 100923.2))); + + delete object; + } + + { + QmlComponent component(&engine, TEST_FILE("sizef_write.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->sizef(), QSizeF(44.3, 92.8)); + + delete object; + } +} + +void tst_valuetypes::rect() +{ + { + QmlComponent component(&engine, TEST_FILE("rect_read.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->property("r_x").toInt(), 2); + QCOMPARE(object->property("r_y").toInt(), 3); + QCOMPARE(object->property("r_width").toInt(), 109); + QCOMPARE(object->property("r_height").toInt(), 102); + QCOMPARE(object->property("copy"), QVariant(QRect(2, 3, 109, 102))); + + delete object; + } + + { + QmlComponent component(&engine, TEST_FILE("rect_write.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->rect(), QRect(1234, 7, 56, 63)); + + delete object; + } +} + +void tst_valuetypes::rectf() +{ + { + QmlComponent component(&engine, TEST_FILE("rectf_read.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->property("r_x").toDouble(), 103.8); + QCOMPARE(object->property("r_y").toDouble(), 99.2); + QCOMPARE(object->property("r_width").toDouble(), 88.1); + QCOMPARE(object->property("r_height").toDouble(), 77.6); + QCOMPARE(object->property("copy"), QVariant(QRectF(103.8, 99.2, 88.1, 77.6))); + + delete object; + } + + { + QmlComponent component(&engine, TEST_FILE("rectf_write.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->rectf(), QRectF(70.1, -113.2, 80924.8, 99.2)); + + delete object; + } +} + +void tst_valuetypes::vector3d() +{ + { + QmlComponent component(&engine, TEST_FILE("vector3d_read.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE((float)object->property("v_x").toDouble(), (float)23.88); + QCOMPARE((float)object->property("v_y").toDouble(), (float)3.1); + QCOMPARE((float)object->property("v_z").toDouble(), (float)4.3); + QCOMPARE(object->property("copy"), QVariant(QVector3D(23.88, 3.1, 4.3))); + + delete object; + } + + { + QmlComponent component(&engine, TEST_FILE("vector3d_write.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->vector(), QVector3D(-0.3, -12.9, 907.4)); + + delete object; + } +} + +void tst_valuetypes::font() +{ + { + QmlComponent component(&engine, TEST_FILE("font_read.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->property("f_family").toString(), object->font().family()); + QCOMPARE(object->property("f_bold").toBool(), object->font().bold()); + QCOMPARE(object->property("f_weight").toInt(), object->font().weight()); + QCOMPARE(object->property("f_italic").toBool(), object->font().italic()); + QCOMPARE(object->property("f_underline").toBool(), object->font().underline()); + QCOMPARE(object->property("f_overline").toBool(), object->font().overline()); + QCOMPARE(object->property("f_strikeout").toBool(), object->font().strikeOut()); + QCOMPARE(object->property("f_pointSize").toDouble(), object->font().pointSizeF()); + QCOMPARE(object->property("f_pixelSize").toInt(), object->font().pixelSize()); + QCOMPARE(object->property("f_capitalization").toInt(), (int)object->font().capitalization()); + QCOMPARE(object->property("f_letterSpacing").toDouble(), object->font().letterSpacing()); + QCOMPARE(object->property("f_wordSpacing").toDouble(), object->font().wordSpacing()); + + QCOMPARE(object->property("copy"), QVariant(object->font())); + + delete object; + } + + { + QmlComponent component(&engine, TEST_FILE("font_write.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QFont font; + font.setFamily("Helvetica"); + font.setBold(false); + font.setWeight(QFont::Normal); + font.setItalic(false); + font.setUnderline(false); + font.setStrikeOut(false); + font.setPointSize(15); + font.setCapitalization(QFont::AllLowercase); + font.setLetterSpacing(QFont::AbsoluteSpacing, 9.7); + font.setWordSpacing(11.2); + + QCOMPARE(object->font(), font); + + delete object; + } + + // Test pixelSize + { + QmlComponent component(&engine, TEST_FILE("font_write.2.qml")); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->font().pixelSize(), 10); + } + + // Test pixelSize and pointSize + { + QmlComponent component(&engine, TEST_FILE("font_write.3.qml")); + QTest::ignoreMessage(QtWarningMsg, "Both point size and pixel size set. Using pixel size. "); + MyTypeObject *object = qobject_cast<MyTypeObject *>(component.create()); + QVERIFY(object != 0); + + QCOMPARE(object->font().pixelSize(), 10); + } +} + +QTEST_MAIN(tst_valuetypes) + +#include "tst_valuetypes.moc" diff --git a/tests/auto/declarative/valuetypes/valuetypes.pro b/tests/auto/declarative/valuetypes/valuetypes.pro new file mode 100644 index 0000000..ae7c731 --- /dev/null +++ b/tests/auto/declarative/valuetypes/valuetypes.pro @@ -0,0 +1,10 @@ +load(qttest_p4) +contains(QT_CONFIG,declarative): QT += declarative +macx:CONFIG -= app_bundle + +HEADERS += testtypes.h + +SOURCES += tst_valuetypes.cpp \ + testtypes.cpp + +DEFINES += SRCDIR=\\\"$$PWD\\\" diff --git a/tests/auto/declarative/visual/qfxtext/font/data-MAC/plaintext.0.png b/tests/auto/declarative/visual/qfxtext/font/data-MAC/plaintext.0.png Binary files differnew file mode 100644 index 0000000..50d56dc --- /dev/null +++ b/tests/auto/declarative/visual/qfxtext/font/data-MAC/plaintext.0.png diff --git a/tests/auto/declarative/visual/qfxtext/font/data-MAC/plaintext.qml b/tests/auto/declarative/visual/qfxtext/font/data-MAC/plaintext.qml new file mode 100644 index 0000000..63e20d4 --- /dev/null +++ b/tests/auto/declarative/visual/qfxtext/font/data-MAC/plaintext.qml @@ -0,0 +1,351 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 32 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 48 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 64 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 80 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 96 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 112 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 128 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 144 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 160 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 176 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 192 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 208 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 224 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 240 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 256 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 272 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 288 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 304 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 320 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 336 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 352 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 368 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 384 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 400 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 416 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 432 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 448 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 464 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 480 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 496 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 512 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 528 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 544 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 560 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 576 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 592 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 608 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 624 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 640 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 656 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 672 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 688 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 704 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 720 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 736 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 752 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 768 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 784 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 800 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 816 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 832 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 848 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 864 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 880 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 896 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 912 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 928 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 944 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 960 + image: "plaintext.0.png" + } + Frame { + msec: 976 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 992 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1008 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1024 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1040 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1056 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1072 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1088 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1104 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1120 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1136 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1152 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1168 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1184 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1216 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1232 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1248 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1264 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1280 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1296 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1312 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1328 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1344 + hash: "d553014bc56a46787e30459b0f44f57a" + } +} diff --git a/tests/auto/declarative/visual/qfxtext/font/data-MAC/richtext.0.png b/tests/auto/declarative/visual/qfxtext/font/data-MAC/richtext.0.png Binary files differnew file mode 100644 index 0000000..2910670 --- /dev/null +++ b/tests/auto/declarative/visual/qfxtext/font/data-MAC/richtext.0.png diff --git a/tests/auto/declarative/visual/qfxtext/font/data-MAC/richtext.qml b/tests/auto/declarative/visual/qfxtext/font/data-MAC/richtext.qml new file mode 100644 index 0000000..d55ad90 --- /dev/null +++ b/tests/auto/declarative/visual/qfxtext/font/data-MAC/richtext.qml @@ -0,0 +1,359 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 32 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 48 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 64 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 80 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 96 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 112 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 128 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 144 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 160 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 176 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 192 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 208 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 224 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 240 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 256 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 272 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 288 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 304 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 320 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 336 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 352 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 368 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 384 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 400 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 416 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 432 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 448 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 464 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 480 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 496 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 512 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 528 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 544 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 560 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 576 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 592 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 608 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 624 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 640 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 656 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 672 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 688 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 704 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 720 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 736 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 752 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 768 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 784 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 800 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 816 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 832 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 848 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 864 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 880 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 896 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 912 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 928 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 944 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 960 + image: "richtext.0.png" + } + Frame { + msec: 976 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 992 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1008 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1024 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1040 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1056 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1072 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1088 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1104 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1120 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1136 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1152 + hash: "dfea78484b840b8cab690e277b960723" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1168 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1184 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1200 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1216 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1232 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1248 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1264 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1280 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1296 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1312 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1328 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1344 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1360 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1376 + hash: "dfea78484b840b8cab690e277b960723" + } +} diff --git a/tests/auto/declarative/visual/qfxtext/font/data/plaintext.0.png b/tests/auto/declarative/visual/qfxtext/font/data/plaintext.0.png Binary files differnew file mode 100644 index 0000000..50d56dc --- /dev/null +++ b/tests/auto/declarative/visual/qfxtext/font/data/plaintext.0.png diff --git a/tests/auto/declarative/visual/qfxtext/font/data/plaintext.qml b/tests/auto/declarative/visual/qfxtext/font/data/plaintext.qml new file mode 100644 index 0000000..f4cbcbd --- /dev/null +++ b/tests/auto/declarative/visual/qfxtext/font/data/plaintext.qml @@ -0,0 +1,351 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 32 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 48 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 64 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 80 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 96 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 112 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 128 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 144 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 160 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 176 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 192 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 208 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 224 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 240 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 256 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 272 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 288 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 304 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 320 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 336 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 352 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 368 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 384 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 400 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 416 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 432 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 448 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 464 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 480 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 496 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 512 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 528 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 544 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 560 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 576 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 592 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 608 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 624 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 640 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 656 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 672 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 688 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 704 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 720 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 736 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 752 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 768 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 784 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 800 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 816 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 832 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 848 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 864 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 880 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 896 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 912 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 928 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 944 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 960 + image: "plaintext.0.png" + } + Frame { + msec: 976 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 992 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1008 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1024 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1040 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1056 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1072 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1088 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1104 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1120 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1136 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1152 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1168 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1184 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1200 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1216 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1232 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1248 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1264 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1280 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1296 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1312 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1328 + hash: "d553014bc56a46787e30459b0f44f57a" + } + Frame { + msec: 1344 + hash: "d553014bc56a46787e30459b0f44f57a" + } +} diff --git a/tests/auto/declarative/visual/qfxtext/font/data/richtext.0.png b/tests/auto/declarative/visual/qfxtext/font/data/richtext.0.png Binary files differnew file mode 100644 index 0000000..2910670 --- /dev/null +++ b/tests/auto/declarative/visual/qfxtext/font/data/richtext.0.png diff --git a/tests/auto/declarative/visual/qfxtext/font/data/richtext.qml b/tests/auto/declarative/visual/qfxtext/font/data/richtext.qml new file mode 100644 index 0000000..9f396c2 --- /dev/null +++ b/tests/auto/declarative/visual/qfxtext/font/data/richtext.qml @@ -0,0 +1,359 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 32 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 48 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 64 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 80 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 96 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 112 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 128 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 144 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 160 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 176 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 192 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 208 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 224 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 240 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 256 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 272 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 288 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 304 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 320 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 336 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 352 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 368 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 384 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 400 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 416 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 432 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 448 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 464 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 480 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 496 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 512 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 528 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 544 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 560 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 576 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 592 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 608 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 624 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 640 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 656 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 672 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 688 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 704 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 720 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 736 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 752 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 768 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 784 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 800 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 816 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 832 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 848 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 864 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 880 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 896 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 912 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 928 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 944 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 960 + image: "richtext.0.png" + } + Frame { + msec: 976 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 992 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1008 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1024 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1040 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1056 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1072 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1088 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1104 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1120 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1136 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1152 + hash: "dfea78484b840b8cab690e277b960723" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1168 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1184 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1200 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1216 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1232 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1248 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1264 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1280 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1296 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1312 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1328 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1344 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1360 + hash: "dfea78484b840b8cab690e277b960723" + } + Frame { + msec: 1376 + hash: "dfea78484b840b8cab690e277b960723" + } +} diff --git a/tests/auto/declarative/visual/qfxtext/font/plaintext.qml b/tests/auto/declarative/visual/qfxtext/font/plaintext.qml new file mode 100644 index 0000000..c58b95c --- /dev/null +++ b/tests/auto/declarative/visual/qfxtext/font/plaintext.qml @@ -0,0 +1,76 @@ +import Qt 4.6 + +Rectangle { + id: s; width: 800; height: 800; color: "lightsteelblue" + property string text: "The quick brown fox jumps over the lazy dog." + + Column { + spacing: 10 + Text { + text: s.text + } + Text { + text: s.text; font.pixelSize: 18 + } + Text { + text: s.text; font.pointSize: 25 + } + Text { + text: s.text; color: "red" + } + Text { + text: s.text; font.capitalization: "AllUppercase" + } + Text { + text: s.text; font.underline: true + } + Text { + text: s.text; font.overline: true + } + Text { + text: s.text; font.strikeout: true + } + Text { + text: s.text; font.underline: true; font.overline: true; font.strikeout: true + } + Text { + text: s.text; font.letterSpacing: 200 + } + Text { + text: s.text; font.underline: true; font.letterSpacing: 200; font.capitalization: "AllUppercase"; color: "blue" + } + Text { + text: s.text; font.overline: true; font.wordSpacing: 25; font.capitalization: "Capitalize"; color: "green" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Sunken; styleColor: "gray" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Raised; styleColor: "yellow" + } + Text { + text: s.text; horizontalAlignment: Text.AlignLeft; width: 800 + } + Text { + text: s.text; horizontalAlignment: Text.AlignHCenter; width: 800 + } + Text { + text: s.text; horizontalAlignment: Text.AlignRight; width: 800 + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white"; wrap: true; width: 200 + } + Text { + text: s.text; elide: Text.ElideLeft; width: 200 + } + Text { + text: s.text; elide: Text.ElideMiddle; width: 200 + } + Text { + text: s.text; elide: Text.ElideRight; width: 200 + } + } +} diff --git a/tests/auto/declarative/visual/qfxtext/font/richtext.qml b/tests/auto/declarative/visual/qfxtext/font/richtext.qml new file mode 100644 index 0000000..390527a --- /dev/null +++ b/tests/auto/declarative/visual/qfxtext/font/richtext.qml @@ -0,0 +1,76 @@ +import Qt 4.6 + +Rectangle { + id: s; width: 800; height: 800; 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: 10 + Text { + text: s.text + } + Text { + text: s.text; font.pixelSize: 18 + } + Text { + text: s.text; font.pointSize: 25 + } + Text { + text: s.text; color: "red" + } + Text { + text: s.text; font.capitalization: "AllUppercase" + } + Text { + text: s.text; font.underline: true + } + Text { + text: s.text; font.overline: true + } + Text { + text: s.text; font.strikeout: true + } + Text { + text: s.text; font.underline: true; font.overline: true; font.strikeout: true + } + Text { + text: s.text; font.letterSpacing: 200 + } + Text { + text: s.text; font.underline: true; font.letterSpacing: 200; font.capitalization: "AllUppercase"; color: "blue" + } + Text { + text: s.text; font.overline: true; font.wordSpacing: 25; font.capitalization: "Capitalize"; color: "green" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Sunken; styleColor: "gray" + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Raised; styleColor: "yellow" + } + Text { + text: s.text; horizontalAlignment: Text.AlignLeft; width: 800 + } + Text { + text: s.text; horizontalAlignment: Text.AlignHCenter; width: 800 + } + Text { + text: s.text; horizontalAlignment: Text.AlignRight; width: 800 + } + Text { + text: s.text; font.pixelSize: 18; style: Text.Outline; styleColor: "white"; wrap: true; width: 200 + } + Text { + text: s.text; elide: Text.ElideLeft; width: 200 + } + Text { + text: s.text; elide: Text.ElideMiddle; width: 200 + } + Text { + text: s.text; elide: Text.ElideRight; width: 200 + } + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/animated-smooth.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/animated-smooth.qml new file mode 100644 index 0000000..0ceaf49 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/animated-smooth.qml @@ -0,0 +1,55 @@ +import Qt 4.6 +import "content" + +Rectangle { + id: page + color: "white" + width: 1030; height: 540 + + MyBorderImage { + x: 20; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240 + source: "content/colors.png"; margin: 30; antialiased: true + } + MyBorderImage { + x: 270; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240; antialiased: true + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 520; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240; antialiased: true + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 770; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240; antialiased: true + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round + } + MyBorderImage { + x: 20; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200; antialiased: true + source: "content/bw.png"; margin: 10 + } + MyBorderImage { + x: 270; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200; antialiased: true + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 520; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200; antialiased: true + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 770; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200; antialiased: true + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/animated.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/animated.qml new file mode 100644 index 0000000..29c02b3 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/animated.qml @@ -0,0 +1,55 @@ +import Qt 4.6 +import "content" + +Rectangle { + id: page + color: "white" + width: 1030; height: 540 + + MyBorderImage { + x: 20; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240 + source: "content/colors.png"; margin: 30 + } + MyBorderImage { + x: 270; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240 + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 520; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240 + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 770; y: 20; minWidth: 120; maxWidth: 240 + minHeight: 120; maxHeight: 240 + source: "content/colors.png"; margin: 30 + horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round + } + MyBorderImage { + x: 20; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200 + source: "content/bw.png"; margin: 10 + } + MyBorderImage { + x: 270; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200 + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Repeat; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 520; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200 + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Stretch; verticalMode: BorderImage.Repeat + } + MyBorderImage { + x: 770; y: 280; minWidth: 60; maxWidth: 200 + minHeight: 40; maxHeight: 200 + source: "content/bw.png"; margin: 10 + horizontalMode: BorderImage.Round; verticalMode: BorderImage.Round + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/borders.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/borders.qml new file mode 100644 index 0000000..9879416 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/borders.qml @@ -0,0 +1,18 @@ +import Qt 4.6 + +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/visual/qmlgraphicsborderimage/content/MyBorderImage.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/MyBorderImage.qml new file mode 100644 index 0000000..db722ae --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/MyBorderImage.qml @@ -0,0 +1,38 @@ +import Qt 4.6 + +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: 240; height: 240 + + BorderImage { + id: image; x: container.width / 2 - width / 2; y: container.height / 2 - height / 2 + + width: SequentialAnimation { + running: true; repeat: true + NumberAnimation { from: container.minWidth; to: container.maxWidth; duration: 2000; easing: "easeInOutQuad"} + NumberAnimation { from: container.maxWidth; to: container.minWidth; duration: 2000; easing: "easeInOutQuad" } + } + + height: SequentialAnimation { + running: true; repeat: true + NumberAnimation { from: container.minHeight; to: container.maxHeight; duration: 2000; easing: "easeInOutQuad"} + NumberAnimation { from: container.maxHeight; to: container.minHeight; duration: 2000; easing: "easeInOutQuad" } + } + + border.top: container.margin + border.left: container.margin + border.bottom: container.margin + border.right: container.margin + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/content/bw.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/bw.png Binary files differnew file mode 100644 index 0000000..486eaae --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/bw.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-round.sci b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-round.sci new file mode 100644 index 0000000..506f6f5 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-round.sci @@ -0,0 +1,7 @@ +border.left:30 +border.top:30 +border.right:30 +border.bottom:30 +horizontalTileRule:Round +verticalTileRule:Round +source:colors.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-stretch.sci b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-stretch.sci new file mode 100644 index 0000000..e4989a7 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors-stretch.sci @@ -0,0 +1,5 @@ +border.left:30 +border.top:30 +border.right:30 +border.bottom:30 +source:colors.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors.png Binary files differnew file mode 100644 index 0000000..dfb62f3 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/content/colors.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.0.png Binary files differnew file mode 100644 index 0000000..9a6b079 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.0.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.1.png Binary files differnew file mode 100644 index 0000000..1f960e5 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.1.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.2.png Binary files differnew file mode 100644 index 0000000..85a2729 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.2.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.3.png Binary files differnew file mode 100644 index 0000000..de6ff7c --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.3.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.4.png Binary files differnew file mode 100644 index 0000000..fe7d3dd --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.4.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.5.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.5.png Binary files differnew file mode 100644 index 0000000..e73bef5 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.5.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.6.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.6.png Binary files differnew file mode 100644 index 0000000..0c75422 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.6.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.qml new file mode 100644 index 0000000..96adb73 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated-smooth.qml @@ -0,0 +1,1823 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 32 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 48 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 64 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 80 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 96 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 128 + hash: "cd2180be80101c2aa4350b51b7a6f502" + } + Frame { + msec: 144 + hash: "de471829f8ad3b43bf1b4df9d1d65a4d" + } + Frame { + msec: 160 + hash: "ed9f2ca797894612600bc4b7fbaecb84" + } + Frame { + msec: 176 + hash: "59470d71fa4426d0283e86371f2bfc2a" + } + Frame { + msec: 192 + hash: "9a2f92efb51bcc6293d6a8e82d5314ea" + } + Frame { + msec: 208 + hash: "7b66e21652a7d0982226e281a48411a9" + } + Frame { + msec: 224 + hash: "a716c8d2c94433dee719f92f0822c8ec" + } + Frame { + msec: 240 + hash: "f22a47b846cfee96ebdf39bbce2e6d51" + } + Frame { + msec: 256 + hash: "5a8932d13d624932a65694fd19ec05cd" + } + Frame { + msec: 272 + hash: "48e62dd171f5da82b5aa26c765e4042c" + } + Frame { + msec: 288 + hash: "63d3c47f7dec1236440a05e0a8380900" + } + Frame { + msec: 304 + hash: "323af110731b7af0c30f8862ff59b833" + } + Frame { + msec: 320 + hash: "83c029e328e80af83158c37089cf0ece" + } + Frame { + msec: 336 + hash: "3f9a09ae19be34348bb2552915360cf7" + } + Frame { + msec: 352 + hash: "df624d70cae1bcefda8d69c0ff055d83" + } + Frame { + msec: 368 + hash: "d671a3b971468e1d8aa30ab655e020a9" + } + Frame { + msec: 384 + hash: "74c837b29f7f05b615123f0e608b523f" + } + Frame { + msec: 400 + hash: "277ef98ea859fb7685fe6cd44a538a7d" + } + Frame { + msec: 416 + hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" + } + Frame { + msec: 432 + hash: "456be9c208d690c479ba12bf6325dde0" + } + Frame { + msec: 448 + hash: "10307beea6d99ab0ff5863f8e35555ed" + } + Frame { + msec: 464 + hash: "170a1d5fe3422cf5223a78015a6a45fd" + } + Frame { + msec: 480 + hash: "64ecb03aa538e74d0b99c6dec7751401" + } + Frame { + msec: 496 + hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" + } + Frame { + msec: 512 + hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154" + } + Frame { + msec: 528 + hash: "0af81ee0d76ff8335a0e347dc086ca37" + } + Frame { + msec: 544 + hash: "061406edcbd2d4930ab89c3fcab63c7f" + } + Frame { + msec: 560 + hash: "31d65134f340d82dd40f2401bda3fb7e" + } + Frame { + msec: 576 + hash: "16c16c77c65b36d1e0954d5ead2642be" + } + Frame { + msec: 592 + hash: "61c16009b65a55bffb63e27727e1615e" + } + Frame { + msec: 608 + hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" + } + Frame { + msec: 624 + hash: "89c159ef00d273ecfe61332e1bf7244d" + } + Frame { + msec: 640 + hash: "f4d0d3bca25e67908b38910f47b4757e" + } + Frame { + msec: 656 + hash: "0e0c40f8e11a7bd499c80562ac6f8a82" + } + Frame { + msec: 672 + hash: "4310a4c3037d845f088f21ad608f366a" + } + Frame { + msec: 688 + hash: "3d518cd0348d6202243364af1dd6ce89" + } + Frame { + msec: 704 + hash: "41987e6b4248d7944c0dbc6eb3862023" + } + Frame { + msec: 720 + hash: "3e81338d38723d56f2d6c428271f81c1" + } + Frame { + msec: 736 + hash: "902683d72f789399e9d99d1cea1bf177" + } + Frame { + msec: 752 + hash: "efc119983701908a904deb24108c59cb" + } + Frame { + msec: 768 + hash: "3a77785cfd7755f567619d8e04583f6a" + } + Frame { + msec: 784 + hash: "fd85d1dd931033973283a408b5e328a8" + } + Frame { + msec: 800 + hash: "5d3e85acabe5e5ff802eb7731676274f" + } + Frame { + msec: 816 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 832 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 848 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 864 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 880 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 896 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 912 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 928 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 944 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Frame { + msec: 960 + image: "animated-smooth.0.png" + } + Frame { + msec: 976 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 992 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 1008 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 1024 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 1040 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 1056 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 1072 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 1088 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 1104 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 1120 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 1136 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 1152 + hash: "23291a0239c69ea07db959e709b1ff5f" + } + Frame { + msec: 1168 + hash: "2192094410e2d7c8d9d4aa5f8deacff5" + } + Frame { + msec: 1184 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 1200 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 1216 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 1232 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 1248 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 1264 + hash: "7f9999a9c87af43b9703323efab31770" + } + Frame { + msec: 1280 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 1296 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 1312 + hash: "fce2648975106bc5c0ca9a4530f7f748" + } + Frame { + msec: 1328 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 1344 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 1360 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 1376 + hash: "49a1df977b0494c7c72ca0b65c394e13" + } + Frame { + msec: 1392 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 1408 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 1424 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 1440 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 1456 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 1472 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 1488 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 1504 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 1520 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 1536 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 1552 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 1568 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 1584 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 1600 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 1616 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 1632 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 1648 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 1664 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 1680 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 1696 + hash: "d8e398a1ce9ca45c19951e93bd5c932a" + } + Frame { + msec: 1712 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 1728 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 1744 + hash: "fc913807eb1069d611495fbd5d43ee3d" + } + Frame { + msec: 1760 + hash: "5d9ee853f083d514fbe51d6953d8e000" + } + Frame { + msec: 1776 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 1792 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 1808 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 1824 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 1840 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 1856 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 1872 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 1888 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 1904 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 1920 + image: "animated-smooth.1.png" + } + Frame { + msec: 1936 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 1952 + hash: "3991bc7760b7981d80665e3a7654c9f4" + } + Frame { + msec: 1968 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 1984 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 2000 + hash: "723f87da7e5b002a2e9b0bcbc81f9458" + } + Frame { + msec: 2016 + hash: "6b8ded0d9386a3fff0601a100c513080" + } + Frame { + msec: 2032 + hash: "f976cd5046ef5391536859e63db905bd" + } + Frame { + msec: 2048 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 2064 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 2080 + hash: "b980703c1d0018937e83a8ba8862469e" + } + Frame { + msec: 2096 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 2112 + hash: "3b7b83e97d17440b42e6ef4b962076d8" + } + Frame { + msec: 2128 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 2144 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 2160 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 2176 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 2192 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 2208 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 2224 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 2240 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 2256 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 2272 + hash: "5d9ee853f083d514fbe51d6953d8e000" + } + Frame { + msec: 2288 + hash: "fe899138116774df4c4441687e3019c5" + } + Frame { + msec: 2304 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 2320 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 2336 + hash: "64cd225202ed6c91b02c368a9160a656" + } + Frame { + msec: 2352 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 2368 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 2384 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 2400 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 2416 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 2432 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 2448 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 2464 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 2480 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 2496 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 2512 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 2528 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 2544 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 2560 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 2576 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 2592 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 2608 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 2624 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 2640 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 2656 + hash: "a676f45d946aeb9fa577c0e862735b01" + } + Frame { + msec: 2672 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 2688 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 2704 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 2720 + hash: "fce2648975106bc5c0ca9a4530f7f748" + } + Frame { + msec: 2736 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 2752 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 2768 + hash: "2084ccc60ddd493399c128717816d33b" + } + Frame { + msec: 2784 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 2800 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 2816 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 2832 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 2848 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 2864 + hash: "85ef33fcb3f91e4fc20391bf94455984" + } + Frame { + msec: 2880 + image: "animated-smooth.2.png" + } + Frame { + msec: 2896 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 2912 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 2928 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 2944 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 2960 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 2976 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 2992 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 3008 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 3024 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 3040 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 3056 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 3072 + hash: "d7e96278583f83ab636ed68fa130e4d2" + } + Frame { + msec: 3088 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Frame { + msec: 3104 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 3120 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 3136 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 3152 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 3168 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 3184 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 3200 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 3216 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 3232 + hash: "5d3e85acabe5e5ff802eb7731676274f" + } + Frame { + msec: 3248 + hash: "fd85d1dd931033973283a408b5e328a8" + } + Frame { + msec: 3264 + hash: "3a77785cfd7755f567619d8e04583f6a" + } + Frame { + msec: 3280 + hash: "efc119983701908a904deb24108c59cb" + } + Frame { + msec: 3296 + hash: "902683d72f789399e9d99d1cea1bf177" + } + Frame { + msec: 3312 + hash: "3e81338d38723d56f2d6c428271f81c1" + } + Frame { + msec: 3328 + hash: "41987e6b4248d7944c0dbc6eb3862023" + } + Frame { + msec: 3344 + hash: "3d518cd0348d6202243364af1dd6ce89" + } + Frame { + msec: 3360 + hash: "4310a4c3037d845f088f21ad608f366a" + } + Frame { + msec: 3376 + hash: "0e0c40f8e11a7bd499c80562ac6f8a82" + } + Frame { + msec: 3392 + hash: "f4d0d3bca25e67908b38910f47b4757e" + } + Frame { + msec: 3408 + hash: "f602e3eda1889d1a7e49560f0dfb5d4c" + } + Frame { + msec: 3424 + hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" + } + Frame { + msec: 3440 + hash: "c8312ede0998636a6bd6451d13636577" + } + Frame { + msec: 3456 + hash: "16c16c77c65b36d1e0954d5ead2642be" + } + Frame { + msec: 3472 + hash: "31d65134f340d82dd40f2401bda3fb7e" + } + Frame { + msec: 3488 + hash: "061406edcbd2d4930ab89c3fcab63c7f" + } + Frame { + msec: 3504 + hash: "0af81ee0d76ff8335a0e347dc086ca37" + } + Frame { + msec: 3520 + hash: "0f347763f25350ebb62dda1536372b45" + } + Frame { + msec: 3536 + hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" + } + Frame { + msec: 3552 + hash: "64ecb03aa538e74d0b99c6dec7751401" + } + Frame { + msec: 3568 + hash: "170a1d5fe3422cf5223a78015a6a45fd" + } + Frame { + msec: 3584 + hash: "10307beea6d99ab0ff5863f8e35555ed" + } + Frame { + msec: 3600 + hash: "456be9c208d690c479ba12bf6325dde0" + } + Frame { + msec: 3616 + hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" + } + Frame { + msec: 3632 + hash: "277ef98ea859fb7685fe6cd44a538a7d" + } + Frame { + msec: 3648 + hash: "74c837b29f7f05b615123f0e608b523f" + } + Frame { + msec: 3664 + hash: "d671a3b971468e1d8aa30ab655e020a9" + } + Frame { + msec: 3680 + hash: "df624d70cae1bcefda8d69c0ff055d83" + } + Frame { + msec: 3696 + hash: "3f9a09ae19be34348bb2552915360cf7" + } + Frame { + msec: 3712 + hash: "83c029e328e80af83158c37089cf0ece" + } + Frame { + msec: 3728 + hash: "323af110731b7af0c30f8862ff59b833" + } + Frame { + msec: 3744 + hash: "63d3c47f7dec1236440a05e0a8380900" + } + Frame { + msec: 3760 + hash: "48e62dd171f5da82b5aa26c765e4042c" + } + Frame { + msec: 3776 + hash: "5a8932d13d624932a65694fd19ec05cd" + } + Frame { + msec: 3792 + hash: "8419b295f67cae133760da79dfc26505" + } + Frame { + msec: 3808 + hash: "a716c8d2c94433dee719f92f0822c8ec" + } + Frame { + msec: 3824 + hash: "7b66e21652a7d0982226e281a48411a9" + } + Frame { + msec: 3840 + image: "animated-smooth.3.png" + } + Frame { + msec: 3856 + hash: "59470d71fa4426d0283e86371f2bfc2a" + } + Frame { + msec: 3872 + hash: "d56ba74d38c1889a278929d1c1b7f17a" + } + Frame { + msec: 3888 + hash: "de471829f8ad3b43bf1b4df9d1d65a4d" + } + Frame { + msec: 3904 + hash: "cd2180be80101c2aa4350b51b7a6f502" + } + Frame { + msec: 3920 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3936 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3952 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3968 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3984 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4000 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4016 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4032 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4048 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4064 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4080 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4096 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4128 + hash: "cd2180be80101c2aa4350b51b7a6f502" + } + Frame { + msec: 4144 + hash: "de471829f8ad3b43bf1b4df9d1d65a4d" + } + Frame { + msec: 4160 + hash: "ed9f2ca797894612600bc4b7fbaecb84" + } + Frame { + msec: 4176 + hash: "59470d71fa4426d0283e86371f2bfc2a" + } + Frame { + msec: 4192 + hash: "9a2f92efb51bcc6293d6a8e82d5314ea" + } + Frame { + msec: 4208 + hash: "7b66e21652a7d0982226e281a48411a9" + } + Frame { + msec: 4224 + hash: "a716c8d2c94433dee719f92f0822c8ec" + } + Frame { + msec: 4240 + hash: "f22a47b846cfee96ebdf39bbce2e6d51" + } + Frame { + msec: 4256 + hash: "5a8932d13d624932a65694fd19ec05cd" + } + Frame { + msec: 4272 + hash: "48e62dd171f5da82b5aa26c765e4042c" + } + Frame { + msec: 4288 + hash: "63d3c47f7dec1236440a05e0a8380900" + } + Frame { + msec: 4304 + hash: "323af110731b7af0c30f8862ff59b833" + } + Frame { + msec: 4320 + hash: "83c029e328e80af83158c37089cf0ece" + } + Frame { + msec: 4336 + hash: "3f9a09ae19be34348bb2552915360cf7" + } + Frame { + msec: 4352 + hash: "df624d70cae1bcefda8d69c0ff055d83" + } + Frame { + msec: 4368 + hash: "d671a3b971468e1d8aa30ab655e020a9" + } + Frame { + msec: 4384 + hash: "74c837b29f7f05b615123f0e608b523f" + } + Frame { + msec: 4400 + hash: "277ef98ea859fb7685fe6cd44a538a7d" + } + Frame { + msec: 4416 + hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" + } + Frame { + msec: 4432 + hash: "456be9c208d690c479ba12bf6325dde0" + } + Frame { + msec: 4448 + hash: "10307beea6d99ab0ff5863f8e35555ed" + } + Frame { + msec: 4464 + hash: "170a1d5fe3422cf5223a78015a6a45fd" + } + Frame { + msec: 4480 + hash: "64ecb03aa538e74d0b99c6dec7751401" + } + Frame { + msec: 4496 + hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" + } + Frame { + msec: 4512 + hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154" + } + Frame { + msec: 4528 + hash: "0af81ee0d76ff8335a0e347dc086ca37" + } + Frame { + msec: 4544 + hash: "061406edcbd2d4930ab89c3fcab63c7f" + } + Frame { + msec: 4560 + hash: "31d65134f340d82dd40f2401bda3fb7e" + } + Frame { + msec: 4576 + hash: "16c16c77c65b36d1e0954d5ead2642be" + } + Frame { + msec: 4592 + hash: "61c16009b65a55bffb63e27727e1615e" + } + Frame { + msec: 4608 + hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" + } + Frame { + msec: 4624 + hash: "89c159ef00d273ecfe61332e1bf7244d" + } + Frame { + msec: 4640 + hash: "f4d0d3bca25e67908b38910f47b4757e" + } + Frame { + msec: 4656 + hash: "0e0c40f8e11a7bd499c80562ac6f8a82" + } + Frame { + msec: 4672 + hash: "4310a4c3037d845f088f21ad608f366a" + } + Frame { + msec: 4688 + hash: "3d518cd0348d6202243364af1dd6ce89" + } + Frame { + msec: 4704 + hash: "41987e6b4248d7944c0dbc6eb3862023" + } + Frame { + msec: 4720 + hash: "3e81338d38723d56f2d6c428271f81c1" + } + Frame { + msec: 4736 + hash: "902683d72f789399e9d99d1cea1bf177" + } + Frame { + msec: 4752 + hash: "efc119983701908a904deb24108c59cb" + } + Frame { + msec: 4768 + hash: "3a77785cfd7755f567619d8e04583f6a" + } + Frame { + msec: 4784 + hash: "fd85d1dd931033973283a408b5e328a8" + } + Frame { + msec: 4800 + image: "animated-smooth.4.png" + } + Frame { + msec: 4816 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 4832 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 4848 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 4864 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 4880 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 4896 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 4912 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 4928 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 4944 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Frame { + msec: 4960 + hash: "d7e96278583f83ab636ed68fa130e4d2" + } + Frame { + msec: 4976 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 4992 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 5008 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 5024 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 5040 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 5056 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 5072 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 5088 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 5104 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 5120 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 5136 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 5152 + hash: "23291a0239c69ea07db959e709b1ff5f" + } + Frame { + msec: 5168 + hash: "2192094410e2d7c8d9d4aa5f8deacff5" + } + Frame { + msec: 5184 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 5200 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 5216 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 5232 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 5248 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 5264 + hash: "7f9999a9c87af43b9703323efab31770" + } + Frame { + msec: 5280 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 5296 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 5312 + hash: "fce2648975106bc5c0ca9a4530f7f748" + } + Frame { + msec: 5328 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 5344 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 5360 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 5376 + hash: "49a1df977b0494c7c72ca0b65c394e13" + } + Frame { + msec: 5392 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 5408 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 5424 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 5440 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 5456 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 5472 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 5488 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 5504 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 5520 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 5536 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 5552 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 5568 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 5584 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 5600 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 5616 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 5632 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 5648 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 5664 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 5680 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 5696 + hash: "d8e398a1ce9ca45c19951e93bd5c932a" + } + Frame { + msec: 5712 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 5728 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 5744 + hash: "fc913807eb1069d611495fbd5d43ee3d" + } + Frame { + msec: 5760 + image: "animated-smooth.5.png" + } + Frame { + msec: 5776 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 5792 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 5808 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 5824 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 5840 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 5856 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 5872 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 5888 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 5904 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 5920 + hash: "ec7e1190dd4fe122545e6ce6c8740500" + } + Frame { + msec: 5936 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 5952 + hash: "3991bc7760b7981d80665e3a7654c9f4" + } + Frame { + msec: 5968 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 5984 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 6000 + hash: "723f87da7e5b002a2e9b0bcbc81f9458" + } + Frame { + msec: 6016 + hash: "6b8ded0d9386a3fff0601a100c513080" + } + Frame { + msec: 6032 + hash: "f976cd5046ef5391536859e63db905bd" + } + Frame { + msec: 6048 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 6064 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 6080 + hash: "b980703c1d0018937e83a8ba8862469e" + } + Frame { + msec: 6096 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 6112 + hash: "3b7b83e97d17440b42e6ef4b962076d8" + } + Frame { + msec: 6128 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 6144 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 6160 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 6176 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 6192 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 6208 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 6224 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 6240 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 6256 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 6272 + hash: "5d9ee853f083d514fbe51d6953d8e000" + } + Frame { + msec: 6288 + hash: "fe899138116774df4c4441687e3019c5" + } + Frame { + msec: 6304 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 6320 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 6336 + hash: "64cd225202ed6c91b02c368a9160a656" + } + Frame { + msec: 6352 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 6368 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 6384 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 6400 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 6416 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 6432 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 6448 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 6464 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 6480 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 6496 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 6512 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 6528 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 6544 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 6560 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 6576 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 6592 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 6608 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 6624 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 6640 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 6656 + hash: "a676f45d946aeb9fa577c0e862735b01" + } + Frame { + msec: 6672 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 6688 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 6704 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 6720 + image: "animated-smooth.6.png" + } + Frame { + msec: 6736 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 6752 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 6768 + hash: "2084ccc60ddd493399c128717816d33b" + } + Frame { + msec: 6784 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 6800 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 6816 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 6832 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 6848 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 6864 + hash: "85ef33fcb3f91e4fc20391bf94455984" + } + Frame { + msec: 6880 + hash: "23291a0239c69ea07db959e709b1ff5f" + } + Frame { + msec: 6896 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 6912 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 6928 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 6944 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 6960 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 6976 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 6992 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 7008 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 7024 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 7040 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 7056 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 7072 + hash: "d7e96278583f83ab636ed68fa130e4d2" + } + Frame { + msec: 7088 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 7104 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 7120 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 7136 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 7152 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 7168 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 7184 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 7200 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 7216 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 7232 + hash: "5d3e85acabe5e5ff802eb7731676274f" + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.0.png Binary files differnew file mode 100644 index 0000000..99228f9 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.0.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.1.png Binary files differnew file mode 100644 index 0000000..a2dcd00 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.1.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.2.png Binary files differnew file mode 100644 index 0000000..8a80020 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.2.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.3.png Binary files differnew file mode 100644 index 0000000..02b57ef --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.3.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.4.png Binary files differnew file mode 100644 index 0000000..df0f6cc --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.4.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.5.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.5.png Binary files differnew file mode 100644 index 0000000..0add64d --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.5.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.6.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.6.png Binary files differnew file mode 100644 index 0000000..0886207 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.6.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.7.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.7.png Binary files differnew file mode 100644 index 0000000..bc1a7b0 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.7.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.qml new file mode 100644 index 0000000..29e591a --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/animated.qml @@ -0,0 +1,2091 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 32 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 48 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 64 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 80 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 96 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 128 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 144 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 160 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 176 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 192 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 208 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 224 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 240 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 256 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 272 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 288 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 304 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 320 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 336 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 352 + hash: "a85ee8be6a47bbd1b14137803ce606ec" + } + Frame { + msec: 368 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 384 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 400 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 416 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 432 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 448 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 464 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 480 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 496 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 512 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 528 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 544 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 560 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 576 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 592 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 608 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 624 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 640 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 656 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 672 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 688 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 704 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 720 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 736 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 752 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 768 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 784 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 800 + hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" + } + Frame { + msec: 816 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 832 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 848 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 864 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 880 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 896 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 912 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 928 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 944 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 960 + image: "animated.0.png" + } + Frame { + msec: 976 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 992 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 1008 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 1024 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 1040 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 1056 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 1072 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 1088 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 1104 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 1120 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 1136 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 1152 + hash: "c3a1f12febc979150028737722d6d045" + } + Frame { + msec: 1168 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 1184 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 1200 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 1216 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 1232 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 1248 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 1264 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 1280 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 1296 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 1312 + hash: "94084ca4998fcda408f6987f52c34185" + } + Frame { + msec: 1328 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 1344 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 1360 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 1376 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 1392 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 1408 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 1424 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 1440 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 1456 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 1472 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 1488 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 1504 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 1520 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 1536 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 1552 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 1568 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 1584 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 1600 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 1616 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 1632 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 1648 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 1664 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 1680 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 1696 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 1712 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 1728 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 1744 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 1760 + hash: "a88d6fc324ef48aa52c642a1662ec679" + } + Frame { + msec: 1776 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 1792 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 1808 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 1824 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 1840 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 1856 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 1872 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 1888 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 1904 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 1920 + image: "animated.1.png" + } + Frame { + msec: 1936 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 1952 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 1968 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 1984 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 2000 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 2016 + hash: "911591db1519ba264847f09868e38e0e" + } + Frame { + msec: 2032 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 2048 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 2064 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 2080 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 2096 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 2112 + hash: "63ebaa4869728f5e2891d068e4b0091c" + } + Frame { + msec: 2128 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 2144 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 2160 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 2176 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 2192 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 2208 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 2224 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 2240 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 2256 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 2272 + hash: "a88d6fc324ef48aa52c642a1662ec679" + } + Frame { + msec: 2288 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 2304 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 2320 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 2336 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 2352 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 2368 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 2384 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 2400 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 2416 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 2432 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 2448 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 2464 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 2480 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 2496 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 2512 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 2528 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 2544 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 2560 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 2576 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 2592 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 2608 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 2624 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 2640 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 2656 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 2672 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 2688 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 2704 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 2720 + hash: "94084ca4998fcda408f6987f52c34185" + } + Frame { + msec: 2736 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 2752 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 2768 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 2784 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 2800 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 2816 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 2832 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 2848 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 2864 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 2880 + image: "animated.2.png" + } + Frame { + msec: 2896 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 2912 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 2928 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 2944 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 2960 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 2976 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 2992 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 3008 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 3024 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 3040 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 3056 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 3072 + hash: "280288a7988736e30a2a3e4289ac3b0c" + } + Frame { + msec: 3088 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 3104 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 3120 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 3136 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 3152 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 3168 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 3184 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 3200 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 3216 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 3232 + hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" + } + Frame { + msec: 3248 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 3264 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 3280 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 3296 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 3312 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 3328 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 3344 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 3360 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 3376 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 3392 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 3408 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 3424 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 3440 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 3456 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 3472 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 3488 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 3504 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 3520 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 3536 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 3552 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 3568 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 3584 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 3600 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 3616 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 3632 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 3648 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 3664 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 3680 + hash: "a85ee8be6a47bbd1b14137803ce606ec" + } + Frame { + msec: 3696 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 3712 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 3728 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 3744 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 3760 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 3776 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 3792 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 3808 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 3824 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 3840 + image: "animated.3.png" + } + Frame { + msec: 3856 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 3872 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 3888 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 3904 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 3920 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3936 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3952 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3968 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3984 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4000 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4016 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4032 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4048 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4064 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4080 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4096 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4128 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 4144 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 4160 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 4176 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 4192 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 4208 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 4224 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 4240 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 4256 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 4272 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 4288 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 4304 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 4320 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 4336 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 4352 + hash: "a85ee8be6a47bbd1b14137803ce606ec" + } + Frame { + msec: 4368 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 4384 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 4400 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 4416 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 4432 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 4448 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 4464 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 4480 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 4496 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 4512 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 4528 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 4544 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 4560 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 4576 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 4592 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 4608 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 4624 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 4640 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 4656 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 4672 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 4688 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 4704 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 4720 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 4736 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 4752 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 4768 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 4784 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 4800 + image: "animated.4.png" + } + Frame { + msec: 4816 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 4832 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 4848 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 4864 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 4880 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 4896 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 4912 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 4928 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 4944 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 4960 + hash: "280288a7988736e30a2a3e4289ac3b0c" + } + Frame { + msec: 4976 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 4992 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 5008 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 5024 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 5040 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 5056 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 5072 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 5088 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 5104 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 5120 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 5136 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 5152 + hash: "c3a1f12febc979150028737722d6d045" + } + Frame { + msec: 5168 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 5184 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 5200 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 5216 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 5232 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 5248 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 5264 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 5280 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 5296 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 5312 + hash: "94084ca4998fcda408f6987f52c34185" + } + Frame { + msec: 5328 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 5344 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 5360 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 5376 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 5392 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 5408 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 5424 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 5440 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 5456 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 5472 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 5488 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 5504 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 5520 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 5536 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 5552 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 5568 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 5584 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 5600 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 5616 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 5632 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 5648 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 5664 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 5680 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 5696 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 5712 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 5728 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 5744 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 5760 + image: "animated.5.png" + } + Frame { + msec: 5776 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 5792 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 5808 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 5824 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 5840 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 5856 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 5872 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 5888 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 5904 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 5920 + hash: "63ebaa4869728f5e2891d068e4b0091c" + } + Frame { + msec: 5936 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 5952 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 5968 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 5984 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 6000 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 6016 + hash: "911591db1519ba264847f09868e38e0e" + } + Frame { + msec: 6032 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 6048 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 6064 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 6080 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 6096 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 6112 + hash: "63ebaa4869728f5e2891d068e4b0091c" + } + Frame { + msec: 6128 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 6144 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 6160 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 6176 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 6192 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 6208 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 6224 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 6240 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 6256 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 6272 + hash: "a88d6fc324ef48aa52c642a1662ec679" + } + Frame { + msec: 6288 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 6304 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 6320 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 6336 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 6352 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 6368 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 6384 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 6400 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 6416 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 6432 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 6448 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 6464 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 6480 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 6496 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 6512 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 6528 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 6544 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 6560 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 6576 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 6592 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 6608 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 6624 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 6640 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 6656 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 6672 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 6688 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 6704 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 6720 + image: "animated.6.png" + } + Frame { + msec: 6736 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 6752 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 6768 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 6784 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 6800 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 6816 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 6832 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 6848 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 6864 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 6880 + hash: "c3a1f12febc979150028737722d6d045" + } + Frame { + msec: 6896 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 6912 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 6928 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 6944 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 6960 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 6976 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 6992 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 7008 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 7024 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 7040 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 7056 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 7072 + hash: "280288a7988736e30a2a3e4289ac3b0c" + } + Frame { + msec: 7088 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 7104 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 7120 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 7136 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 7152 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 7168 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 7184 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 7200 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 7216 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 7232 + hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" + } + Frame { + msec: 7248 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 7264 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 7280 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 7296 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 7312 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 7328 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 7344 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 7360 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 7376 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 7392 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 7408 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 7424 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 7440 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 7456 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 7472 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 7488 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 7504 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 7520 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 7536 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 7552 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 7568 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 7584 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 7600 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 7616 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 7632 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 7648 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 7664 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 7680 + image: "animated.7.png" + } + Frame { + msec: 7696 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 7712 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 7728 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 7744 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 7760 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 7776 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 7792 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 7808 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 7824 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 7840 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 7856 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 7872 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 7888 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 7904 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 7920 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7936 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7952 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7968 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7984 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8000 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8016 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8032 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8048 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8064 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8080 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8096 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8128 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 8144 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 8160 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 8176 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 8192 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 8208 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 8224 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 8240 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 8256 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 8272 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 8288 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 8304 + hash: "406224b535b4425d2708df0083acdc8e" + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.0.png Binary files differnew file mode 100644 index 0000000..80cbd26 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.0.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.1.png Binary files differnew file mode 100644 index 0000000..80cbd26 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.1.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.2.png Binary files differnew file mode 100644 index 0000000..80cbd26 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.2.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.3.png Binary files differnew file mode 100644 index 0000000..80cbd26 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.3.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.4.png Binary files differnew file mode 100644 index 0000000..80cbd26 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.4.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.qml new file mode 100644 index 0000000..16cd5e9 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data-MAC/borders.qml @@ -0,0 +1,1359 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 32 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 48 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 64 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 80 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 96 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 112 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 128 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 144 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 160 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 176 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 192 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 208 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 224 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 240 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 256 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 272 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 288 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 304 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 320 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 336 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 352 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 368 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 384 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 400 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 416 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 432 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 448 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 464 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 480 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 496 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 512 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 528 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 544 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 560 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 576 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 592 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 608 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 624 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 640 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 656 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 672 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 688 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 704 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 720 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 736 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 752 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 768 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 784 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 800 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 816 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 832 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 848 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 864 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 880 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 896 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 912 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 928 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 944 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 960 + image: "borders.0.png" + } + Frame { + msec: 976 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 992 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1008 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1024 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1040 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1056 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1072 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1088 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1104 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1120 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1136 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1152 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1168 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1184 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1200 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1216 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1232 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1248 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1264 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1280 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1296 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1312 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1328 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1344 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1360 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1376 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1392 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1408 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1424 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1440 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1456 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1472 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1488 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1504 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1520 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1536 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1552 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1568 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1584 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1600 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1616 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1632 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1648 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1664 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1680 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1696 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1712 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1728 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1744 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1760 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1776 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1792 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1808 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1824 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1840 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1856 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1872 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1888 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1904 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1920 + image: "borders.1.png" + } + Frame { + msec: 1936 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1952 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1968 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1984 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2000 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2016 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2032 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2048 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2064 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2080 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2096 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2112 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2128 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2144 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2160 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2176 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2192 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2208 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2224 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2240 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2256 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2272 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2288 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2304 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2320 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2336 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2352 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2368 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2384 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2400 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2416 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2432 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2448 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2464 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2480 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2496 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2512 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2528 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2544 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2560 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2576 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2592 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2608 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2624 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2640 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2656 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2672 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2688 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2704 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2720 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2736 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2752 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2768 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2784 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2800 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2816 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2832 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2848 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2864 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2880 + image: "borders.2.png" + } + Frame { + msec: 2896 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2912 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2928 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2944 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2960 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2976 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2992 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3008 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3024 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3040 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3056 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3072 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3088 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3104 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3120 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3136 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3152 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3168 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3184 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3200 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3216 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3232 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3248 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3264 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3280 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3296 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3312 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3328 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3344 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3360 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3376 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3392 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3408 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3424 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3440 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3456 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3472 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3488 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3504 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3520 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3536 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3552 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3568 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3584 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3600 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3616 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3632 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3648 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3664 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3680 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3696 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3712 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3728 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3744 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3760 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3776 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3792 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3808 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3824 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3840 + image: "borders.3.png" + } + Frame { + msec: 3856 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3872 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3888 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3904 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3920 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3936 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3952 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3968 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3984 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4000 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4016 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4032 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4048 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4064 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4080 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4096 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4112 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4128 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4144 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4160 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4176 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4192 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4208 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4224 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4240 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4256 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4272 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4288 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4304 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4320 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4336 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4352 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4368 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4384 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4400 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4416 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4432 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4448 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4464 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4480 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4496 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4512 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4528 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4544 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4560 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4576 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4592 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4608 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4624 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4640 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4656 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4672 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4688 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4704 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4720 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4736 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4752 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4768 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4784 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4800 + image: "borders.4.png" + } + Frame { + msec: 4816 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4832 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4848 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4864 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4880 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4896 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4912 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4928 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4944 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4960 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4976 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4992 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5008 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5024 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5040 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5056 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5072 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5088 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5104 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5120 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5136 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5152 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5168 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5184 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5200 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5216 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5232 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5248 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5264 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5280 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5296 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5312 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5328 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5344 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5360 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5376 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5392 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5408 + hash: "ab9753116e289c932064144bb0845857" + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.0.png Binary files differnew file mode 100644 index 0000000..9a6b079 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.0.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.1.png Binary files differnew file mode 100644 index 0000000..1f960e5 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.1.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.2.png Binary files differnew file mode 100644 index 0000000..85a2729 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.2.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.3.png Binary files differnew file mode 100644 index 0000000..de6ff7c --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.3.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.4.png Binary files differnew file mode 100644 index 0000000..fe7d3dd --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.4.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.5.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.5.png Binary files differnew file mode 100644 index 0000000..e73bef5 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.5.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.6.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.6.png Binary files differnew file mode 100644 index 0000000..0c75422 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.6.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.qml new file mode 100644 index 0000000..043f5e2 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated-smooth.qml @@ -0,0 +1,1823 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 32 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 48 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 64 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 80 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 96 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 128 + hash: "cd2180be80101c2aa4350b51b7a6f502" + } + Frame { + msec: 144 + hash: "de471829f8ad3b43bf1b4df9d1d65a4d" + } + Frame { + msec: 160 + hash: "ed9f2ca797894612600bc4b7fbaecb84" + } + Frame { + msec: 176 + hash: "59470d71fa4426d0283e86371f2bfc2a" + } + Frame { + msec: 192 + hash: "9a2f92efb51bcc6293d6a8e82d5314ea" + } + Frame { + msec: 208 + hash: "7b66e21652a7d0982226e281a48411a9" + } + Frame { + msec: 224 + hash: "a716c8d2c94433dee719f92f0822c8ec" + } + Frame { + msec: 240 + hash: "f22a47b846cfee96ebdf39bbce2e6d51" + } + Frame { + msec: 256 + hash: "5a8932d13d624932a65694fd19ec05cd" + } + Frame { + msec: 272 + hash: "48e62dd171f5da82b5aa26c765e4042c" + } + Frame { + msec: 288 + hash: "63d3c47f7dec1236440a05e0a8380900" + } + Frame { + msec: 304 + hash: "323af110731b7af0c30f8862ff59b833" + } + Frame { + msec: 320 + hash: "83c029e328e80af83158c37089cf0ece" + } + Frame { + msec: 336 + hash: "3f9a09ae19be34348bb2552915360cf7" + } + Frame { + msec: 352 + hash: "df624d70cae1bcefda8d69c0ff055d83" + } + Frame { + msec: 368 + hash: "d671a3b971468e1d8aa30ab655e020a9" + } + Frame { + msec: 384 + hash: "74c837b29f7f05b615123f0e608b523f" + } + Frame { + msec: 400 + hash: "277ef98ea859fb7685fe6cd44a538a7d" + } + Frame { + msec: 416 + hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" + } + Frame { + msec: 432 + hash: "456be9c208d690c479ba12bf6325dde0" + } + Frame { + msec: 448 + hash: "10307beea6d99ab0ff5863f8e35555ed" + } + Frame { + msec: 464 + hash: "170a1d5fe3422cf5223a78015a6a45fd" + } + Frame { + msec: 480 + hash: "64ecb03aa538e74d0b99c6dec7751401" + } + Frame { + msec: 496 + hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" + } + Frame { + msec: 512 + hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154" + } + Frame { + msec: 528 + hash: "0af81ee0d76ff8335a0e347dc086ca37" + } + Frame { + msec: 544 + hash: "061406edcbd2d4930ab89c3fcab63c7f" + } + Frame { + msec: 560 + hash: "31d65134f340d82dd40f2401bda3fb7e" + } + Frame { + msec: 576 + hash: "16c16c77c65b36d1e0954d5ead2642be" + } + Frame { + msec: 592 + hash: "61c16009b65a55bffb63e27727e1615e" + } + Frame { + msec: 608 + hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" + } + Frame { + msec: 624 + hash: "89c159ef00d273ecfe61332e1bf7244d" + } + Frame { + msec: 640 + hash: "f4d0d3bca25e67908b38910f47b4757e" + } + Frame { + msec: 656 + hash: "0e0c40f8e11a7bd499c80562ac6f8a82" + } + Frame { + msec: 672 + hash: "4310a4c3037d845f088f21ad608f366a" + } + Frame { + msec: 688 + hash: "3d518cd0348d6202243364af1dd6ce89" + } + Frame { + msec: 704 + hash: "41987e6b4248d7944c0dbc6eb3862023" + } + Frame { + msec: 720 + hash: "3e81338d38723d56f2d6c428271f81c1" + } + Frame { + msec: 736 + hash: "902683d72f789399e9d99d1cea1bf177" + } + Frame { + msec: 752 + hash: "efc119983701908a904deb24108c59cb" + } + Frame { + msec: 768 + hash: "3a77785cfd7755f567619d8e04583f6a" + } + Frame { + msec: 784 + hash: "fd85d1dd931033973283a408b5e328a8" + } + Frame { + msec: 800 + hash: "5d3e85acabe5e5ff802eb7731676274f" + } + Frame { + msec: 816 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 832 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 848 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 864 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 880 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 896 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 912 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 928 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 944 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Frame { + msec: 960 + image: "animated-smooth.0.png" + } + Frame { + msec: 976 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 992 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 1008 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 1024 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 1040 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 1056 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 1072 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 1088 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 1104 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 1120 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 1136 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 1152 + hash: "23291a0239c69ea07db959e709b1ff5f" + } + Frame { + msec: 1168 + hash: "2192094410e2d7c8d9d4aa5f8deacff5" + } + Frame { + msec: 1184 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 1200 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 1216 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 1232 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 1248 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 1264 + hash: "7f9999a9c87af43b9703323efab31770" + } + Frame { + msec: 1280 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 1296 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 1312 + hash: "fce2648975106bc5c0ca9a4530f7f748" + } + Frame { + msec: 1328 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 1344 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 1360 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 1376 + hash: "49a1df977b0494c7c72ca0b65c394e13" + } + Frame { + msec: 1392 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 1408 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 1424 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 1440 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 1456 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 1472 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 1488 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 1504 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 1520 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 1536 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 1552 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 1568 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 1584 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 1600 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 1616 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 1632 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 1648 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 1664 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 1680 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 1696 + hash: "d8e398a1ce9ca45c19951e93bd5c932a" + } + Frame { + msec: 1712 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 1728 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 1744 + hash: "fc913807eb1069d611495fbd5d43ee3d" + } + Frame { + msec: 1760 + hash: "5d9ee853f083d514fbe51d6953d8e000" + } + Frame { + msec: 1776 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 1792 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 1808 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 1824 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 1840 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 1856 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 1872 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 1888 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 1904 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 1920 + image: "animated-smooth.1.png" + } + Frame { + msec: 1936 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 1952 + hash: "3991bc7760b7981d80665e3a7654c9f4" + } + Frame { + msec: 1968 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 1984 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 2000 + hash: "723f87da7e5b002a2e9b0bcbc81f9458" + } + Frame { + msec: 2016 + hash: "6b8ded0d9386a3fff0601a100c513080" + } + Frame { + msec: 2032 + hash: "f976cd5046ef5391536859e63db905bd" + } + Frame { + msec: 2048 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 2064 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 2080 + hash: "b980703c1d0018937e83a8ba8862469e" + } + Frame { + msec: 2096 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 2112 + hash: "3b7b83e97d17440b42e6ef4b962076d8" + } + Frame { + msec: 2128 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 2144 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 2160 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 2176 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 2192 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 2208 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 2224 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 2240 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 2256 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 2272 + hash: "5d9ee853f083d514fbe51d6953d8e000" + } + Frame { + msec: 2288 + hash: "fe899138116774df4c4441687e3019c5" + } + Frame { + msec: 2304 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 2320 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 2336 + hash: "64cd225202ed6c91b02c368a9160a656" + } + Frame { + msec: 2352 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 2368 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 2384 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 2400 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 2416 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 2432 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 2448 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 2464 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 2480 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 2496 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 2512 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 2528 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 2544 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 2560 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 2576 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 2592 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 2608 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 2624 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 2640 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 2656 + hash: "a676f45d946aeb9fa577c0e862735b01" + } + Frame { + msec: 2672 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 2688 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 2704 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 2720 + hash: "fce2648975106bc5c0ca9a4530f7f748" + } + Frame { + msec: 2736 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 2752 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 2768 + hash: "2084ccc60ddd493399c128717816d33b" + } + Frame { + msec: 2784 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 2800 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 2816 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 2832 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 2848 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 2864 + hash: "85ef33fcb3f91e4fc20391bf94455984" + } + Frame { + msec: 2880 + image: "animated-smooth.2.png" + } + Frame { + msec: 2896 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 2912 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 2928 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 2944 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 2960 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 2976 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 2992 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 3008 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 3024 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 3040 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 3056 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 3072 + hash: "d7e96278583f83ab636ed68fa130e4d2" + } + Frame { + msec: 3088 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Frame { + msec: 3104 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 3120 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 3136 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 3152 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 3168 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 3184 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 3200 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 3216 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 3232 + hash: "5d3e85acabe5e5ff802eb7731676274f" + } + Frame { + msec: 3248 + hash: "fd85d1dd931033973283a408b5e328a8" + } + Frame { + msec: 3264 + hash: "3a77785cfd7755f567619d8e04583f6a" + } + Frame { + msec: 3280 + hash: "efc119983701908a904deb24108c59cb" + } + Frame { + msec: 3296 + hash: "902683d72f789399e9d99d1cea1bf177" + } + Frame { + msec: 3312 + hash: "3e81338d38723d56f2d6c428271f81c1" + } + Frame { + msec: 3328 + hash: "41987e6b4248d7944c0dbc6eb3862023" + } + Frame { + msec: 3344 + hash: "3d518cd0348d6202243364af1dd6ce89" + } + Frame { + msec: 3360 + hash: "4310a4c3037d845f088f21ad608f366a" + } + Frame { + msec: 3376 + hash: "0e0c40f8e11a7bd499c80562ac6f8a82" + } + Frame { + msec: 3392 + hash: "f4d0d3bca25e67908b38910f47b4757e" + } + Frame { + msec: 3408 + hash: "f602e3eda1889d1a7e49560f0dfb5d4c" + } + Frame { + msec: 3424 + hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" + } + Frame { + msec: 3440 + hash: "c8312ede0998636a6bd6451d13636577" + } + Frame { + msec: 3456 + hash: "16c16c77c65b36d1e0954d5ead2642be" + } + Frame { + msec: 3472 + hash: "31d65134f340d82dd40f2401bda3fb7e" + } + Frame { + msec: 3488 + hash: "061406edcbd2d4930ab89c3fcab63c7f" + } + Frame { + msec: 3504 + hash: "0af81ee0d76ff8335a0e347dc086ca37" + } + Frame { + msec: 3520 + hash: "0f347763f25350ebb62dda1536372b45" + } + Frame { + msec: 3536 + hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" + } + Frame { + msec: 3552 + hash: "64ecb03aa538e74d0b99c6dec7751401" + } + Frame { + msec: 3568 + hash: "170a1d5fe3422cf5223a78015a6a45fd" + } + Frame { + msec: 3584 + hash: "10307beea6d99ab0ff5863f8e35555ed" + } + Frame { + msec: 3600 + hash: "456be9c208d690c479ba12bf6325dde0" + } + Frame { + msec: 3616 + hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" + } + Frame { + msec: 3632 + hash: "277ef98ea859fb7685fe6cd44a538a7d" + } + Frame { + msec: 3648 + hash: "74c837b29f7f05b615123f0e608b523f" + } + Frame { + msec: 3664 + hash: "d671a3b971468e1d8aa30ab655e020a9" + } + Frame { + msec: 3680 + hash: "df624d70cae1bcefda8d69c0ff055d83" + } + Frame { + msec: 3696 + hash: "3f9a09ae19be34348bb2552915360cf7" + } + Frame { + msec: 3712 + hash: "83c029e328e80af83158c37089cf0ece" + } + Frame { + msec: 3728 + hash: "323af110731b7af0c30f8862ff59b833" + } + Frame { + msec: 3744 + hash: "63d3c47f7dec1236440a05e0a8380900" + } + Frame { + msec: 3760 + hash: "48e62dd171f5da82b5aa26c765e4042c" + } + Frame { + msec: 3776 + hash: "5a8932d13d624932a65694fd19ec05cd" + } + Frame { + msec: 3792 + hash: "8419b295f67cae133760da79dfc26505" + } + Frame { + msec: 3808 + hash: "a716c8d2c94433dee719f92f0822c8ec" + } + Frame { + msec: 3824 + hash: "7b66e21652a7d0982226e281a48411a9" + } + Frame { + msec: 3840 + image: "animated-smooth.3.png" + } + Frame { + msec: 3856 + hash: "59470d71fa4426d0283e86371f2bfc2a" + } + Frame { + msec: 3872 + hash: "d56ba74d38c1889a278929d1c1b7f17a" + } + Frame { + msec: 3888 + hash: "de471829f8ad3b43bf1b4df9d1d65a4d" + } + Frame { + msec: 3904 + hash: "cd2180be80101c2aa4350b51b7a6f502" + } + Frame { + msec: 3920 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3936 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3952 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3968 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3984 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4000 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4016 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4032 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4048 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4064 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4080 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4096 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4128 + hash: "cd2180be80101c2aa4350b51b7a6f502" + } + Frame { + msec: 4144 + hash: "de471829f8ad3b43bf1b4df9d1d65a4d" + } + Frame { + msec: 4160 + hash: "ed9f2ca797894612600bc4b7fbaecb84" + } + Frame { + msec: 4176 + hash: "59470d71fa4426d0283e86371f2bfc2a" + } + Frame { + msec: 4192 + hash: "9a2f92efb51bcc6293d6a8e82d5314ea" + } + Frame { + msec: 4208 + hash: "7b66e21652a7d0982226e281a48411a9" + } + Frame { + msec: 4224 + hash: "a716c8d2c94433dee719f92f0822c8ec" + } + Frame { + msec: 4240 + hash: "f22a47b846cfee96ebdf39bbce2e6d51" + } + Frame { + msec: 4256 + hash: "5a8932d13d624932a65694fd19ec05cd" + } + Frame { + msec: 4272 + hash: "48e62dd171f5da82b5aa26c765e4042c" + } + Frame { + msec: 4288 + hash: "63d3c47f7dec1236440a05e0a8380900" + } + Frame { + msec: 4304 + hash: "323af110731b7af0c30f8862ff59b833" + } + Frame { + msec: 4320 + hash: "83c029e328e80af83158c37089cf0ece" + } + Frame { + msec: 4336 + hash: "3f9a09ae19be34348bb2552915360cf7" + } + Frame { + msec: 4352 + hash: "df624d70cae1bcefda8d69c0ff055d83" + } + Frame { + msec: 4368 + hash: "d671a3b971468e1d8aa30ab655e020a9" + } + Frame { + msec: 4384 + hash: "74c837b29f7f05b615123f0e608b523f" + } + Frame { + msec: 4400 + hash: "277ef98ea859fb7685fe6cd44a538a7d" + } + Frame { + msec: 4416 + hash: "0a8da7a3f57c3e06e4be5ea1d8a83ae9" + } + Frame { + msec: 4432 + hash: "456be9c208d690c479ba12bf6325dde0" + } + Frame { + msec: 4448 + hash: "10307beea6d99ab0ff5863f8e35555ed" + } + Frame { + msec: 4464 + hash: "170a1d5fe3422cf5223a78015a6a45fd" + } + Frame { + msec: 4480 + hash: "64ecb03aa538e74d0b99c6dec7751401" + } + Frame { + msec: 4496 + hash: "f3a7e74a1839f9366f9eeec4d2b80d1e" + } + Frame { + msec: 4512 + hash: "37c3f25e5cfdb48d7e3ab0cf8ffb9154" + } + Frame { + msec: 4528 + hash: "0af81ee0d76ff8335a0e347dc086ca37" + } + Frame { + msec: 4544 + hash: "061406edcbd2d4930ab89c3fcab63c7f" + } + Frame { + msec: 4560 + hash: "31d65134f340d82dd40f2401bda3fb7e" + } + Frame { + msec: 4576 + hash: "16c16c77c65b36d1e0954d5ead2642be" + } + Frame { + msec: 4592 + hash: "61c16009b65a55bffb63e27727e1615e" + } + Frame { + msec: 4608 + hash: "e1474c2cdd8768ca1ef45bf3bc5234ca" + } + Frame { + msec: 4624 + hash: "89c159ef00d273ecfe61332e1bf7244d" + } + Frame { + msec: 4640 + hash: "f4d0d3bca25e67908b38910f47b4757e" + } + Frame { + msec: 4656 + hash: "0e0c40f8e11a7bd499c80562ac6f8a82" + } + Frame { + msec: 4672 + hash: "4310a4c3037d845f088f21ad608f366a" + } + Frame { + msec: 4688 + hash: "3d518cd0348d6202243364af1dd6ce89" + } + Frame { + msec: 4704 + hash: "41987e6b4248d7944c0dbc6eb3862023" + } + Frame { + msec: 4720 + hash: "3e81338d38723d56f2d6c428271f81c1" + } + Frame { + msec: 4736 + hash: "902683d72f789399e9d99d1cea1bf177" + } + Frame { + msec: 4752 + hash: "efc119983701908a904deb24108c59cb" + } + Frame { + msec: 4768 + hash: "3a77785cfd7755f567619d8e04583f6a" + } + Frame { + msec: 4784 + hash: "fd85d1dd931033973283a408b5e328a8" + } + Frame { + msec: 4800 + image: "animated-smooth.4.png" + } + Frame { + msec: 4816 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 4832 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 4848 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 4864 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 4880 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 4896 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 4912 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 4928 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 4944 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Frame { + msec: 4960 + hash: "d7e96278583f83ab636ed68fa130e4d2" + } + Frame { + msec: 4976 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 4992 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 5008 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 5024 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 5040 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 5056 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 5072 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 5088 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 5104 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 5120 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 5136 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 5152 + hash: "23291a0239c69ea07db959e709b1ff5f" + } + Frame { + msec: 5168 + hash: "2192094410e2d7c8d9d4aa5f8deacff5" + } + Frame { + msec: 5184 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 5200 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 5216 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 5232 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 5248 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 5264 + hash: "7f9999a9c87af43b9703323efab31770" + } + Frame { + msec: 5280 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 5296 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 5312 + hash: "fce2648975106bc5c0ca9a4530f7f748" + } + Frame { + msec: 5328 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 5344 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 5360 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 5376 + hash: "49a1df977b0494c7c72ca0b65c394e13" + } + Frame { + msec: 5392 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 5408 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 5424 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 5440 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 5456 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 5472 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 5488 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 5504 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 5520 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 5536 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 5552 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 5568 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 5584 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 5600 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 5616 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 5632 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 5648 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 5664 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 5680 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 5696 + hash: "d8e398a1ce9ca45c19951e93bd5c932a" + } + Frame { + msec: 5712 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 5728 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 5744 + hash: "fc913807eb1069d611495fbd5d43ee3d" + } + Frame { + msec: 5760 + image: "animated-smooth.5.png" + } + Frame { + msec: 5776 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 5792 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 5808 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 5824 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 5840 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 5856 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 5872 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 5888 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 5904 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 5920 + hash: "ec7e1190dd4fe122545e6ce6c8740500" + } + Frame { + msec: 5936 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 5952 + hash: "3991bc7760b7981d80665e3a7654c9f4" + } + Frame { + msec: 5968 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 5984 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 6000 + hash: "723f87da7e5b002a2e9b0bcbc81f9458" + } + Frame { + msec: 6016 + hash: "6b8ded0d9386a3fff0601a100c513080" + } + Frame { + msec: 6032 + hash: "f976cd5046ef5391536859e63db905bd" + } + Frame { + msec: 6048 + hash: "a94de4e90a8f8eb4ec33fe902afd226c" + } + Frame { + msec: 6064 + hash: "05312f9529c94d3331ace7d73c544284" + } + Frame { + msec: 6080 + hash: "b980703c1d0018937e83a8ba8862469e" + } + Frame { + msec: 6096 + hash: "c5e399e29b988148913e62ee208b3326" + } + Frame { + msec: 6112 + hash: "3b7b83e97d17440b42e6ef4b962076d8" + } + Frame { + msec: 6128 + hash: "3cbfded47413172ada64095e65c55e8a" + } + Frame { + msec: 6144 + hash: "9a64706c52c9e962816953e32950b8ba" + } + Frame { + msec: 6160 + hash: "25506557c853a0020e98cf3992956989" + } + Frame { + msec: 6176 + hash: "89022a8e2feb3dcb845de69aafc333ad" + } + Frame { + msec: 6192 + hash: "382d454f2366c1fb4ca472faa3bfa5e9" + } + Frame { + msec: 6208 + hash: "fe04cae65aeec18697eca4f3f83a40e9" + } + Frame { + msec: 6224 + hash: "48952ffa5e300778eafa768b9fe7df0c" + } + Frame { + msec: 6240 + hash: "e3a2b5c7247acfc1b30825233fbfd56b" + } + Frame { + msec: 6256 + hash: "5736362b42bc2d801e02edabb983663a" + } + Frame { + msec: 6272 + hash: "5d9ee853f083d514fbe51d6953d8e000" + } + Frame { + msec: 6288 + hash: "fe899138116774df4c4441687e3019c5" + } + Frame { + msec: 6304 + hash: "47e920e3884ccf2f0f49e78070af6929" + } + Frame { + msec: 6320 + hash: "2b7eb8a9fe26b032be8b4b9c00995912" + } + Frame { + msec: 6336 + hash: "64cd225202ed6c91b02c368a9160a656" + } + Frame { + msec: 6352 + hash: "774740a393f3e9b8f12b81cce8da8280" + } + Frame { + msec: 6368 + hash: "3bae40654ec551d69e7c8c72f631c7a5" + } + Frame { + msec: 6384 + hash: "83d49474db15d5779923972ff5f55917" + } + Frame { + msec: 6400 + hash: "d1110817827c318ceb0c112e8c2bfc1d" + } + Frame { + msec: 6416 + hash: "4520003d4b221a3de6834b2729b3026d" + } + Frame { + msec: 6432 + hash: "64df51b4c1bf744b2aae1c6d908c2cc3" + } + Frame { + msec: 6448 + hash: "a087b532ecb2f28e4ee60819228c2522" + } + Frame { + msec: 6464 + hash: "e860e97ebd73b7d1d5d5d90458b34bfe" + } + Frame { + msec: 6480 + hash: "a261be47ae89e6b53e6bc1c1197154ae" + } + Frame { + msec: 6496 + hash: "c2edb016cfdd47c192d1c48281ee76ed" + } + Frame { + msec: 6512 + hash: "deed4c06c9b713834490832b88e7acaf" + } + Frame { + msec: 6528 + hash: "2fede2f5d871654f3f8a6e9d890adeac" + } + Frame { + msec: 6544 + hash: "29ddde3300d0520a4c01b5536d8b9e7a" + } + Frame { + msec: 6560 + hash: "c61d2aa7f934fb5a9f9f7883e063b51c" + } + Frame { + msec: 6576 + hash: "ddf1f5c0b97fe4821719ec5bf4bd091b" + } + Frame { + msec: 6592 + hash: "e5df07ea21e8e415c3ec82560f2d0f34" + } + Frame { + msec: 6608 + hash: "5cc90d798786c270ddd2616512f4459f" + } + Frame { + msec: 6624 + hash: "00ab7798bcd77a99886dff0414f35382" + } + Frame { + msec: 6640 + hash: "05cbce0eaa80b4610a9067af8c40f819" + } + Frame { + msec: 6656 + hash: "a676f45d946aeb9fa577c0e862735b01" + } + Frame { + msec: 6672 + hash: "d65d50fbb920e683b041a1c72238225b" + } + Frame { + msec: 6688 + hash: "39c46d85d20f7ef3eca1d09c7eb6a068" + } + Frame { + msec: 6704 + hash: "39cc17ee2e889f17dd07179fda99e431" + } + Frame { + msec: 6720 + image: "animated-smooth.6.png" + } + Frame { + msec: 6736 + hash: "7c9a98e2101c33e17c1bd7e6c2d921ff" + } + Frame { + msec: 6752 + hash: "0640fcb0b24d3ba4ab8695f78271a438" + } + Frame { + msec: 6768 + hash: "2084ccc60ddd493399c128717816d33b" + } + Frame { + msec: 6784 + hash: "bd045f4532d78bba0ef1b64118fd9f24" + } + Frame { + msec: 6800 + hash: "42be5d26afb9f066dd27cc9fbaf6ce20" + } + Frame { + msec: 6816 + hash: "2a1fcfb753ca237b518da26e67c928e5" + } + Frame { + msec: 6832 + hash: "92176cce4836dcae4dfca94e49b041a8" + } + Frame { + msec: 6848 + hash: "d6615fc345831a3cc5b9a7196284b632" + } + Frame { + msec: 6864 + hash: "85ef33fcb3f91e4fc20391bf94455984" + } + Frame { + msec: 6880 + hash: "23291a0239c69ea07db959e709b1ff5f" + } + Frame { + msec: 6896 + hash: "53f05993ba3b426949badd2e4cd66d84" + } + Frame { + msec: 6912 + hash: "b375e723b2396b13b8f55cfc0c81c3c3" + } + Frame { + msec: 6928 + hash: "bd70500fbdfe5aa2fe4362a97a1dee2d" + } + Frame { + msec: 6944 + hash: "853429387cc639496c7338244de7e1b7" + } + Frame { + msec: 6960 + hash: "3df54504f8891306fa8f1e9e2075a5e2" + } + Frame { + msec: 6976 + hash: "0239d697642ca1d1b1d1daa3ea048e1e" + } + Frame { + msec: 6992 + hash: "b0070117f1c24a4da87434725d4bb989" + } + Frame { + msec: 7008 + hash: "8b8120cfc14de03e048632fdea61be21" + } + Frame { + msec: 7024 + hash: "845170815a87565dc4229792032b3357" + } + Frame { + msec: 7040 + hash: "0d407ee07692d0e5a480a60952807b3c" + } + Frame { + msec: 7056 + hash: "64b21b89576fdd0083f60a26f57b9c11" + } + Frame { + msec: 7072 + hash: "d7e96278583f83ab636ed68fa130e4d2" + } + Frame { + msec: 7088 + hash: "48db9a5e6aad9a9563a3cd35fb7fa9b6" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 7104 + hash: "adc670a9aa0326744cb23e4f5912e6c7" + } + Frame { + msec: 7120 + hash: "9cd29b4b023a8b92573575fb3c3dda83" + } + Frame { + msec: 7136 + hash: "177666cb3bb784c83196886b2c6cf6b6" + } + Frame { + msec: 7152 + hash: "ddd8a006ef048c8d929144aa9fcd7c5a" + } + Frame { + msec: 7168 + hash: "b699285764f5e8866a9996f4a0dccc69" + } + Frame { + msec: 7184 + hash: "84ef6dda8318b623832f58c46d762e89" + } + Frame { + msec: 7200 + hash: "a15f19f374bbfb6a922b69d080a91eaa" + } + Frame { + msec: 7216 + hash: "ae12f1f37a746e16b06e6b869c89fac1" + } + Frame { + msec: 7232 + hash: "5d3e85acabe5e5ff802eb7731676274f" + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.0.png Binary files differnew file mode 100644 index 0000000..99228f9 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.0.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.1.png Binary files differnew file mode 100644 index 0000000..a2dcd00 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.1.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.2.png Binary files differnew file mode 100644 index 0000000..8a80020 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.2.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.3.png Binary files differnew file mode 100644 index 0000000..02b57ef --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.3.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.4.png Binary files differnew file mode 100644 index 0000000..df0f6cc --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.4.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.5.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.5.png Binary files differnew file mode 100644 index 0000000..0add64d --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.5.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.6.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.6.png Binary files differnew file mode 100644 index 0000000..0886207 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.6.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.7.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.7.png Binary files differnew file mode 100644 index 0000000..bc1a7b0 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.7.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.qml new file mode 100644 index 0000000..e25728c --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/animated.qml @@ -0,0 +1,2091 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 32 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 48 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 64 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 80 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 96 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 128 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 144 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 160 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 176 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 192 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 208 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 224 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 240 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 256 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 272 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 288 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 304 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 320 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 336 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 352 + hash: "a85ee8be6a47bbd1b14137803ce606ec" + } + Frame { + msec: 368 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 384 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 400 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 416 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 432 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 448 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 464 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 480 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 496 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 512 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 528 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 544 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 560 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 576 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 592 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 608 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 624 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 640 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 656 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 672 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 688 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 704 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 720 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 736 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 752 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 768 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 784 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 800 + hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" + } + Frame { + msec: 816 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 832 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 848 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 864 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 880 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 896 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 912 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 928 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 944 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 960 + image: "animated.0.png" + } + Frame { + msec: 976 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 992 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 1008 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 1024 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 1040 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 1056 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 1072 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 1088 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 1104 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 1120 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 1136 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 1152 + hash: "c3a1f12febc979150028737722d6d045" + } + Frame { + msec: 1168 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 1184 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 1200 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 1216 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 1232 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 1248 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 1264 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 1280 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 1296 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 1312 + hash: "94084ca4998fcda408f6987f52c34185" + } + Frame { + msec: 1328 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 1344 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 1360 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 1376 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 1392 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 1408 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 1424 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 1440 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 1456 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 1472 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 1488 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 1504 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 1520 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 1536 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 1552 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 1568 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 1584 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 1600 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 1616 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 1632 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 1648 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 1664 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 1680 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 1696 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 1712 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 1728 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 1744 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 1760 + hash: "a88d6fc324ef48aa52c642a1662ec679" + } + Frame { + msec: 1776 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 1792 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 1808 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 1824 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 1840 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 1856 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 1872 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 1888 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 1904 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 1920 + image: "animated.1.png" + } + Frame { + msec: 1936 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 1952 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 1968 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 1984 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 2000 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 2016 + hash: "911591db1519ba264847f09868e38e0e" + } + Frame { + msec: 2032 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 2048 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 2064 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 2080 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 2096 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 2112 + hash: "63ebaa4869728f5e2891d068e4b0091c" + } + Frame { + msec: 2128 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 2144 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 2160 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 2176 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 2192 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 2208 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 2224 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 2240 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 2256 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 2272 + hash: "a88d6fc324ef48aa52c642a1662ec679" + } + Frame { + msec: 2288 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 2304 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 2320 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 2336 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 2352 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 2368 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 2384 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 2400 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 2416 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 2432 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 2448 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 2464 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 2480 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 2496 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 2512 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 2528 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 2544 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 2560 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 2576 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 2592 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 2608 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 2624 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 2640 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 2656 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 2672 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 2688 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 2704 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 2720 + hash: "94084ca4998fcda408f6987f52c34185" + } + Frame { + msec: 2736 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 2752 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 2768 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 2784 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 2800 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 2816 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 2832 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 2848 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 2864 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 2880 + image: "animated.2.png" + } + Frame { + msec: 2896 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 2912 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 2928 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 2944 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 2960 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 2976 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 2992 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 3008 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 3024 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 3040 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 3056 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 3072 + hash: "280288a7988736e30a2a3e4289ac3b0c" + } + Frame { + msec: 3088 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 3104 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 3120 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 3136 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 3152 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 3168 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 3184 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 3200 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 3216 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 3232 + hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" + } + Frame { + msec: 3248 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 3264 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 3280 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 3296 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 3312 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 3328 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 3344 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 3360 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 3376 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 3392 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 3408 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 3424 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 3440 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 3456 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 3472 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 3488 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 3504 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 3520 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 3536 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 3552 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 3568 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 3584 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 3600 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 3616 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 3632 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 3648 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 3664 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 3680 + hash: "a85ee8be6a47bbd1b14137803ce606ec" + } + Frame { + msec: 3696 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 3712 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 3728 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 3744 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 3760 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 3776 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 3792 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 3808 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 3824 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 3840 + image: "animated.3.png" + } + Frame { + msec: 3856 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 3872 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 3888 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 3904 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 3920 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3936 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3952 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3968 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 3984 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4000 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4016 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4032 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4048 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4064 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4080 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4096 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 4128 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 4144 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 4160 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 4176 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 4192 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 4208 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 4224 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 4240 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 4256 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 4272 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 4288 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 4304 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 4320 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 4336 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 4352 + hash: "a85ee8be6a47bbd1b14137803ce606ec" + } + Frame { + msec: 4368 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 4384 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 4400 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 4416 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 4432 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 4448 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 4464 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 4480 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 4496 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 4512 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 4528 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 4544 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 4560 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 4576 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 4592 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 4608 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 4624 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 4640 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 4656 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 4672 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 4688 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 4704 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 4720 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 4736 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 4752 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 4768 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 4784 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 4800 + image: "animated.4.png" + } + Frame { + msec: 4816 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 4832 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 4848 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 4864 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 4880 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 4896 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 4912 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 4928 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 4944 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 4960 + hash: "280288a7988736e30a2a3e4289ac3b0c" + } + Frame { + msec: 4976 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 4992 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 5008 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 5024 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 5040 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 5056 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 5072 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 5088 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 5104 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 5120 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 5136 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 5152 + hash: "c3a1f12febc979150028737722d6d045" + } + Frame { + msec: 5168 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 5184 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 5200 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 5216 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 5232 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 5248 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 5264 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 5280 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 5296 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 5312 + hash: "94084ca4998fcda408f6987f52c34185" + } + Frame { + msec: 5328 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 5344 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 5360 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 5376 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 5392 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 5408 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 5424 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 5440 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 5456 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 5472 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 5488 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 5504 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 5520 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 5536 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 5552 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 5568 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 5584 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 5600 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 5616 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 5632 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 5648 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 5664 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 5680 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 5696 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 5712 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 5728 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 5744 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 5760 + image: "animated.5.png" + } + Frame { + msec: 5776 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 5792 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 5808 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 5824 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 5840 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 5856 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 5872 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 5888 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 5904 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 5920 + hash: "63ebaa4869728f5e2891d068e4b0091c" + } + Frame { + msec: 5936 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 5952 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 5968 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 5984 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 6000 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 6016 + hash: "911591db1519ba264847f09868e38e0e" + } + Frame { + msec: 6032 + hash: "ed5d80c33dbf72624385b1cf43784626" + } + Frame { + msec: 6048 + hash: "fdf3b7a0391119e2fe77be8d6a17481d" + } + Frame { + msec: 6064 + hash: "058c918e83bfdd665cd836566b53959b" + } + Frame { + msec: 6080 + hash: "8a9dd7a2d10771633e6896f3f4a722ae" + } + Frame { + msec: 6096 + hash: "29245946cbd811fe6bf6b2b41cc13002" + } + Frame { + msec: 6112 + hash: "63ebaa4869728f5e2891d068e4b0091c" + } + Frame { + msec: 6128 + hash: "d1ed4916cb1ecff60277d74369ff311b" + } + Frame { + msec: 6144 + hash: "36c054064c9a76f4072492e55c70fb6c" + } + Frame { + msec: 6160 + hash: "7aa0cbf73f7999be7cde4ec739efbc33" + } + Frame { + msec: 6176 + hash: "affab9fb48c889a2680eb81458d400f9" + } + Frame { + msec: 6192 + hash: "13ca95adab171d9fad9ee8b75d0226bc" + } + Frame { + msec: 6208 + hash: "4887cd34d9926a361f3ca2e75be53ea6" + } + Frame { + msec: 6224 + hash: "a67e9a0f55512fb1c55f13c6b483923b" + } + Frame { + msec: 6240 + hash: "6eae517ad33f0609c31ef1f8f80ba899" + } + Frame { + msec: 6256 + hash: "74c1e71378b502bc1b732a55806a10f1" + } + Frame { + msec: 6272 + hash: "a88d6fc324ef48aa52c642a1662ec679" + } + Frame { + msec: 6288 + hash: "8172e076b05d95248d89e815fde820ef" + } + Frame { + msec: 6304 + hash: "7b78cba247f2c209ed81e003ca25d0a5" + } + Frame { + msec: 6320 + hash: "f57727419bb51fb1e589b960ddeb20ae" + } + Frame { + msec: 6336 + hash: "3fb20f9dbd40b4729235e13af9643afc" + } + Frame { + msec: 6352 + hash: "b12faa76c07adc21634cd8f8cb8436ae" + } + Frame { + msec: 6368 + hash: "3b644aac161f0a75bfb64f5075373190" + } + Frame { + msec: 6384 + hash: "a790f0e884ab85f7802dd094e4ef550f" + } + Frame { + msec: 6400 + hash: "a6937ee49648ed0cb409063bf1da3b87" + } + Frame { + msec: 6416 + hash: "0b1a741975e3d9ef8f5e78f371c89441" + } + Frame { + msec: 6432 + hash: "1bf7a98884b506b38326f59f85a53f41" + } + Frame { + msec: 6448 + hash: "fb17df681d99d5de05f6329bba697ea5" + } + Frame { + msec: 6464 + hash: "acd9a2e76b22ab0ff809fd3ec3a018ec" + } + Frame { + msec: 6480 + hash: "73c5f23f51797a33f4d2898738e6356e" + } + Frame { + msec: 6496 + hash: "65c514c9e926affe1da0b4826d2754c7" + } + Frame { + msec: 6512 + hash: "5b027815ea3c1ea54e1a02c798c468db" + } + Frame { + msec: 6528 + hash: "e1e6c7a7f51bcccd749710dbbf9e97f6" + } + Frame { + msec: 6544 + hash: "11673a112566a64aca3c7010b9cc9c4d" + } + Frame { + msec: 6560 + hash: "826c7741ba0c51de407bb799e8f360b5" + } + Frame { + msec: 6576 + hash: "3b95eb8cbfc831e1ebee2e456b026ab4" + } + Frame { + msec: 6592 + hash: "95d776c84fe155617fc4ee51bdb45b7e" + } + Frame { + msec: 6608 + hash: "a1bd4e995365e79389dba80f9e3b7af8" + } + Frame { + msec: 6624 + hash: "44072400ca3f0237d1aebae28a94becc" + } + Frame { + msec: 6640 + hash: "99de44f74f8e1f79652ab46afb4bb59e" + } + Frame { + msec: 6656 + hash: "4f1eace868a6688e5b24ce48a1f0fd18" + } + Frame { + msec: 6672 + hash: "84c94704c16e246df1048f958cc8cefb" + } + Frame { + msec: 6688 + hash: "e880d93963c80e4fab5173554c9600fc" + } + Frame { + msec: 6704 + hash: "e91bb914c1eb63cd4269b30a220a128a" + } + Frame { + msec: 6720 + image: "animated.6.png" + } + Frame { + msec: 6736 + hash: "985868869ef2c332da379460a2f3a71b" + } + Frame { + msec: 6752 + hash: "587cb6e05048579088e88e0180e3ad48" + } + Frame { + msec: 6768 + hash: "97f7a2175dcf9ac2581a92d614d72f88" + } + Frame { + msec: 6784 + hash: "93128906d054e44bfd126fc22bdc3102" + } + Frame { + msec: 6800 + hash: "08f55088cdce741c67539f73291e53ab" + } + Frame { + msec: 6816 + hash: "30f84a7f67b13a945ba6d5935ea92da5" + } + Frame { + msec: 6832 + hash: "5359f5e45e5467c62c2d9521c8199c48" + } + Frame { + msec: 6848 + hash: "7c22fc3e30377cc14326833bdd23ddd8" + } + Frame { + msec: 6864 + hash: "80ebac4d923f67fb8dba3d133ce657ba" + } + Frame { + msec: 6880 + hash: "c3a1f12febc979150028737722d6d045" + } + Frame { + msec: 6896 + hash: "81d2fc6727dc7449d1a87b4abea9b704" + } + Frame { + msec: 6912 + hash: "68dae343cf324391ec6721cea14575f7" + } + Frame { + msec: 6928 + hash: "ec0aea8dc8c269d1f0aee5817347ac55" + } + Frame { + msec: 6944 + hash: "a4ddb4956d71fd642d54757938100cf3" + } + Frame { + msec: 6960 + hash: "956429472da133324c970774f77784f5" + } + Frame { + msec: 6976 + hash: "c763f56728e17fc119539a4d45dfccc3" + } + Frame { + msec: 6992 + hash: "ae48da4a66f93c806725ce749700aac8" + } + Frame { + msec: 7008 + hash: "bccb4b8a494bd45bd70c2524a02a9dc3" + } + Frame { + msec: 7024 + hash: "bc747167dfb3388ac63e9e68a86b9a03" + } + Frame { + msec: 7040 + hash: "86360bd58bba5fdd901c105ddb2e3ade" + } + Frame { + msec: 7056 + hash: "7383209c80b403b93da3264eadbc047f" + } + Frame { + msec: 7072 + hash: "280288a7988736e30a2a3e4289ac3b0c" + } + Frame { + msec: 7088 + hash: "ff0928dfd16b2da9811a172c19817a97" + } + Frame { + msec: 7104 + hash: "eac4600372f0fdfadee88896ac915a48" + } + Frame { + msec: 7120 + hash: "f04e84ad3579d6334077abe73101d206" + } + Frame { + msec: 7136 + hash: "8861bf848da5c96b35addff736b01520" + } + Frame { + msec: 7152 + hash: "1ac8c393f084aa1894c26610b7f40ea6" + } + Frame { + msec: 7168 + hash: "e8a61d3858244127cb2b2812f04f5ce9" + } + Frame { + msec: 7184 + hash: "93cf31eabb454ec536c638a506be0648" + } + Frame { + msec: 7200 + hash: "0cba07ca38c7f0483244832a42d9ac53" + } + Frame { + msec: 7216 + hash: "c7eb7837dce71c914186326216214eeb" + } + Frame { + msec: 7232 + hash: "593a8a45c3a0cd7ce1cb6bd1913136ba" + } + Frame { + msec: 7248 + hash: "1ea07ee309ce2c52cbc36370b75a872f" + } + Frame { + msec: 7264 + hash: "93d9f0a7c387cbe653a9a088f8f4ef2b" + } + Frame { + msec: 7280 + hash: "a6f17da2dd581bdc249ff62f833dc025" + } + Frame { + msec: 7296 + hash: "b74521d6ac531414aeeca0fb28379d11" + } + Frame { + msec: 7312 + hash: "6a521f952e05d91b86ad78fd6f5de4f9" + } + Frame { + msec: 7328 + hash: "4e60300cfab8634e04dcd1b556251d31" + } + Frame { + msec: 7344 + hash: "60f158382f75103c78e2b9b408e0fe65" + } + Frame { + msec: 7360 + hash: "153237f8cf37e29ad2f32f7a8a6aecdb" + } + Frame { + msec: 7376 + hash: "554e1d360463871e7c05cfe6f8abe1dd" + } + Frame { + msec: 7392 + hash: "e418b5f54705515dce5ce3b4cbc45d19" + } + Frame { + msec: 7408 + hash: "19d05a96f3ae7388e854bbf1075b51c1" + } + Frame { + msec: 7424 + hash: "4ae120bb6dc2bd5ff81cc99ae03c191e" + } + Frame { + msec: 7440 + hash: "18c2f321a149e38b258ac264d40c2376" + } + Frame { + msec: 7456 + hash: "a40014d842471784e1222eb205395f6f" + } + Frame { + msec: 7472 + hash: "f1a7a4a67a21f5025294af4bea3f8998" + } + Frame { + msec: 7488 + hash: "3152e5f29015ece423fbdd11a2b382b8" + } + Frame { + msec: 7504 + hash: "2a7bed775824968e318c3d40fbc5b1c2" + } + Frame { + msec: 7520 + hash: "dd4c9e63001bc6e0e63ea4db2d85301f" + } + Frame { + msec: 7536 + hash: "ac8f096e8c7cc23bfb01de69cf3e266e" + } + Frame { + msec: 7552 + hash: "6b48bfd0c7993f746d6301c2a0f61d23" + } + Frame { + msec: 7568 + hash: "06d8d8a1a41893d4e27725948a75caf4" + } + Frame { + msec: 7584 + hash: "3f62f032239d412d3637198f5e3e83d6" + } + Frame { + msec: 7600 + hash: "01947e631c3db43f7c5b4427229bc0c8" + } + Frame { + msec: 7616 + hash: "2266df495ab5265e7514a506d3bf5bc6" + } + Frame { + msec: 7632 + hash: "8c66a33d26eec2a1133f4362710a5fab" + } + Frame { + msec: 7648 + hash: "75c9bf83ca3fe24612c245698c089430" + } + Frame { + msec: 7664 + hash: "c1936628aec13e08e9581dcd2c6d5717" + } + Frame { + msec: 7680 + image: "animated.7.png" + } + Frame { + msec: 7696 + hash: "8419f1d75b14130730bcfec4e3a9b058" + } + Frame { + msec: 7712 + hash: "482bb92d4f0ad5d7c7e379b9e1ad326e" + } + Frame { + msec: 7728 + hash: "406224b535b4425d2708df0083acdc8e" + } + Frame { + msec: 7744 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 7760 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Frame { + msec: 7776 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 7792 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 7808 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 7824 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 7840 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 7856 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 7872 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 7888 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 7904 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 7920 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7936 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7952 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7968 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 7984 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8000 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8016 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8032 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8048 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8064 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8080 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8096 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8112 + hash: "aec13bcab337e55832b0a02fb5c6b526" + } + Frame { + msec: 8128 + hash: "4c60d345821f515c7811f3b69eb94607" + } + Frame { + msec: 8144 + hash: "aacf9ae3c23d174a1c1cda493600e355" + } + Frame { + msec: 8160 + hash: "228d5312c261d1a5455faf69ec2f2520" + } + Frame { + msec: 8176 + hash: "465ec993948f7b75aeb5759976f4620d" + } + Frame { + msec: 8192 + hash: "755cfccc38bababc468fe6e1076804bb" + } + Frame { + msec: 8208 + hash: "b63e4d1686057828fd8781f1c33585f5" + } + Frame { + msec: 8224 + hash: "c5b3dede34b0d1d78135e39c41d117c6" + } + Frame { + msec: 8240 + hash: "4d45d70f997c2c67166905c97a900d2e" + } + Frame { + msec: 8256 + hash: "7b4d12e5a877507e7454aa1b8ed87c2d" + } + Frame { + msec: 8272 + hash: "08b9be66e23c7b6f6f629c7470394601" + } + Key { + type: 6 + key: 16777249 + modifiers: 67108864 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 8288 + hash: "3dac1d9632378bd18c1c938a4868e3fb" + } + Frame { + msec: 8304 + hash: "406224b535b4425d2708df0083acdc8e" + } +} diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.0.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.0.png Binary files differnew file mode 100644 index 0000000..80cbd26 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.0.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.1.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.1.png Binary files differnew file mode 100644 index 0000000..80cbd26 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.1.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.2.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.2.png Binary files differnew file mode 100644 index 0000000..80cbd26 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.2.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.3.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.3.png Binary files differnew file mode 100644 index 0000000..80cbd26 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.3.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.4.png b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.4.png Binary files differnew file mode 100644 index 0000000..80cbd26 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.4.png diff --git a/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.qml b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.qml new file mode 100644 index 0000000..16cd5e9 --- /dev/null +++ b/tests/auto/declarative/visual/qmlgraphicsborderimage/data/borders.qml @@ -0,0 +1,1359 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 32 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 48 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 64 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 80 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 96 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 112 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 128 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 144 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 160 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 176 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 192 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 208 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 224 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 240 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 256 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 272 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 288 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 304 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 320 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 336 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 352 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 368 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 384 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 400 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 416 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 432 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 448 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 464 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 480 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 496 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 512 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 528 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 544 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 560 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 576 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 592 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 608 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 624 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 640 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 656 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 672 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 688 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 704 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 720 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 736 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 752 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 768 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 784 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 800 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 816 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 832 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 848 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 864 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 880 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 896 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 912 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 928 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 944 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 960 + image: "borders.0.png" + } + Frame { + msec: 976 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 992 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1008 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1024 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1040 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1056 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1072 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1088 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1104 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1120 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1136 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1152 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1168 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1184 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1200 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1216 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1232 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1248 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1264 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1280 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1296 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1312 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1328 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1344 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1360 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1376 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1392 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1408 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1424 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1440 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1456 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1472 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1488 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1504 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1520 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1536 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1552 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1568 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1584 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1600 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1616 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1632 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1648 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1664 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1680 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1696 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1712 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1728 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1744 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1760 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1776 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1792 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1808 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1824 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1840 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1856 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1872 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1888 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1904 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1920 + image: "borders.1.png" + } + Frame { + msec: 1936 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1952 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1968 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 1984 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2000 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2016 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2032 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2048 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2064 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2080 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2096 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2112 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2128 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2144 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2160 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2176 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2192 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2208 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2224 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2240 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2256 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2272 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2288 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2304 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2320 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2336 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2352 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2368 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2384 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2400 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2416 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2432 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2448 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2464 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2480 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2496 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2512 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2528 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2544 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2560 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2576 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2592 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2608 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2624 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2640 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2656 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2672 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2688 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2704 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2720 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2736 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2752 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2768 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2784 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2800 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2816 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2832 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2848 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2864 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2880 + image: "borders.2.png" + } + Frame { + msec: 2896 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2912 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2928 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2944 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2960 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2976 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 2992 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3008 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3024 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3040 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3056 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3072 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3088 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3104 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3120 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3136 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3152 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3168 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3184 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3200 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3216 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3232 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3248 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3264 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3280 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3296 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3312 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3328 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3344 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3360 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3376 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3392 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3408 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3424 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3440 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3456 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3472 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3488 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3504 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3520 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3536 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3552 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3568 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3584 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3600 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3616 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3632 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3648 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3664 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3680 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3696 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3712 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3728 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3744 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3760 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3776 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3792 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3808 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3824 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3840 + image: "borders.3.png" + } + Frame { + msec: 3856 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3872 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3888 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3904 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3920 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3936 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3952 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3968 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 3984 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4000 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4016 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4032 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4048 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4064 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4080 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4096 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4112 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4128 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4144 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4160 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4176 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4192 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4208 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4224 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4240 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4256 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4272 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4288 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4304 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4320 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4336 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4352 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4368 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4384 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4400 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4416 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4432 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4448 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4464 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4480 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4496 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4512 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4528 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4544 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4560 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4576 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4592 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4608 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4624 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4640 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4656 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4672 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4688 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4704 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4720 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4736 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4752 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4768 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4784 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4800 + image: "borders.4.png" + } + Frame { + msec: 4816 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4832 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4848 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4864 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4880 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4896 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4912 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4928 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4944 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4960 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4976 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 4992 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5008 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5024 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5040 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5056 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5072 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5088 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5104 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5120 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5136 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5152 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5168 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5184 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5200 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5216 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5232 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5248 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5264 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5280 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5296 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5312 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5328 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5344 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5360 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5376 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5392 + hash: "ab9753116e289c932064144bb0845857" + } + Frame { + msec: 5408 + hash: "ab9753116e289c932064144bb0845857" + } +} diff --git a/tests/auto/declarative/visual/rect/data-MAC/rect-painting.0.png b/tests/auto/declarative/visual/rect/data-MAC/rect-painting.0.png Binary files differnew file mode 100644 index 0000000..0b45874 --- /dev/null +++ b/tests/auto/declarative/visual/rect/data-MAC/rect-painting.0.png diff --git a/tests/auto/declarative/visual/rect/data-MAC/rect-painting.qml b/tests/auto/declarative/visual/rect/data-MAC/rect-painting.qml new file mode 100644 index 0000000..438096e --- /dev/null +++ b/tests/auto/declarative/visual/rect/data-MAC/rect-painting.qml @@ -0,0 +1,355 @@ +import Qt.VisualTest 4.6 + +VisualTest { + Frame { + msec: 0 + } + Frame { + msec: 16 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 32 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 48 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 64 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 80 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 96 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 112 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 128 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 144 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 160 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 176 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 192 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 208 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 224 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 240 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 256 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 272 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 288 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 304 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 320 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 336 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 352 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 368 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 384 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 400 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 416 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 432 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 448 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 464 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 480 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 496 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 512 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 528 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 544 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 560 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 576 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 592 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 608 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 624 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 640 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 656 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 672 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 688 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 704 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 720 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 736 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 752 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 768 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 784 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 800 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 816 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 832 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 848 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 864 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 880 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 896 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 912 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 928 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 944 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 960 + image: "rect-painting.0.png" + } + Frame { + msec: 976 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 992 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1008 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1024 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1040 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1056 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1072 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1088 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1104 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1120 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1136 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1152 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1168 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1184 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1200 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1216 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1232 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1248 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1264 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1280 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1296 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1312 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Key { + type: 6 + key: 16777249 + modifiers: 0 + text: "" + autorep: false + count: 1 + } + Frame { + msec: 1328 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1344 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } + Frame { + msec: 1360 + hash: "f38360b51d832ed7f70614dfe1964ec8" + } +} diff --git a/tools/qmlviewer/qfxtester.cpp b/tools/qmlviewer/qfxtester.cpp index dfa628d..802a927 100644 --- a/tools/qmlviewer/qfxtester.cpp +++ b/tools/qmlviewer/qfxtester.cpp @@ -52,10 +52,10 @@ QT_BEGIN_NAMESPACE -QML_DEFINE_TYPE(Qt.VisualTest, 4, 6, (QT_VERSION&0x00ff00)>>8, VisualTest, QmlGraphicsVisualTest); -QML_DEFINE_TYPE(Qt.VisualTest, 4, 6, (QT_VERSION&0x00ff00)>>8, Frame, QmlGraphicsVisualTestFrame); -QML_DEFINE_TYPE(Qt.VisualTest, 4, 6, (QT_VERSION&0x00ff00)>>8, Mouse, QmlGraphicsVisualTestMouse); -QML_DEFINE_TYPE(Qt.VisualTest, 4, 6, (QT_VERSION&0x00ff00)>>8, Key, QmlGraphicsVisualTestKey); +QML_DEFINE_TYPE(Qt.VisualTest, 4,6, VisualTest, QmlGraphicsVisualTest); +QML_DEFINE_TYPE(Qt.VisualTest, 4,6, Frame, QmlGraphicsVisualTestFrame); +QML_DEFINE_TYPE(Qt.VisualTest, 4,6, Mouse, QmlGraphicsVisualTestMouse); +QML_DEFINE_TYPE(Qt.VisualTest, 4,6, Key, QmlGraphicsVisualTestKey); QmlGraphicsTester::QmlGraphicsTester(const QString &script, QmlViewer::ScriptOptions opts, QmlView *parent) |